Skip to content

Commit 0e79ff8

Browse files
authored
Cassandra v0.0.2 helm (#46)
1 parent 46296cc commit 0e79ff8

File tree

9 files changed

+74
-12
lines changed

9 files changed

+74
-12
lines changed

charts/cassandra/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
appVersion: "1.0"
33
description: Helm chart for deploying cassandra
44
name: cassandra
5-
version: 0.0.1
5+
version: 0.0.2
66
icon: "https://zop.dev/logo.png"
77
maintainers:
88
- name: ZopDev

charts/cassandra/templates/database-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ metadata:
55
name: {{ $.Release.Name }}-{{ $service.database }}-{{ $service.name }}-cassandra-configmap
66
namespace: {{ $.Release.Namespace }}
77
data:
8-
Hosts: {{ $.Release.Name }}-cassandra
9-
Keyspace: "{{ $service.database }}"
10-
Port: "9042"
11-
Username: "{{ $service.name }}-user"
8+
CASSANDRA_HOST: {{ $.Release.Name }}-cassandra
9+
CASSANDRA_KEYSPACE: "{{ $service.database }}"
10+
CASSANDRA_PORT: "9042"
11+
CASSANDRA_USERNAME: "{{ $service.name }}-user"
1212
---
1313
{{- end }}

charts/cassandra/templates/database-pod.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ spec:
1313
- -c
1414
- |
1515
echo "Initializing Cassandra Pod...";
16-
sleep 60;
1716
cqlsh {{ $.Release.Name }}-cassandra -u superuser -p $POD_PASSWORD -e "SOURCE '/etc/config/init-schema.cql';"
1817
env:
1918
- name: POD_PASSWORD

charts/cassandra/templates/database-secret.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ metadata:
66
namespace: {{ $.Release.Namespace }}
77
type: Opaque
88
data:
9-
db_password: {{ $service.password | b64enc }}
9+
CASSANDRA_PASSWORD: {{ $service.password | b64enc }}
1010
---
1111
{{- end }}

charts/cassandra/templates/init-script-config-map.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ data:
1010
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
1111
1212
USE "{{ $service.database }}";
13-
CREATE ROLE IF NOT EXISTS "{{ $service.name }}-user" WITH PASSWORD '{{ $service.password }}' AND LOGIN = true;
13+
CREATE ROLE IF NOT EXISTS "{{ $service.name }}-user" WITH PASSWORD = '{{ $service.password }}' AND LOGIN = true;
1414
GRANT ALL PERMISSIONS ON KEYSPACE "{{ $service.database }}" TO "{{ $service.name }}-user";
1515
---
1616
{{- end }}

charts/cassandra/templates/statefulset.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ spec:
2020
- name: cassandra
2121
image: {{ .Values.image }}
2222
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
2336
ports:
2437
- containerPort: 9042
2538
resources:
@@ -36,6 +49,29 @@ spec:
3649
value: "{{ .Values.config.num_tokens }}"
3750
- name: CASSANDRA_SEEDS
3851
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
3975
lifecycle:
4076
preStop:
4177
exec:
@@ -66,6 +102,18 @@ spec:
66102
volumeMounts:
67103
- name: {{.Release.Name }}-cassandra-data
68104
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: {}
69117
volumeClaimTemplates:
70118
- metadata:
71119
name: {{.Release.Name }}-cassandra-data

charts/cassandra/values.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1-
image: cassandra:4.1.0
1+
image: "bitnami/cassandra:5.0.2-debian-12-r3"
22
pullPolicy: IfNotPresent
33

44
resources:
55
requests:
66
memory: "2000Mi"
7-
cpu: "1000m"
7+
cpu: "500m"
88
limits:
99
memory: "4000Mi"
10-
cpu: "2000m"
10+
cpu: "1000m"
1111

1212
diskSize: 10Gi
1313

1414
config:
1515
cluster_name: "Cluster"
1616
num_tokens: 256
17+
datacenter: dc1
18+
rack: rack1
1719

1820
cassandradbRootPassword:
1921

docs/cassandra-v0.0.2.tgz

2.33 KB
Binary file not shown.

docs/index.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,20 @@ entries:
33
cassandra:
44
- apiVersion: v1
55
appVersion: "1.0"
6-
created: "2024-12-27T16:27:14.771661+05:30"
6+
created: "2024-12-27T15:17:31.790133+05:30"
7+
description: Helm chart for deploying cassandra
8+
digest: f45dea69d490bc1e07764fc2e632cabda6465b4a99d12ed6c78eb4646b742e11
9+
icon: https://zop.dev/logo.png
10+
maintainers:
11+
- name: ZopDev
12+
url: zop.dev
13+
name: cassandra
14+
urls:
15+
- https://helm.zop.dev/cassandra-v0.0.2.tgz
16+
version: v0.0.2
17+
- apiVersion: v1
18+
appVersion: "1.0"
19+
created: "2024-12-27T15:17:31.789898+05:30"
720
description: Helm chart for deploying cassandra
821
digest: 87dcf6e85af6afe5ff9c90bb29272edbc9cb21ce8019361015b1733442644ca9
922
icon: https://zop.dev/logo.png

0 commit comments

Comments
 (0)