From d8737e0200bc012ad5aed516fbe626c3dc309d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20M=C3=BCnch?= Date: Mon, 6 Feb 2023 21:44:13 +0100 Subject: [PATCH] Changes for brctl 0.19 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Malte Münch --- charts/etcd/Chart.yaml | 2 +- .../templates/configmap-etcd-bootstrap.yaml | 3 + charts/etcd/templates/secret-etcd-backup.yaml | 17 ++++ charts/etcd/templates/statefulset-etcd.yaml | 26 +++++-- charts/etcd/values.yaml | 78 +------------------ 5 files changed, 43 insertions(+), 83 deletions(-) diff --git a/charts/etcd/Chart.yaml b/charts/etcd/Chart.yaml index 49eefb1..5a5d985 100644 --- a/charts/etcd/Chart.yaml +++ b/charts/etcd/Chart.yaml @@ -16,4 +16,4 @@ apiVersion: v1 description: Helm chart for etcd name: garden-etcd appVersion: v3.5.2 -version: 5.2.0 +version: 5.3.0 diff --git a/charts/etcd/templates/configmap-etcd-bootstrap.yaml b/charts/etcd/templates/configmap-etcd-bootstrap.yaml index bda8fef..689fe84 100644 --- a/charts/etcd/templates/configmap-etcd-bootstrap.yaml +++ b/charts/etcd/templates/configmap-etcd-bootstrap.yaml @@ -81,6 +81,9 @@ data: # Needed for etcdbrctl >= 0.17.0 initial-cluster: 'etcd=http://localhost:2380' + + # Needed for etcdbrctl >= 0.19.0 + initial-advertise-peer-urls: 'http://localhost:2380' # Initial cluster state ('new' or 'existing'). initial-cluster-state: 'new' diff --git a/charts/etcd/templates/secret-etcd-backup.yaml b/charts/etcd/templates/secret-etcd-backup.yaml index 8eb7bc6..25766c3 100644 --- a/charts/etcd/templates/secret-etcd-backup.yaml +++ b/charts/etcd/templates/secret-etcd-backup.yaml @@ -21,4 +21,21 @@ metadata: type: Opaque data: {{ toYaml .Values.backup.secretData | indent 2 }} + {{- if eq .Values.backup.storageProvider "ABS" }} + storageAccount: {{ index .Values.backup.secretData "storage-account" }} + storageKey: {{ index .Values.backup.secretData "storage-key" }} + {{- end }} + {{- if eq .Values.backup.storageProvider "Swift" }} + authURL: {{ index .Values.backup.secretData "auth-url" }} + domainName: {{ index .Values.backup.secretData "domain-name" }} + password: {{ index .Values.backup.secretData "password" }} + region: {{ index .Values.backup.secretData "region-name" }} + tenantName: {{ index .Values.backup.secretData "project-name" }} + username: {{ index .Values.backup.secretData "username" }} + {{- end }} + {{- if eq .Values.backup.storageProvider "S3" }} + accessKeyID: {{ index .Values.backup.secretData "access-key-id" }} + secretAccessKey: {{ index .Values.backup.secretData "secret-access-key" }} + region: {{ index .Values.backup.secretData "region" }} + {{- end }} {{- end }} diff --git a/charts/etcd/templates/statefulset-etcd.yaml b/charts/etcd/templates/statefulset-etcd.yaml index 9e77106..a142c11 100644 --- a/charts/etcd/templates/statefulset-etcd.yaml +++ b/charts/etcd/templates/statefulset-etcd.yaml @@ -25,7 +25,7 @@ spec: updateStrategy: type: RollingUpdate serviceName: garden-etcd-{{.Values.role}}-client - replicas: {{ .Values.replicas }} + replicas: 1 selector: matchLabels: app: {{ .Values.name }} @@ -121,6 +121,7 @@ spec: - --insecure-transport=false - --insecure-skip-tls-verify=false - --endpoints=https://{{ .Values.name }}-0:2379 + - --service-endpoints=https://{{ .Values.name }}-0:2379 - --etcd-connection-timeout=300s - --delta-snapshot-period=300s image: {{ index .Values.images "etcd-backup-restore" }} @@ -145,9 +146,20 @@ spec: valueFrom: fieldRef: fieldPath: metadata.name -{{- if .Values.backup.env }} -{{ toYaml .Values.backup.env | indent 8 }} -{{- end }} + {{- if .Values.backup.storageProvider }} + {{- if eq .Values.backup.storageProvider "ABS" }} + - name: AZURE_APPLICATION_CREDENTIALS + value: /root/etcd-backup + {{- end }} + {{- if eq .Values.backup.storageProvider "S3" }} + - name: AWS_APPLICATION_CREDENTIALS + value: /root/etcd-backup + {{- end }} + {{- if eq .Values.backup.storageProvider "Swift" }} + - name: OPENSTACK_APPLICATION_CREDENTIALS + value: /root/etcd-backup + {{- end }} + {{- end }} volumeMounts: - name: etcd-bootstrap mountPath: /bootstrap @@ -157,6 +169,10 @@ spec: mountPath: /var/etcd/ssl/ca - name: etcd-client-tls mountPath: /var/etcd/ssl/client +{{- if .Values.backup.storageProvider }} + - name: {{ .Values.name }}-backup + mountPath: /root/etcd-backup/ +{{- end}} {{- if .Values.backup.volumeMounts }} {{ toYaml .Values.backup.volumeMounts | indent 8 }} {{- end }} @@ -175,7 +191,7 @@ spec: secret: secretName: {{ .Values.name }}-ca {{- if .Values.backup.storageProvider }} - - name: etcd-backup + - name: {{ .Values.name }}-backup secret: secretName: {{ .Values.name }}-backup {{- if .Values.backup.secretItems }} diff --git a/charts/etcd/values.yaml b/charts/etcd/values.yaml index 158becc..a04cfae 100644 --- a/charts/etcd/values.yaml +++ b/charts/etcd/values.yaml @@ -13,11 +13,10 @@ # limitations under the License. name: etcd -replicas: 1 images: etcd: eu.gcr.io/gardener-project/gardener/etcd:v3.5.2 - etcd-backup-restore: eu.gcr.io/gardener-project/gardener/etcdbrctl:v0.18.0 + etcd-backup-restore: eu.gcr.io/gardener-project/gardener/etcdbrctl:v0.19.0 backup: schedule: "0 */24 * * *" # cron standard schedule @@ -25,7 +24,6 @@ backup: storageProvider: "" # Abs,Gcs,S3,Swift empty means no backup, secretData: {} storageContainer: "" - env: [] # Follow comments below volumeMounts: [] tls: @@ -49,77 +47,3 @@ resources: volumeClaimTemplates: requests: storage: 10Gi - -# Aws S3 storage configuration -# Note: No volumeMounts variable needed -# storageProvider: "S3" -# env: -# - name: "AWS_REGION" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "region" -# - name: "AWS_SECRET_ACCESS_KEY" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "secretAccessKey" -# - name: "AWS_ACCESS_KEY_ID -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "accessKeyID" - -# Azure ABS storage configuration -# Note: No volumeMounts needed -# storageProvider: "ABS" -# env: -# - name: "STORAGE_ACCOUNT" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "storage-account" -# - name: "STORAGE_KEY" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "storage-key" - -# Google Cloud storage configuration -# storageProvider: "GCS" -# env: -# - name: "GOOGLE_APPLICATION_CREDENTIALS" -# value: "/root/.gcp/serviceaccount.json" -# volumeMount: -# - name: etcd-backup -# mountPath: "/root/.gcp/" - -# Openstack Swift configuration -# Note: No volumeMounts variable needed -# storageProvider: "Swift" -# env: -# - name: "OS_AUTH_URL" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "authURL" -# - name: "OS_DOMAIN_NAME" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "domainName" -# - name: "OS_USERNAME" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "username" -# - name: "OS_PASSWORD" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "password" -# - name: "OS_TENANT_NAME" -# valueFrom: -# secretKeyRef: -# name: etcd-backup -# key: "tenantName"