From 15fd25f477eb333cc46b0fb98585271a3508e503 Mon Sep 17 00:00:00 2001 From: Matt Walker Date: Sat, 8 Feb 2020 03:47:53 -0500 Subject: [PATCH] [incubator/cassandra] Change configOverrides to use an initContainer (#20511) This allows the filesystem of the configs to be r/w. Signed-off-by: Matthew Walker Co-authored-by: matthew-walker-prolucid <55808309+matthew-walker-prolucid@users.noreply.github.com> --- incubator/cassandra/Chart.yaml | 2 +- .../cassandra/templates/statefulset.yaml | 29 +++++++++++++++---- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/incubator/cassandra/Chart.yaml b/incubator/cassandra/Chart.yaml index 75e1a0dd72..87843c1171 100644 --- a/incubator/cassandra/Chart.yaml +++ b/incubator/cassandra/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: cassandra -version: 0.13.4 +version: 0.14.0 appVersion: 3.11.5 description: Apache Cassandra is a free and open-source distributed database management system designed to handle large amounts of data across many commodity servers, providing diff --git a/incubator/cassandra/templates/statefulset.yaml b/incubator/cassandra/templates/statefulset.yaml index 01d90efa3e..455dfb65e3 100644 --- a/incubator/cassandra/templates/statefulset.yaml +++ b/incubator/cassandra/templates/statefulset.yaml @@ -49,6 +49,20 @@ spec: {{- if .Values.tolerations }} tolerations: {{ toYaml .Values.tolerations | indent 8 }} +{{- end }} +{{- if .Values.configOverrides }} + initContainers: + - name: config-copier + image: busybox + command: [ 'sh', '-c', 'cp /configmap-files/* /cassandra-configs/ && chown 999:999 /cassandra-configs/*'] + volumeMounts: +{{- range $key, $value := .Values.configOverrides }} + - name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }} + mountPath: /configmap-files/{{ $key }} + subPath: {{ $key }} +{{- end }} + - name: cassandra-configs + mountPath: /cassandra-configs/ {{- end }} containers: {{- if .Values.exporter.enabled }} @@ -153,11 +167,10 @@ spec: volumeMounts: - name: data mountPath: /var/lib/cassandra -{{- range $key, $value := .Values.configOverrides }} - - name: cassandra-config-{{ $key | replace "." "-" }} - mountPath: /etc/cassandra/{{ $key }} - subPath: {{ $key }} -{{- end }} + {{- if .Values.configOverrides }} + - name: cassandra-configs + mountPath: /etc/cassandra + {{- end }} {{- if not .Values.persistence.enabled }} lifecycle: preStop: @@ -175,7 +188,11 @@ spec: {{- range $key, $value := .Values.configOverrides }} - configMap: name: cassandra - name: cassandra-config-{{ $key | replace "." "-" }} + name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }} +{{- end }} +{{- if .Values.configOverrides }} + - name: cassandra-configs + emptyDir: {} {{- end }} {{- if not .Values.persistence.enabled }} - name: data