Skip to content

Commit b43b26f

Browse files
committed
checkpoint groundhog2k charts
1 parent e23d0cc commit b43b26f

File tree

7 files changed

+125
-94
lines changed

7 files changed

+125
-94
lines changed

kubernetes/chart/zulip/Chart.lock

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
dependencies:
22
- name: memcached
33
repository: oci://registry-1.docker.io/bitnamicharts
4-
version: 7.4.16
4+
version: 7.9.7
55
- name: rabbitmq
6-
repository: oci://registry-1.docker.io/bitnamicharts
7-
version: 14.7.0
6+
repository: https://groundhog2k.github.io/helm-charts/
7+
version: 2.2.0
88
- name: redis
9-
repository: oci://registry-1.docker.io/bitnamicharts
10-
version: 20.1.4
11-
- name: postgresql
12-
repository: oci://registry-1.docker.io/bitnamicharts
13-
version: 15.5.32
14-
digest: sha256:511a69dac54b26810b3b269751c8115d5b8ed7a9ecfe5cc4a656e7feb5dbd1ff
15-
generated: "2024-09-23T17:27:41.004706+02:00"
9+
repository: https://groundhog2k.github.io/helm-charts/
10+
version: 2.1.7
11+
- name: postgres
12+
repository: https://groundhog2k.github.io/helm-charts/
13+
version: 1.5.11
14+
digest: sha256:c7d4845a79011fbbf12fee4e5e51c3c0762446f229c08e499f792a52bc185b16
15+
generated: "2025-11-06T00:13:51.539064-05:00"

kubernetes/chart/zulip/Chart.yaml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,25 @@ dependencies:
2323
repository: oci://registry-1.docker.io/bitnamicharts
2424
tags:
2525
- memcached
26-
version: 7.4.16
26+
## Note: values.yaml overwrites memcached image to docker.io memcached, not bitnami's
27+
version: 7.9.7
2728
- name: rabbitmq
28-
repository: oci://registry-1.docker.io/bitnamicharts
29+
repository: https://groundhog2k.github.io/helm-charts/
2930
tags:
3031
- rabbitmq
31-
version: 14.7.0
32+
version: 2.2.0
3233
- name: redis
33-
repository: oci://registry-1.docker.io/bitnamicharts
34+
repository: https://groundhog2k.github.io/helm-charts/
3435
tags:
3536
- redis
36-
version: 20.1.4
37-
- name: postgresql
38-
repository: oci://registry-1.docker.io/bitnamicharts
37+
version: 2.1.7
38+
- name: postgres
39+
repository: https://groundhog2k.github.io/helm-charts/
40+
alias: postgresql
3941
tags:
4042
- postgresql
41-
## Note: values.yaml overwrites posgresql image to zulip/zulip-postgresql:14
42-
version: 15.5.32
43+
## Note: values.yaml overwrites postgresql image to zulip/zulip-postgresql:14
44+
version: 1.5.11
4345

4446
sources:
4547
- https://github.com/zulip/zulip

