|
20 | 20 | - name: cassandra |
21 | 21 | image: {{ .Values.image }} |
22 | 22 | imagePullPolicy: {{ .Values.pullPolicy }} |
| 23 | + command: |
| 24 | + - bash |
| 25 | + - -ec |
| 26 | + - | |
| 27 | + # Node 0 is the password seeder |
| 28 | + if [[ $POD_NAME =~ (.*)-0$ ]]; then |
| 29 | + echo "Setting node as password seeder" |
| 30 | + export CASSANDRA_PASSWORD_SEEDER=yes |
| 31 | + else |
| 32 | + # Only node 0 will execute the startup initdb scripts |
| 33 | + export CASSANDRA_IGNORE_INITDB_SCRIPTS=1 |
| 34 | + fi |
| 35 | + /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh |
23 | 36 | ports: |
24 | 37 | - containerPort: 9042 |
25 | 38 | resources: |
|
36 | 49 | value: "{{ .Values.config.num_tokens }}" |
37 | 50 | - name: CASSANDRA_SEEDS |
38 | 51 | value: "{{ .Release.Name }}-cassandra-0.{{ .Release.Name }}-cassandra.{{ .Release.Namespace }}.svc.cluster.local" |
| 52 | + - name: CASSANDRA_PASSWORD |
| 53 | + valueFrom: |
| 54 | + secretKeyRef: |
| 55 | + name: {{ $.Release.Name }}-cassandra-database-secret |
| 56 | + key: pod_password |
| 57 | + - name: CASSANDRA_USER |
| 58 | + value: "superuser" |
| 59 | + - name: CASSANDRA_DATACENTER |
| 60 | + value: {{ .Values.config.datacenter }} |
| 61 | + - name: CASSANDRA_RACK |
| 62 | + value: {{ .Values.config.rack }} |
| 63 | + - name: CASSANDRA_KEYSTORE_LOCATION |
| 64 | + value: "/opt/bitnami/cassandra/certs/keystore" |
| 65 | + - name: CASSANDRA_TRUSTSTORE_LOCATION |
| 66 | + value: "/opt/bitnami/cassandra/certs/truststore" |
| 67 | + - name: POD_IP |
| 68 | + valueFrom: |
| 69 | + fieldRef: |
| 70 | + fieldPath: status.podIP |
| 71 | + - name: POD_NAME |
| 72 | + valueFrom: |
| 73 | + fieldRef: |
| 74 | + fieldPath: metadata.name |
39 | 75 | lifecycle: |
40 | 76 | preStop: |
41 | 77 | exec: |
@@ -66,6 +102,18 @@ spec: |
66 | 102 | volumeMounts: |
67 | 103 | - name: {{.Release.Name }}-cassandra-data |
68 | 104 | mountPath: /var/lib/cassandra |
| 105 | + - name: empty-dir |
| 106 | + mountPath: /tmp |
| 107 | + subPath: tmp-dir |
| 108 | + - name: empty-dir |
| 109 | + mountPath: /opt/bitnami/cassandra/conf |
| 110 | + subPath: app-conf-dir |
| 111 | + - name: empty-dir |
| 112 | + mountPath: /opt/bitnami/cassandra/tmp |
| 113 | + subPath: app-tmp-dir |
| 114 | + volumes: |
| 115 | + - name: empty-dir |
| 116 | + emptyDir: {} |
69 | 117 | volumeClaimTemplates: |
70 | 118 | - metadata: |
71 | 119 | name: {{.Release.Name }}-cassandra-data |
|
0 commit comments