This is an automated email from the ASF dual-hosted git repository.
eamonford pushed a commit to branch bug_fixes
in repository https://gitbox.apache.org/repos/asf/incubator-sdap-nexus.git
The following commit(s) were added to refs/heads/bug_fixes by this push:
new 42a352d Helm readme changes
42a352d is described below
commit 42a352dd3fbecd14bd3f14a0579ae4fdba7c05cd
Author: Eamon Ford <[email protected]>
AuthorDate: Wed Dec 2 16:26:08 2020 -0800
Helm readme changes
---
helm/README.md | 42 ++++++++++++++++++++++++++++++------------
helm/requirements.yaml | 2 +-
helm/templates/history-pvc.yml | 2 +-
helm/values.yaml | 26 +++++++++++++++-----------
4 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/helm/README.md b/helm/README.md
index 072d285..2777140 100644
--- a/helm/README.md
+++ b/helm/README.md
@@ -20,7 +20,8 @@ The helm chart deploys all the required components of the
NEXUS application (Spa
- [Option 2: No ingress enabled](#option-2-no-ingress-enabled)
- [Uninstalling the Chart](#uninstalling-the-chart)
- [Configuration](#configuration)
- - [SDAP Parameters](#sdap-parameters)
+ - [SDAP Webapp (Analyis) Parameters](#sdap-webapp-analyis-parameters)
+ - [SDAP Ingestion Parameters](#sdap-ingestion-parameters)
- [Cassandra Parameters](#cassandra-parameters)
- [Solr/Zookeeper Parameters](#solrzookeeper-parameters)
- [RabbitMQ Parameters](#rabbitmq-parameters)
@@ -121,10 +122,10 @@ $ helm install nexus incubator-sdap-nexus/helm
--namespace=sdap --dependency-upd
The following table lists the configurable parameters of the NEXUS chart and
their default values. You can also look at `helm/values.yaml` to see the
available options.
> **Note**: The default configuration values are tuned to run NEXUS in a local
> environment. Setting `ingressEnabled=true` in addition will create a load
> balancer and expose NEXUS at `localhost`.
-## SDAP Parameters
+## SDAP Webapp (Analyis) Parameters
| Parameter | Description |
Default |
|---------------------------------------|------------------------------------|---------------------------------------------|
-| `storageClass` | Storage class to use for Cassandra,
Solr, and Zookeeper. (Note that `hostpath` should only be used in local
deployments.) |`hostpath`|
+| `onEarthProxyIP` | IP or hostname to proxy `/onearth`
to (leave blank to disable the proxy)| `""` |
| `rootWebpage.enabled` | Whether to deploy the root webpage
(just returns HTTP 200) | `true` |
| `webapp.enabled` | Whether to deploy the webapp |
`true` |
| `webapp.distributed.image` | Docker image and tag for the webapp|
`nexusjpl/nexus-webapp:distributed.0.2.2` |
@@ -138,22 +139,30 @@ The following table lists the configurable parameters of
the NEXUS chart and the
| `webapp.distributed.executor.memory` | Memory on Spark workers |
`512m` |
| `webapp.distributed.executor.tolerations`| Tolerations for Spark workers |
`nil` |
| `webapp.distributed.executor.affinity`| Affinity (node or pod) for Spark
workers| `nil` |
-| `onEarthProxyIP` | IP or hostname to proxy `/onearth`
to (leave blank to disable the proxy)| `""` |
-| `ingestion.enabled` | Enable ingestion by deploying the
Config Operator, Collection Manager, Granule Ingestion, and RabbitMQ | `true` |
+
+
+## SDAP Ingestion Parameters
+| Parameter | Description |
Default |
+|---------------------------------------|------------------------------------|---------------------------------------------|
+| `ingestion.enabled` | Enable ingestion by deploying the
Config Operator, Collection Manager, Granule Ingestion| `true` |
| `ingestion.granuleIngester.replicas` | Number of Granule Ingester replicas
| `2` |
-| `ingestion.granuleIngester.image` | Docker image and tag for Granule
Ingester| `nexusjpl/granule-ingester:0.0.1` |
+| `ingestion.granuleIngester.image` | Docker image and tag for Granule
Ingester| `nexusjpl/granule-ingester:0.1.2` |
| `ingestion.granuleIngester.cpu` | CPUs (request and limit) for each
Granule Ingester replica| `1` |
| `ingestion.granuleIngester.memory` | Memory (request and limit) for each
Granule Ingester replica| `1Gi` |
-| `ingestion.collectionManager.image` | Docker image and tag for Collection
Manager| `nexusjpl/collection-manager:0.0.2` |
+| `ingestion.collectionManager.image` | Docker image and tag for Collection
Manager| `nexusjpl/collection-manager:0.1.2` |
| `ingestion.collectionManager.cpu` | CPUs (request and limit) for the
Collection Manager | `0.5` |
-| `ingestion.collectionManager.memory` | Memory (request and limit) for the
Collection Manager | `0.5Gi` |
+| `ingestion.collectionManager.memory` | Memory (request and limit) for the
Collection Manager | `1Gi` |
| `ingestion.configOperator.image` | Docker image and tag for Config
Operator | `nexusjpl/config-operator:0.0.1` |
| `ingestion.granules.nfsServer` | An optional URL to an NFS server
containing a directory where granule files are stored. If set, this NFS server
will be mounted in the Collection Manager and Granule Ingester pods.| `nil` |
-| `ingestion.granules.mountPath` | The path in the Collection Manager
and Granule Ingester pods where granule files will be mounted. *Important:* the
`path` property on all collections in the Collections Config file should match
this value. | `/data` |
+| `ingestion.granules.mountPath` | The path in the Collection Manager
and Granule Ingester pods where granule files will be mounted. *Important:* the
`path` property on all collections in the Collections Config file should match
this value.| `/data` |
| `ingestion.granules.path` | Directory on either the local
filesystem or an NFS mount where granule files are located. This directory will
be mounted onto the Collection Manager and Granule Ingester at
`ingestion.granules.mountPath`. | `/var/lib/sdap/granules` |
+| `ingestion.granules.s3.bucket` | An optional S3 bucket from which to
download granules for ingestion. If this is set, `ingestion.granules.nfsServer`
and `ingestion.granules.path` will be ignored.|`nil`|
+| `ingestion.granules.awsCredsEnvs` | Environment variables containing AWS
credentials. This should be populated if `ingestion.granules.s3.bucket` is set.
See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
for possible options.|`nil`|
+| `ingestion.collections.createCrd` | Whether to automatically create the
`GitBasedConfig` CRD (custom resource definition). This CRD is only needed if
loading the Collections Config from a Git repository is enabled (i.e., only if
`ingestion.collections.git.url` is set).
| `ingestion.collections.git.url` | URL to a Git repository containing a
[Collections
Config](https://github.com/apache/incubator-sdap-ingester/tree/dev/collection_manager#the-collections-configuration-file)
file. The file should be at the root of the repository. The repository URL
should be of the form `https://github.com/username/repo.git`. This property
must be configured if ingestion is enabled! | `nil`|
| `ingestion.collections.git.branch` | Branch to use when loading a
Collections Config file from a Git repository.| `master`|
-| `ingestion.history.url` | An optional URL to a Solr database
in which to store ingestion history. If this is not set, ingestion history will
be stored in a directory instead, with the storage class configured by
`storageClass` above.| `nil`|
+| `ingestion.history.solrEnabled` | Whether to store ingestion history
in Solr, instead of in a filesystem directory. If this is set to `true`,
`ingestion.history.storageClass` will be ignored. | `true`|
+| `ingestion.history.storageClass` | The storage class to use for
storing ingestion history files. This will only be used if
`ingestion.history.solrEnabled` is set to `false`. | `hostpath`|
## Cassandra Parameters
@@ -171,6 +180,10 @@ The following table lists the configurable parameters of
the NEXUS chart and the
| `cassandra.resources.requests.memory` | Memory to request per Cassandra
replica| `8Gi` |
| `cassandra.resources.limits.cpu` | CPU limit per Cassandra replica |
`1` |
| `cassandra.resources.limits.memory` | Memory limit per Cassandra replica |
`8Gi` |
+| `external.cassandraHost` | External Cassandra host to for if
`cassandra.enabled` is set to `false`. This should be set if connecting SDAP to
a Cassandra database that is not deployed by the SDAP Helm chart. | `nil`|
+| `external.cassandraUsername` | Optional Cassandra username, only
applies if `external.cassandraHost` is set.| `nil`|
+| `external.cassandraPassword` | Optional Cassandra password, only
applies if `external.cassandraHost` is set.| `nil`|
+
## Solr/Zookeeper Parameters
@@ -193,13 +206,17 @@ The following table lists the configurable parameters of
the NEXUS chart and the
| `solr.zookeeper.resources.requests.cpu`| CPUs to request per Zookeeper
replica| `0.5` |
| `solr.zookeeper.resources.limits.memory`| Memory limit per Zookeeper
replica| `1Gi` |
| `solr.zookeeper.resources.limits.cpu` | CPU limit per Zookeeper replica |
`0.5` |
+| `external.solrHostAndPort` | External Solr host for if
`solr.enabled` is set to `false`. This should be set if connecting SDAP to a
Solr database that is not deployed by the SDAP Helm chart. | `nil`|
+| `external.zookeeperHostAndPort` | External Zookeeper host for if
`solr.enabled` is set to `false`. This should be set if connecting SDAP to a
Solr database and Zookeeper that is not deployed by the SDAP Helm chart. |
`nil`|
## RabbitMQ Parameters
| Parameter | Description |
Default |
|---------------------------------------|------------------------------------|---------------------------------------------|
-| `rabbitmq.replicaCount` | Number of RabbitMQ replicas |
`2` |
+| `rabbitmq.enabled` | Whether to deploy RabbitMQ |
`true` |
+| `rabbitmq.persistence.storageClass` | Whether to deploy RabbitMQ |
`true` |
+| `rabbitmq.replicaCount` | Number of RabbitMQ replicas |
`1` |
| `rabbitmq.auth.username` | RabbitMQ username |
`guest` |
| `rabbitmq.auth.password` | RabbitMQ password |
`guest` |
| `rabbitmq.ingress.enabled` | Enable ingress resource for RabbitMQ
Management console | `true` |
@@ -208,13 +225,14 @@ The following table lists the configurable parameters of
the NEXUS chart and the
## Ingress Parameters
| Parameter | Description |
Default |
|---------------------------------------|------------------------------------|---------------------------------------------|
-| `ingressEnabled` | Enable nginx-ingress |
`false` |
+| `nginx-ingress.enabled` | Whether to deploy nginx ingress
controllers| `false` |
| `nginx-ingress.controller.scope.enabled`|Limit the scope of the ingress
controller to this namespace | `true` |
| `nginx-ingress.controller.kind` | Install ingress controller as
Deployment, DaemonSet or Both | `DaemonSet` |
| `nginx-ingress.controller.service.enabled`| Create a front-facing controller
service (this might be used for local or on-prem deployments) | `true` |
| `nginx-ingress.controller.service.type`|Type of controller service to
create| `LoadBalancer` |
| `nginx-ingress.defaultBackend.enabled`| Use default backend component
| `false` |
+
## Restricting Pods to Specific Nodes
Sometimes you may wish to restrict pods to run on specific nodes, for example
if you have "UAT" and "SIT" nodes within the same cluster. You can configure
diff --git a/helm/requirements.yaml b/helm/requirements.yaml
index fa85fc3..ffd1db1 100644
--- a/helm/requirements.yaml
+++ b/helm/requirements.yaml
@@ -2,7 +2,7 @@ dependencies:
- name: nginx-ingress
version: 1.28.2
repository: https://kubernetes-charts.storage.googleapis.com
- condition: ingressEnabled
+ condition: nginx-ingress.enabled
- name: rabbitmq
version: 8.0.1
repository: https://charts.bitnami.com/bitnami
diff --git a/helm/templates/history-pvc.yml b/helm/templates/history-pvc.yml
index ed18f76..254d9e9 100644
--- a/helm/templates/history-pvc.yml
+++ b/helm/templates/history-pvc.yml
@@ -10,5 +10,5 @@ spec:
resources:
requests:
storage: 1Gi
- storageClassName: {{ .Values.storageClass }}
+ storageClassName: {{ .Values.ingestion.history.storageClass }}
diff --git a/helm/values.yaml b/helm/values.yaml
index 78acf8e..be4b815 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -1,6 +1,4 @@
-## This is the StorageClass that will be used for Cassandra, Solr, Zookeeper,
-## and ingestion history (if ingestion history is not configured to use Solr)
-storageClass: hostpath
+onEarthProxyIP: ""
rootWebpage:
enabled: true
@@ -53,10 +51,6 @@ ingestion:
## How to mount the granule files to ingest
granules:
- ## Enable nfsServer if you want to mount the granules from an NFS server,
- ## otherwise they will be loaded from the local filesystem.
- ## mountPath and path should be set whether or not nfsServer is enabled.
- # nfsServer: nfs-server.com
## mountPath is the path in the Collection Manager and Granule Ingester
pods
## where the granule files will be mounted.
@@ -67,6 +61,11 @@ ingestion:
## path: /data/<some-directory>/<some-file-pattern>
mountPath: /data
+ ## Enable nfsServer if you want to mount the granules from an NFS server,
+ ## otherwise they will be loaded from the local filesystem.
+ ## mountPath and path should be set whether or not nfsServer is enabled.
+ nfsServer:
+
## path is the path on either local filesystem or NFS mount at which
## the granule files are stored.
path: /var/lib/sdap/granules
@@ -100,10 +99,16 @@ ingestion:
# token: someToken
## Where to store ingestion history
- ## Defaults to a using a history directory, stored on a PVC using the
storageClass defined in this file above
+ ## Defaults to Solr for ingestion history storage
history:
## Store ingestion history in a solr database instead of a filesystem
directory
- solrEnabled: true
+ solrEnabled: true
+
+ ## If using a history directory, stored on a PVC using the storageClass
defined in this file above
+ ## storage class to use for ingestion history file only if solrEnabled is
set to "false".
+ storageClass: hostpath
+
+
external:
solrHostAndPort:
@@ -141,14 +146,13 @@ solr:
memory: 1Gi
cpu: 0.5
-ingressEnabled: false
-onEarthProxyIP: ""
## Configuration values for the nginx-ingress dependency
## ref: https://github.com/helm/charts/tree/master/stable/nginx-ingress
nginx-ingress:
+ enabled: false
controller:
scope:
enabled: true