kubernetes/chart/zulip/README.md

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -85,24 +85,27 @@ Now you're ready to follow [the installation instructions above](#installation).
8585
| livenessProbe.periodSeconds | int | `10` | |
8686
| livenessProbe.successThreshold | int | `1` | |
8787
| livenessProbe.timeoutSeconds | int | `5` | |
88+
| memcached.image.registry | string | `"docker.io"` | |
89+
| memcached.image.repository | string | `"memcached"` | |
90+
| memcached.image.tag | string | `"alpine"` | |
8891
| memcached.memcachedUsername | string | `"zulip@localhost"` | |
8992
| nameOverride | string | `""` | |
9093
| nodeSelector | object | `{}` | |
9194
| podAnnotations | object | `{}` | |
9295
| podLabels | object | `{}` | |
9396
| podSecurityContext | object | `{}` | |
9497
| postSetup.scripts | object | `{}` | |
95-
| postgresql.auth.database | string | `"zulip"` | |
96-
| postgresql.auth.username | string | `"zulip"` | |
97-
| postgresql.image.repository | string | `"zulip/zulip-postgresql"` | |
98+
| postgresql.customScripts."02-zulip-schema.sh" | string | `"psql -v ON_ERROR_STOP=1 --username \"$POSTGRES_USER\" --dbname \"$POSTGRES_DB\" \\\n -v \"dbuser=$USERDB_USER\" -v \"dbname=$POSTGRES_DB\" <<-EOSQL\n ALTER ROLE :\"dbuser\" SET search_path TO :\"dbname\",public;\n CREATE SCHEMA zulip AUTHORIZATION :\"dbuser\";\nEOSQL\n"` | |
99+
| postgresql.image.registry | string | `"zulip"` | |
100+
| postgresql.image.repository | string | `"zulip-postgresql"` | |
98101
| postgresql.image.tag | int | `14` | |
99-
| postgresql.primary.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | |
100-
| postgresql.primary.containerSecurityContext.runAsGroup | int | `70` | |
101-
| postgresql.primary.containerSecurityContext.runAsUser | int | `70` | |
102-
| rabbitmq.auth.username | string | `"zulip"` | |
103-
| rabbitmq.persistence.enabled | bool | `false` | |
104-
| redis.architecture | string | `"standalone"` | |
105-
| redis.master.persistence.enabled | bool | `false` | |
102+
| postgresql.securityContext.readOnlyRootFilesystem | bool | `false` | |
103+
| postgresql.securityContext.runAsGroup | int | `70` | |
104+
| postgresql.securityContext.runAsUser | int | `70` | |
105+
| postgresql.userDatabase.name.value | string | `"zulip"` | |
106+
| postgresql.userDatabase.user.value | string | `"zulip"` | |
107+
| rabbitmq.authentication.user.value | string | `"zulip"` | |
108+
| redis | object | `{}` | |
106109
| resources | object | `{}` | |
107110
| securityContext | object | `{}` | |
108111
| service.port | int | `80` | |
@@ -161,22 +164,26 @@ SECRETS_email_password:
161164
162165
### Dependencies
163166
164-
The chart uses Memcached, RabbitMQ and Redis helm charts defined in
165-
the Bitnami Helm repository. Most of these are configured following their
166-
default settings, but you can check
167-
https://github.com/bitnami/charts/tree/master/bitnami/ for more configuration
168-
options of the subcharts.
169-
170-
For PostgreSQL the chart also uses the Bitnami chart to install it on the
171-
Kubernetes cluster. However, in this case we use Zulip's
172-
[zulip-postgresql](https://hub.docker.com/r/zulip/zulip-postgresql) docker
173-
image, because it contains the Postgresql plugins that are needed to run Zulip.
167+
The chart uses PostgreSQL, RabbitMQ and Redis helm charts defined in
168+
the groundhog2k Helm repository. Most of these are configured
169+
following their default settings, but you can check
170+
https://github.com/groundhog2k/helm-charts/tree/master/charts/ for
171+
more configuration options of these subcharts. The PostgreSQL
172+
subchart uses the
173+
[zulip-postgresql](https://hub.docker.com/r/zulip/zulip-postgresql)
174+
docker image, because it contains the Postgresql plugins that are
175+
needed to run Zulip.
176+
177+
For Memcached, the chart uses the Bitnami subcharts, but configured
178+
with the stock docker.io memcached image. See [Bitnami's
179+
documentation](https://artifacthub.io/packages/helm/bitnami/memcached)
180+
for this subchart.
174181
175182
## Requirements
176183
177184
| Repository | Name | Version |
178185
|------------|------|---------|
179-
| oci://registry-1.docker.io/bitnamicharts | memcached | 7.4.16 |
180-
| oci://registry-1.docker.io/bitnamicharts | postgresql | 15.5.32 |
181-
| oci://registry-1.docker.io/bitnamicharts | rabbitmq | 14.7.0 |
182-
| oci://registry-1.docker.io/bitnamicharts | redis | 20.1.4 |
186+
| https://groundhog2k.github.io/helm-charts/ | postgresql(postgres) | 1.5.11 |
187+
| https://groundhog2k.github.io/helm-charts/ | rabbitmq | 2.2.0 |
188+
| https://groundhog2k.github.io/helm-charts/ | redis | 2.1.7 |
189+
| oci://registry-1.docker.io/bitnamicharts | memcached | 7.9.7 |

kubernetes/chart/zulip/README.md.gotmpl

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,20 @@ SECRETS_email_password:
9191

9292
### Dependencies
9393

94-
The chart uses Memcached, RabbitMQ and Redis helm charts defined in
95-
the Bitnami Helm repository. Most of these are configured following their
96-
default settings, but you can check
97-
https://github.com/bitnami/charts/tree/master/bitnami/ for more configuration
98-
options of the subcharts.
99-
100-
For PostgreSQL the chart also uses the Bitnami chart to install it on the
101-
Kubernetes cluster. However, in this case we use Zulip's
102-
[zulip-postgresql](https://hub.docker.com/r/zulip/zulip-postgresql) docker
103-
image, because it contains the Postgresql plugins that are needed to run Zulip.
94+
The chart uses PostgreSQL, RabbitMQ and Redis helm charts defined in
95+
the groundhog2k Helm repository. Most of these are configured
96+
following their default settings, but you can check
97+
https://github.com/groundhog2k/helm-charts/tree/master/charts/ for
98+
more configuration options of these subcharts. The PostgreSQL
99+
subchart uses the
100+
[zulip-postgresql](https://hub.docker.com/r/zulip/zulip-postgresql)
101+
docker image, because it contains the Postgresql plugins that are
102+
needed to run Zulip.
103+
104+
For Memcached, the chart uses the Bitnami subcharts, but configured
105+
with the stock docker.io memcached image. See [Bitnami's
106+
documentation](https://artifacthub.io/packages/helm/bitnami/memcached)
107+
for this subchart.
108+
104109

105110
{{ template "chart.requirementsSection" . }}

kubernetes/chart/zulip/templates/_helpers.tpl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,25 +67,25 @@ include all env variables for Zulip pods
6767
{{- define "zulip.env" -}}
6868

6969
- name: DB_HOST
70-
value: "{{ template "postgresql.v1.primary.fullname" .Subcharts.postgresql }}"
70+
value: "{{ template "postgres.fullname" .Subcharts.postgresql }}"
7171
- name: DB_HOST_PORT
72-
value: "{{ template "postgresql.v1.service.port" .Subcharts.postgresql }}"
72+
value: "{{ .Values.postgresql.service.port }}"
7373
- name: DB_USER
74-
value: "postgres"
74+
value: "zulip"
7575
- name: SETTING_MEMCACHED_LOCATION
7676
value: "{{ template "common.names.fullname" .Subcharts.memcached }}:11211"
7777
- name: SETTING_RABBITMQ_HOST
78-
value: "{{ template "common.names.fullname" .Subcharts.rabbitmq }}"
78+
value: "{{ template "rabbitmq.fullname" .Subcharts.rabbitmq }}"
7979
- name: SETTING_REDIS_HOST
80-
value: "{{ template "common.names.fullname" .Subcharts.redis }}-headless"
80+
value: "{{ template "redis.fullname" .Subcharts.redis }}-headless"
8181
- name: SECRETS_rabbitmq_password
82-
value: "{{ .Values.rabbitmq.auth.password }}"
82+
value: "{{ .Values.rabbitmq.authentication.password.value }}"
8383
- name: SECRETS_postgres_password
84-
value: "{{ .Values.postgresql.auth.password }}"
84+
value: "{{ .Values.postgresql.userDatabase.password.value }}"
8585
- name: SECRETS_memcached_password
8686
value: "{{ .Values.memcached.memcachedPassword }}"
8787
- name: SECRETS_redis_password
88-
value: "{{ .Values.redis.auth.password }}"
88+
value: "{{ .Values.redis.password }}"
8989
- name: SECRETS_secret_key
9090
value: "{{ .Values.zulip.password }}"
9191
{{- range $key, $value := .Values.zulip.environment }}

kubernetes/chart/zulip/values-local.yaml.example

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,23 @@ memcached:
4343
# memcachedPassword: set-secure-password
4444

4545
rabbitmq:
46-
auth:
47-
# password: set-secure-password
48-
# erlangCookie: set-secure-password
46+
authentication:
47+
password:
48+
# value: set-secure-password
49+
erlangCookie:
50+
# value: set-secure-password
4951

5052
redis:
51-
auth:
52-
# password: set-secure-password
53+
# XXX Is this actually used?
54+
# password: set-secure-password
5355

5456
postgresql:
55-
auth:
56-
# # postgres admin user password
57-
# postgresqlPassword: set-secure-password
58-
# # postgres zulip user password
59-
# password: set-secure-password
57+
settings:
58+
superuserPassword:
59+
## postgres user password
60+
# value: set-secure-password
61+
userDatabase:
62+
password:
63+
## postgres zulip user password
64+
# value: set-secure-password
6065

kubernetes/chart/zulip/values.yaml

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ image:
2222
## Global Docker registry secret names as an array.
2323
imagePullSecrets: []
2424

25-
## Partially override common.names.fullname template (will maintain the release name).
25+
## Partially override zulip.fullname template (will maintain the release name).
2626
nameOverride: ""
2727

28-
## Fully override common.names.fullname template.
28+
## Fully override zulip.fullname template.
2929
fullnameOverride: ""
3030

3131
serviceAccount:
@@ -198,37 +198,49 @@ sidecars: []
198198

199199
## PostgreSQL settings, see [Requirements](#Requirements).
200200
postgresql:
201-
primary:
202-
containerSecurityContext:
203-
# 70 is the standard uid/gid of the "postgres" user in Alpine, which is
204-
# used as the base for zulip/zulip-postgresql
205-
# https://github.com/docker-library/postgres/blob/23987751b63ce745bd27b1119ab29dc4a1ffd728/Dockerfile-alpine.template#L7
206-
runAsUser: 70
207-
runAsGroup: 70
208-
readOnlyRootFilesystem: false
209201
## We need to override the Postgresql image to get all the plugins Zulip needs
210202
image:
211-
repository: zulip/zulip-postgresql
203+
registry: zulip
204+
repository: zulip-postgresql
212205
tag: 14
213-
auth:
214-
username: zulip
215-
database: zulip
206+
securityContext:
207+
# 70 is the standard uid/gid of the "postgres" user in Alpine, which is
208+
# used as the base for zulip/zulip-postgresql
209+
# https://github.com/docker-library/postgres/blob/23987751b63ce745bd27b1119ab29dc4a1ffd728/Dockerfile-alpine.template#L7
210+
runAsUser: 70
211+
runAsGroup: 70
212+
readOnlyRootFilesystem: false
213+
userDatabase:
214+
name:
215+
value: zulip
216+
user:
217+
value: zulip
218+
customScripts:
219+
02-zulip-schema.sh: |
220+
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
221+
-v "dbuser=$USERDB_USER" -v "dbname=$POSTGRES_DB" <<-EOSQL
222+
ALTER ROLE :"dbuser" SET search_path TO :"dbname",public;
223+
CREATE SCHEMA zulip AUTHORIZATION :"dbuser";
224+
EOSQL
216225
217226
## Rabbitmq settings, see [Requirements](#Requirements).
218227
rabbitmq:
219-
auth:
220-
username: zulip
221-
## Set this to true if you need the rabbitmq to be persistent
222-
persistence:
223-
enabled: false
228+
# Persistence is disabled by setting neither
229+
# `storage.persistentVolumeClaimName` nor `storage.requestedSize`.
230+
authentication:
231+
user:
232+
value: zulip
224233

225234
## Memcached settings, see [Requirements](#Requirements).
226235
memcached:
227236
memcachedUsername: "zulip@localhost"
237+
image:
238+
registry: docker.io
239+
repository: memcached
240+
tag: alpine
228241

229242
## Redis settings, see [Requirements](#Requirements).
230243
redis:
231-
architecture: standalone
232-
master:
233-
persistence:
234-
enabled: false
244+
# Persistence is disabled by setting neither
245+
# `storage.persistentVolumeClaimName` nor `storage.requestedSize`.
246+
{}

0 commit comments

Comments
 (0)