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

Reply via email to