diff --git a/charts/stash/README.md b/charts/stash/README.md index c6f6ea31c..31a98eb31 100644 --- a/charts/stash/README.md +++ b/charts/stash/README.md @@ -12,7 +12,7 @@ $ helm install stash-operator appscode/stash -n kube-system ## Introduction -This chart bootstraps a [Stash controller](https://github.com/stashed/stash) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. +This chart deploys a Stash operator on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. ## Prerequisites @@ -26,7 +26,7 @@ To install the chart with the release name `stash-operator`: $ helm install stash-operator appscode/stash -n kube-system ``` -The command deploys Stash operator on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. +The command deploys a Stash operator on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. > **Tip**: List all releases using `helm list` @@ -44,51 +44,63 @@ The command removes all the Kubernetes components associated with the chart and The following table lists the configurable parameters of the Stash chart and their default values. -| Parameter | Description | Default | -| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| `replicaCount` | Number of stash operator replicas to create (only 1 is supported) | `1` | -| `operator.registry` | Docker registry used to pull operator image | `appscode` | -| `operator.repository` | operator container image | `stash` | -| `operator.tag` | operator container image tag | `v0.9.0-rc.6` | -| `pushgateway.registry` | Docker registry used to pull Prometheus pushgateway image | `prom` | -| `pushgateway.repository` | Prometheus pushgateway container image | `pushgateway` | -| `pushgateway.tag` | Prometheus pushgateway container image tag | `v0.5.2` | -| `cleaner.registry` | Docker registry used to pull Webhook cleaner image | `appscode` | -| `cleaner.repository` | Webhook cleaner container image | `kubectl` | -| `cleaner.tag` | Webhook cleaner container image tag | `v1.11` | -| `imagePullSecrets` | Specify image pull secrets | `[]` | -| `imagePullPolicy` | container image pull policy | `IfNotPresent` | -| `criticalAddon` | If true, installs Stash operator as critical addon | `false` | -| `logLevel` | Log level for operator | `3` | -| `affinity` | Affinity rules for pod assignment | `{}` | -| `annotations` | Annotations applied to operator deployment | `{}` | -| `podAnnotations` | Annotations applied to operator pod(s) | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Tolerations used pod assignment | `[]` | -| `serviceAccount.create` | If `true`, create a new service account | `true` | -| `serviceAccount.name` | Service account to be used. If not set and `serviceAccount.create` is `true`, a name is generated using the fullname template | `` | -| `apiserver.groupPriorityMinimum` | The minimum priority the group should have. | 10000 | -| `apiserver.versionPriority` | The ordering of this API inside of the group. | 15 | -| `apiserver.enableValidatingWebhook` | Enable validating webhooks for Stash CRDs | true | -| `apiserver.enableMutatingWebhook` | Enable mutating webhooks for Kubernetes workloads | true | -| `apiserver.ca` | CA certificate used by main Kubernetes api server | `not-ca-cert` | -| `apiserver.bypassValidatingWebhookXray` | If true, bypasses validating webhook xray checks | `false` | -| `apiserver.useKubeapiserverFqdnForAks` | If true, uses kube-apiserver FQDN for AKS cluster to workaround https://github.com/Azure/AKS/issues/522 | `true` | -| `apiserver.healthcheck.enabled` | Enable readiness and liveliness probes | `false` | -| `apiserver.servingCerts.generate` | If true, generate on install/upgrade the certs that allow the kube-apiserver (and potentially ServiceMonitor) to authenticate Stash operator pods. Otherwise specify in `apiserver.servingCerts.{caCrt, serverCrt, serverKey}`. | `true` | -| `enableAnalytics` | Send usage events to Google Analytics | `true` | -| `monitoring.agent` | Specify which monitoring agent to use for monitoring Stash. It accepts either `prometheus.io/builtin` or `prometheus.io/operator`. | `none` | -| `monitoring.backup` | Specify whether to monitor Stash backup and recovery. | `false` | -| `monitoring.operator` | Specify whether to monitor Stash operator. | `false` | -| `monitoring.prometheus.namespace` | Specify the namespace where Prometheus server is running or will be deployed. | Release namespace | -| `monitoring.serviceMonitor.labels` | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | `app: ` and `release: ` | -| `additionalPodSecurityPolicies` | Additional psp names passed to operator | `[]` | -| `platform.openshift` | Name of platform (eg: Openshift, AKS, EKS, GKE, etc.) | `false` | +| Parameter | Description | Default | +|---------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------| +| nameOverride | | `""` | +| fullnameOverride | | `""` | +| replicaCount | Number of stash operator replicas to create (only 1 is supported) | `1` | +| operator.registry | Docker registry used to pull operator image | `appscode` | +| operator.repository | Name of operator container image | `stash` | +| operator.tag | Operator container image tag | `v0.9.0-rc.6` | +| operator.resources.requests.cpu | | `"100m"` | +| operator.securityContext | | `{}` | +| pushgateway.registry | Docker registry used to pull Prometheus pushgateway image | `prom` | +| pushgateway.repository | Prometheus pushgateway container image | `pushgateway` | +| pushgateway.tag | Prometheus pushgateway container image tag | `v0.5.2` | +| pushgateway.resources | | `{}` | +| pushgateway.securityContext | | `{}` | +| cleaner.registry | Docker registry used to pull Webhook cleaner image | `appscode` | +| cleaner.repository | Webhook cleaner container image | `kubectl` | +| cleaner.tag | Webhook cleaner container image tag | `v1.16` | +| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace. | `[]` | +| imagePullPolicy | Container image pull policy | `IfNotPresent` | +| criticalAddon | If true, installs Stash operator as critical addon | `false` | +| logLevel | Log level for operator | `3` | +| annotations | Annotations applied to operator deployment | `{}` | +| podAnnotations | Annotations passed to operator pod(s). | `{}` | +| nodeSelector | Node labels for pod assignment | `{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux"}` | +| tolerations | Tolerations for pod assignment | `[]` | +| affinity | Affinity rules for pod assignment | `{}` | +| podSecurityContext | Security options the operator pod should run with. | `{"fsGroup":65535}` | +| serviceAccount.create | Specifies whether a service account should be created | `true` | +| serviceAccount.annotations | Annotations to add to the service account | `{}` | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `` | +| apiserver.groupPriorityMinimum | The minimum priority the webhook api group should have at least. Please see https://github.com/kubernetes/kube-aggregator/blob/release-1.9/pkg/apis/apiregistration/v1beta1/types.go#L58-L64 for more information on proper values of this field. | `10000` | +| apiserver.versionPriority | The ordering of the webhook api inside of the group. Please see https://github.com/kubernetes/kube-aggregator/blob/release-1.9/pkg/apis/apiregistration/v1beta1/types.go#L66-L70 for more information on proper values of this field | `15` | +| apiserver.enableMutatingWebhook | If true, mutating webhook is configured for Kubernetes workloads | `true` | +| apiserver.enableValidatingWebhook | If true, validating webhook is configured for Stash CRDss | `true` | +| apiserver.ca | CA certificate used by the Kubernetes api server. This field is automatically assigned by the operator. | `not-ca-cert` | +| apiserver.bypassValidatingWebhookXray | If true, bypasses checks that validating webhook is actually enabled in the Kubernetes cluster. | `false` | +| apiserver.useKubeapiserverFqdnForAks | If true, uses kube-apiserver FQDN for AKS cluster to workaround https://github.com/Azure/AKS/issues/522 (default true) | `true` | +| apiserver.healthcheck.enabled | If true, enables the readiness and liveliness probes for the operator pod. | `false` | +| apiserver.servingCerts.generate | If true, generates on install/upgrade the certs that allow the kube-apiserver (and potentially ServiceMonitor) to authenticate operators pods. Otherwise specify certs in `apiserver.servingCerts.{caCrt, serverCrt, serverKey}`. | `true` | +| apiserver.servingCerts.caCrt | CA certficate used by serving certificate of webhook server. | `""` | +| apiserver.servingCerts.serverCrt | Serving certficate used by webhook server. | `""` | +| apiserver.servingCerts.serverKey | Private key for the serving certificate used by webhook server. | `""` | +| enableAnalytics | If true, sends usage analytics | `true` | +| monitoring.agent | Name of monitoring agent (either "prometheus.io/operator" or "prometheus.io/builtin") | `"none"` | +| monitoring.backup | Specify whether to monitor Stash backup and recovery | `false` | +| monitoring.operator | Specify whether to monitor Stash operator | `false` | +| monitoring.prometheus.namespace | Specify the namespace where Prometheus server is running or will be deployed. | `""` | +| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | `{}` | +| additionalPodSecurityPolicies | Additional psp names passed to operator | `[]` | +| platform.openshift | Set true, if installed in OpenShift | `false` | + Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example: ```console -$ helm install stash-operator appscode/stash -n kube-system --set image.tag=v0.2.1 +$ helm install stash-operator appscode/stash -n kube-system --set replicaCount=1 ``` Alternatively, a YAML file that specifies the values for the parameters can be provided while diff --git a/charts/stash/values.yaml b/charts/stash/values.yaml index bb3d2b98c..3fe38b44d 100644 --- a/charts/stash/values.yaml +++ b/charts/stash/values.yaml @@ -56,13 +56,14 @@ cleaner: # # Example: # helm template charts/stash \ -# --set imagePullSecrets[0].name=abc,imagePullSecrets[1].name=xyz +# --set imagePullSecrets[0].name=sec0 \ +# --set imagePullSecrets[1].name=sec1 imagePullSecrets: [] # Container image pull policy imagePullPolicy: IfNotPresent -## If true, installs Stash operator as critical addon +# If true, installs Stash operator as critical addon criticalAddon: false # Log level for operator diff --git a/hack/chartdoc/stash.json b/hack/chartdoc/stash.json new file mode 100644 index 000000000..f4502d822 --- /dev/null +++ b/hack/chartdoc/stash.json @@ -0,0 +1,23 @@ +{ + "project": { + "name": "Stash by AppsCode", + "shortName": "Stash", + "url": "https://github.com/stashed/stash", + "description": "Backup your Kubernetes Volumes", + "app": "a Stash operator" + }, + "repository": { + "url": "https://charts.appscode.com/stable/", + "name": "appscode" + }, + "chart": { + "name": "stash", + "values": "-- generate from values file", + "valuesExample": "-- generate from values file" + }, + "prerequisites": ["Kubernetes 1.11+"], + "release": { + "name": "stash-operator", + "namespace": "kube-system" + } +}