Files
charts/bitnami/etcd/values.yaml
Juan Ariza Toledano 5741a6ded4 [bitnami/etcd] Major version: refactoring (#5682)
* [bitnami/etcd] Major version: refactoring

Signed-off-by: juan131 <juanariza@vmware.com>

* Remove trailing spaces

Signed-off-by: juan131 <juanariza@vmware.com>

* Address suggestions from code review

Signed-off-by: juan131 <juanariza@vmware.com>

* [bitnami/etcd] Move logic to container

Signed-off-by: juan131 <juanariza@vmware.com>

* Do include default hooks in the values.yaml

Signed-off-by: juan131 <juanariza@vmware.com>

* Better approach for hooks

Signed-off-by: juan131 <juanariza@vmware.com>

* Simplify endpoints management

Signed-off-by: juan131 <juanariza@vmware.com>

* Use latest etcd image

Signed-off-by: juan131 <juanariza@vmware.com>

* [bitnami/etcd] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Bitnami Containers <containers@bitnami.com>
2021-03-12 13:14:10 +01:00

612 lines
17 KiB
YAML

## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
# global:
# imageRegistry: myRegistryName
# imagePullSecrets:
# - myRegistryKeySecretName
# storageClass: myStorageClass
## Bitnami etcd image version
## ref: https://hub.docker.com/r/bitnami/etcd/tags/
##
image:
registry: docker.io
repository: bitnami/etcd
tag: 3.4.15-debian-10-r9
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## e.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Set to true if you would like to see extra information on logs
##
debug: false
## String to partially override common.names.fullname template (will maintain the release name)
##
# nameOverride:
## String to fully override common.names.fullname template
##
# fullnameOverride:
## Add labels to all the deployed resources
##
commonLabels: {}
## Add annotations to all the deployed resources
##
commonAnnotations: {}
## Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## Kubernetes Cluster Domain
##
clusterDomain: cluster.local
## Extra objects to deploy (value evaluated as a template)
##
extraDeploy: []
## Authentication parameters
##
auth:
## Role-based access control parameters
## ref: https://etcd.io/docs/current/op-guide/authentication/
##
rbac:
enabled: true
## Allow to use etcd without configuring RBAC authentication
##
allowNoneAuthentication: true
## root user password. The root user is always `root`
##
rootPassword: ""
## Name of the existing secret containing credentials for the root user
##
existingSecret: ""
## TLS authentication for client-to-server communications
## ref: https://etcd.io/docs/current/op-guide/security/
##
client:
## Switch to encrypt client-to-server communications using TLS
##
secureTransport: false
## Switch to automatically create the TLS certificates
##
useAutoTLS: false
## Name of the existing secret containing the TLS certificates for client-to-server communications
##
existingSecret: ""
## Switch to enable host authentication using TLS certificates. Requires existing secret
##
enableAuthentication: false
## Name of the file containing the client certificate
##
certFilename: cert.pem
## Name of the file containing the client certificate private key
##
certKeyFilename: key.pem
## Name of the file containing the client CA certificate
## If not specified and `auth.client.enableAuthentication=true` or `auth.rbac.enabled=true`, the default is is `ca.crt`
##
caFilename: ""
## TLS authentication for server-to-server communications
## ref: https://etcd.io/docs/current/op-guide/security/
##
peer:
## Switch to encrypt server-to-server communications using TLS
##
secureTransport: false
## Switch to automatically create the TLS certificates
##
useAutoTLS: false
## Name of the existing secret containing the TLS certificates for server-to-server communications
##
existingSecret: ""
## Switch to enable host authentication using TLS certificates. Requires existing secret
##
enableAuthentication: false
## Name of the file containing the peer certificate
##
certFilename: cert.pem
## Name of the file containing the peer certificate private key
##
certKeyFilename: key.pem
## Name of the file containing the peer CA certificate
## If not specified and `auth.peer.enableAuthentication=true` or `rbac.enabled=true`, the default is is `ca.crt`
##
caFilename: ""
## Initial cluster state. Allowed values: 'new' or 'existing'
## If this values is not set, the default values below are set:
## - 'new': when installing the chart ('helm install ...')
## - 'existing': when upgrading the chart ('helm upgrade ...')
##
initialClusterState: ""
## Limits the number of operating system threads that can execute user-level
## Go code simultaneously by setting GOMAXPROCS environment variable
## ref: https://golang.org/pkg/runtime
##
# maxProcs:
## Use a PreStop hook to remove the etcd members from the etcd cluster
## they the containers are terminated
## NOTE: Ignored if lifecycleHooks is set or replicaCount=1
##
removeMemberOnContainerTermination: true
## etcd configuration
## Specify content for etcd.conf.yml
## e.g:
## configuration: |-
## foo: bar
## baz:
##
# configuration:
## Existing ConfigMap with etcd configuration
## NOTE: When it's set the configuration parameter is ignored
##
# existingConfigmap:
## An array to add extra env vars
## e.g:
## extraEnvVars:
## - name: FOO
## value: "bar"
##
extraEnvVars: []
## ConfigMap with extra environment variables
##
extraEnvVarsCM: ""
## Secret with extra environment variables
##
extraEnvVarsSecret: ""
## Command and args for running the container (set to default if not set). Use array form
##
command: []
args: []
## Number of replicas
##
replicaCount: 1
## Update strategy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy:
## Update strategy type, can be set to RollingUpdate or OnDelete.
##
type: RollingUpdate
## Pod management policy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
##
podManagementPolicy: Parallel
## etcd pod host aliases
## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## Override default etcd container hooks
##
lifecycleHooks: {}
## etcd container ports to open
##
containerPorts:
client: 2379
peer: 2380
## etcd containers' SecurityContext
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
##
podSecurityContext:
enabled: true
fsGroup: 1001
## etcd pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
##
containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## etcd containers' resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## e.g:
## limits:
## cpu: 500m
## memory: 1Gi
##
limits: {}
requests: {}
## Configure extra options for liveness, readiness and startup probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
##
livenessProbe:
enabled: true
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
readinessProbe:
enabled: true
initialDelaySeconds: 60
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
startupProbe:
enabled: false
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 60
## Custom Liveness probes for etcd
##
customLivenessProbe: {}
## Custom Readiness probes for etcd
##
customReadinessProbe: {}
## Custom Startup probe for etcd
##
customStartupProbe: {}
## Extra volumes to add to the etcd statefulset
##
extraVolumes: []
## Extra volume mounts to add to etcd containers
##
extraVolumeMounts: []
## Add init containers to the etcd pods.
## e.g:
## initContainers:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
initContainers: {}
## Add sidecars to the etcd pods.
## e.g:
## sidecars:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
sidecars: {}
## Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## Pod labels
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## Pod affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAffinityPreset: ""
## Pod anti-affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## Allowed values: soft, hard
##
nodeAffinityPreset:
## Node affinity type
## Allowed values: soft, hard
##
type: ""
## Node label key to match
## e.g:
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## Node label values to match
## e.g:
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## Name of the priority class to be used by etcd pods, priority class needs to be created beforehand
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
priorityClassName: ""
## etcd Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
##
pdb:
create: false
## Min number of pods that must still be available after the eviction
##
minAvailable: 1
## Max number of pods that can be unavailable after the eviction
##
# maxUnavailable: 1
## Service parameters
##
service:
## K8s service type
##
type: ClusterIP
## etcd client port
##
port: 2379
## etcd client port name override
##
clientPortNameOverride: ""
## etcd peer port
##
peerPort: 2380
## etcd peer port name override
##
peerPortNameOverride: ""
## Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
nodePorts:
clientPort: ""
peerPort: ""
## loadBalancerIP for the etcd service (optional, cloud specific)
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
##
loadBalancerIP: ""
## Load Balancer sources
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
## e.g:
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## External IPs
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
##
externalIPs: []
## Provide any additional annotations which may be required (evaluated as a template)
##
annotations: {}
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
## If true, use a Persistent Volume Claim. If false, use emptyDir.
##
enabled: true
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
## Persistent Volume Claim annotations (evaluated as a template)
##
annotations: {}
## Persistent Volume Access Modes
##
accessModes:
- ReadWriteOnce
## Persistent Volume size
##
size: 8Gi
## Provide any additional label selector to further filter the set of volumes (evaluated as a template)
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
##
selector: {}
## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
enabled: false
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: "10"
pullPolicy: Always
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## e.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Init container' resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## e.g:
## limits:
## cpu: 500m
## memory: 1Gi
##
limits: {}
requests: {}
## etcd metrics configuration
##
metrics:
enabled: false
## Annotations for the Prometheus metrics on etcd pods
##
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "2379"
## Prometheus Service Monitor
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
##
podMonitor:
## If the Prometheus Operator is installed in your cluster, set to true to create a PodMonitor entry
##
enabled: false
## Namespace in which Prometheus is running
##
# namespace: monitoring
## Specify the interval at which metrics should be scraped
##
interval: 30s
## Specify the timeout after which the scrape is ended
##
# scrapeTimeout: 30s
## Used to pass Labels that are used by the Prometheus installed in your cluster to select PodMonitors to work with
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
##
additionalLabels: {}
## Scheme to use for scraping.
##
scheme: http
## TLS configuration for the endpoints to be scraped.
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#tlsconfig
## e.g:
## tlsConfig:
## ca:
## secret:
## name: existingSecretName
##
tlsConfig: {}
## Start a new etcd cluster recovering the data from an existing snapshot
## before bootstrapping
##
startFromSnapshot:
enabled: false
## Existing PVC containing the etcd snapshot
##
existingClaim: ""
## Snapshot filename
##
snapshotFilename: ""
## Enable auto disaster recovery by periodically snapshotting the keyspace:
## - It creates a cronjob to periodically snapshotting the keyspace
## - It also creates a ReadWriteMany PVC to store the snapshots
## If the cluster permanently loses more than (N-1)/2 members, it tries to
## recover itself from the last available snapshot.
##
disasterRecovery:
enabled: false
cronjob:
## Schedule in Cron format to save snapshots
## See https://en.wikipedia.org/wiki/Cron
##
schedule: "*/30 * * * *"
## Number of successful finished jobs to retain
##
historyLimit: 1
## Number of etcd snapshots to retain, tagged with date
##
snapshotHistoryLimit: 1
## Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## Configure resource requests and limits for snapshotter containers
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## e.g:
## limits:
## cpu: 500m
## memory: 1Gi
##
limits: {}
requests: {}
pvc:
## A manually managed Persistent Volume and Claim
## If defined, PVC must be created manually before volume will be bound
## The value is evaluated as a template, so, for example, the name can depend on .Release or .Chart
##
# existingClaim:
## PVC Storage Request
##
size: 2Gi
## storageClassName, choose a storageClassName with ReadWriteMany support
##
storageClassName: nfs