diff --git a/charts/etcd/Chart.yaml b/charts/etcd/Chart.yaml index 138b31e175f0e90180106373759012c727fcf5bb..0e86a3123965db5a5590cff65b959673b90a8495 100644 --- a/charts/etcd/Chart.yaml +++ b/charts/etcd/Chart.yaml @@ -6,7 +6,14 @@ type: application maintainers: - name: groundhog2k + url: https://github.com/groundhog2k/helm-charts -version: "0.1.11" +keywords: + - database + - etcd + +icon: https://etcd.io/etcd-horizontal-white.png + +version: "1.0.0" appVersion: "v3.5.13" diff --git a/charts/etcd/README.md b/charts/etcd/README.md index 523eceb7c576df971d76c64a60570828d5c7f09e..038f131b675d49c8fbf5001c6f8ef578dcaf59db 100644 --- a/charts/etcd/README.md +++ b/charts/etcd/README.md @@ -1,6 +1,6 @@ # Etcd -   +   ## Changelog @@ -144,6 +144,10 @@ The policyTypes will be automatically set | storage.className | string | `nil` | Storage class name | | storage.annotations | object | `{}` | Additional storage annotations | | storage.labels | object | `{}` | Additional storage labels | +| extraStorage | list | `[]` | A list of additional existing PVC that will be mounted into the container | +| extraStorage[].name | string | `nil` | Internal name of the volume | +| extraStorage[].pvcName | string | `nil` | Name of the existing PVC | +| extraStorage[].mountPath | string | `nil` | Mount path where the PVC should be mounted into the container | ## Etcd settings @@ -154,11 +158,16 @@ The policyTypes will be automatically set | settings.https.autoTls | bool | `false` | Automatic TLS mode of etcd (TLS certs. created automaically) | | settings.shutdownDelay | int | `3` | Delay after termination request to give etcd process time for graceful shutdown | -## Etcd secrets configuration +## Etcd secrets and configuration | Key | Type | Default | Description | |-----|------|---------|-------------| | extraSecrets | list | `[]` | A list of additional existing secrets that will be mounted into the container | | extraSecrets[].name | string | `nil` | Name of the existing K8s secret | +| extraSecrets[].defaultMode | int | `0440` | Mount default access mode | | extraSecrets[].mountPath | string | `nil` | Mount path where the secret should be mounted into the container (f.e. /mysecretfolder) | +| extraConfigs | list | `[]` | A list of additional existing configMaps that will be mounted into the container | +| extraConfigs[].name | string | `nil` | Name of the existing K8s configMap | +| extraConfigs[].defaultMode | int | `0440` | Mount default access mode | +| extraConfigs[].mountPath | string | `nil` | Mount path where the configMap should be mounted into the container (f.e. /myconfigfolder) | | extraEnvSecrets | list | `[]` | A list of existing secrets that will be mounted into the container as environment variables | diff --git a/charts/etcd/RELEASENOTES.md b/charts/etcd/RELEASENOTES.md index 281dce70b9cf3454d5cb2772968f3c008279bce6..f9486439d1b176273a10c4d3c0d886d3db5fdf18 100644 --- a/charts/etcd/RELEASENOTES.md +++ b/charts/etcd/RELEASENOTES.md @@ -14,4 +14,5 @@ | 0.1.9 | v3.5.12 | Upgraded etcd to v3.5.12 | | 0.1.10 | v3.5.13 | Upgraded etcd to v3.5.13 | | 0.1.11 | v3.5.13 | Fixed build pipeline issue | +| 1.0.0 | v3.5.13 | Final version with configuration secret, extra config and extra volume support | | | | | diff --git a/charts/etcd/templates/statefulset.yaml b/charts/etcd/templates/statefulset.yaml index 1fb1f9cb91bc2208d76de6d1cd00e513209bd14c..daeaf977330507678f9034a2fafe295650e90472 100644 --- a/charts/etcd/templates/statefulset.yaml +++ b/charts/etcd/templates/statefulset.yaml @@ -188,6 +188,14 @@ spec: - name: {{ $secret.name }} mountPath: {{ $secret.mountPath }} {{- end }} + {{- range $config := .Values.extraConfigs }} + - name: {{ $config.name }} + mountPath: {{ $config.mountPath }} + {{- end }} + {{- range $storage := .Values.extraStorage }} + - name: {{ $storage.name }} + mountPath: {{ $storage.mountPath }} + {{- end }} {{- with .Values.extraContainers }} {{- toYaml . | nindent 8 }} {{- end }} @@ -214,7 +222,18 @@ spec: - name: {{ $secret.name }} secret: secretName: {{ $secret.name }} - defaultMode: 0440 + defaultMode: {{ $secret.defaultMode | default 0440 }} + {{- end }} + {{- range $config := .Values.extraConfigs }} + - name: {{ $config.name }} + configMap: + name: {{ $config.name }} + defaultMode: {{ $config.defaultMode | default 0440 }} + {{- end }} + {{- range $storage := .Values.extraStorage }} + - name: {{ $storage.name }} + persistentVolumeClaim: + claimName: {{ $storage.pvcName }} {{- end }} {{- with .Values.storage }} {{- if not $createPvc }} @@ -249,4 +268,4 @@ spec: requests: storage: {{ .requestedSize }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/charts/etcd/values.yaml b/charts/etcd/values.yaml index d8a38749864bed9bc48e2f03781de61f6a83c512..94a18a09190eecb81bc890156eb516a5c868eb68 100644 --- a/charts/etcd/values.yaml +++ b/charts/etcd/values.yaml @@ -188,14 +188,25 @@ args: [] ## A list of existing secrets that will be mounted into the container as environment variables extraEnvSecrets: [] -## A list of additional existing secrets that will be mounted into the etcd container -## The mounted files of the secrets can be used for custom configuration options (see https.enabled) +## A list of additional existing secrets that will be mounted into the container +## The mounted files of the secrets can be used for advanced configuration (see settings.https.enabled) extraSecrets: [] ## Name of the existing K8s secret # - name: + ## Mount default mode (0440 if parameter is omitted) +# defaultMode: 0440 ## Mount path where the secret should be mounted into the container (f.e. /mysecretfolder) # mountPath: +## A list of additional existing configMaps that will be mounted into the container +extraConfigs: [] + ## Name of the existing K8s configMap +# - name: + ## Mount default mode (0440 if parameter is omitted) +# defaultMode: 0440 + ## Mount path where the configMap should be mounted into the container (f.e. /mysecretfolder) +# mountPath: + ## Default Kubernetes cluster domain clusterDomain: cluster.local @@ -239,6 +250,15 @@ storage: ## Additional storage labels labels: {} +## Mount existing extra PVC +extraStorage: {} + ## Internal volume name +# - name: + ## Container mount path +# mountPath: + ## Name of existing PVC +# pvcName: + ## Network policies networkPolicy: {} ## Ingress and Egress policies