Skip to content

Commit 6802578

Browse files
authored
Merge pull request #15 from jessebot/add-postgres-init-and-bump-coturn
fix ci/cd file naming; bump coturn chart version; add postgres init container to check for database being up; disable coturn by default
2 parents 9091621 + c432ddf commit 6802578

File tree

15 files changed

+244
-23
lines changed

15 files changed

+244
-23
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111

1212
jobs:
1313
release:
14+
environment: helm-release
1415
permissions:
1516
contents: write
1617
runs-on: ubuntu-latest

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ helm install my-release-name matrix --values values.yaml
2323

2424
- Latest version of [Element](https://element.io/)
2525
- [Bitnami PostgreSQL subchart](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) to deploy a cluster - needs some work to standardize though, so we also support external postgresql servers
26+
- [Coturn TURN server subchart](https://github.com/jessebot/coturn-chart) for VoIP calls
2627

2728
#### ⚠️ Optional Features (Untested Since Fork)
2829

2930
These features still need to be tested, but are technically baked into the chart:
3031
- Choice of lightweight Exim relay or external mail server for email notifications
31-
- [Coturn TURN server subchart](https://github.com/jessebot/coturn-chart) for VoIP calls
3232
- [Half-Shot/matrix-appservice-discord](https://github.com/Half-Shot/matrix-appservice-discord) Discord bridge
3333
- [matrix-org/matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) IRC bridge
3434
- [tulir/mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) WhatsApp bridge

charts/matrix/Chart.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
dependencies:
22
- name: postgresql
33
repository: oci://registry-1.docker.io/bitnamicharts
4-
version: 12.6.9
4+
version: 12.7.1
55
- name: coturn
66
repository: https://jessebot.github.io/coturn-chart
7-
version: 3.0.5
8-
digest: sha256:0ff1f8804d56ef0b117b2852b35f40d6feed0651e31cf625f570448836292d50
9-
generated: "2023-07-26T00:33:15.59096+02:00"
7+
version: 4.1.2
8+
digest: sha256:6315beeffb70ac329400ee6fe69f54e9d06a4c7b1b208c9c929227786d27d167
9+
generated: "2023-07-29T19:18:47.412173+02:00"

charts/matrix/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sources:
88

99
type: application
1010

11-
version: 4.0.5
11+
version: 4.1.0
1212
appVersion: v1.88.0
1313

1414
maintainers:
@@ -21,10 +21,10 @@ maintainers:
2121

2222
dependencies:
2323
- name: postgresql
24-
version: 12.6.9
24+
version: 12.7.1
2525
repository: oci://registry-1.docker.io/bitnamicharts
2626
condition: postgresql.enabled
2727
- name: coturn
28-
version: 3.0.5
28+
version: 4.1.2
2929
repository: https://jessebot.github.io/coturn-chart
3030
condition: coturn.enabled

charts/matrix/README.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# matrix
22

3-
![Version: 4.0.5](https://img.shields.io/badge/Version-4.0.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.88.0](https://img.shields.io/badge/AppVersion-v1.88.0-informational?style=flat-square)
3+
![Version: 4.1.0](https://img.shields.io/badge/Version-4.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.88.0](https://img.shields.io/badge/AppVersion-v1.88.0-informational?style=flat-square)
44

55
A Helm chart to deploy a Matrix homeserver stack into Kubernetes
66

@@ -21,8 +21,8 @@ A Helm chart to deploy a Matrix homeserver stack into Kubernetes
2121

2222
| Repository | Name | Version |
2323
|------------|------|---------|
24-
| https://jessebot.github.io/coturn-chart | coturn | 3.0.5 |
25-
| oci://registry-1.docker.io/bitnamicharts | postgresql | 12.6.9 |
24+
| https://jessebot.github.io/coturn-chart | coturn | 4.1.2 |
25+
| oci://registry-1.docker.io/bitnamicharts | postgresql | 12.7.1 |
2626

2727
## Values
2828

@@ -99,10 +99,63 @@ A Helm chart to deploy a Matrix homeserver stack into Kubernetes
9999
| coturn.certificate.enabled | bool | `false` | set to true to generate a TLS certificate for encrypted comms |
100100
| coturn.certificate.host | string | `"turn.example.com"` | hostname for TLS cert |
101101
| coturn.certificate.issuerName | string | `"letsencrypt-staging"` | cert-manager cert Issuer or ClusterIssuer to use |
102-
| coturn.enabled | bool | `true` | Set to false to disable the included deployment of Coturn |
102+
| coturn.coturn.auth.existingSecret | string | `""` | existing secret with keys username/password for coturn |
103+
| coturn.coturn.auth.password | string | `""` | password for the main user of the turn server |
104+
| coturn.coturn.auth.secretKeys.password | string | `"password"` | key in existing secret for turn server user's password |
105+
| coturn.coturn.auth.secretKeys.username | string | `"username"` | key in existing secret for turn server user |
106+
| coturn.coturn.auth.username | string | `"coturn"` | username for the main user of the turn server |
107+
| coturn.coturn.extraTurnserverConfiguration | string | `"verbose\n"` | extra configuration for turnserver.conf |
108+
| coturn.coturn.listeningIP | string | `"0.0.0.0"` | coturn's listening IP address |
109+
| coturn.coturn.logFile | string | `"stdout"` | set the logfile. Defaults to stdout for use with kubectl logs |
110+
| coturn.coturn.ports.listening | int | `3478` | insecure listening port |
111+
| coturn.coturn.ports.max | int | `65535` | maximum ephemeral port for coturn |
112+
| coturn.coturn.ports.min | int | `49152` | minimum ephemeral port for coturn |
113+
| coturn.coturn.ports.tlsListening | int | `5349` | secure listening port |
114+
| coturn.coturn.realm | string | `"turn.example.com"` | hostname for the coturn server realm |
115+
| coturn.enabled | bool | `false` | Set to false to disable the included deployment of Coturn |
103116
| coturn.existingSecret | string | `""` | Optional: name of an existingSecret with key for sharedSecret |
117+
| coturn.externalDatabase.database | string | `""` | database to create, ignored if existingSecret is passed in |
118+
| coturn.externalDatabase.enabled | bool | `false` | enables the use of postgresql instead of the default sqlite for coturn to use the bundled subchart, enable this, and postgresql.enable |
119+
| coturn.externalDatabase.existingSecret | string | `""` | name of existing Secret to use for postgresql credentials |
120+
| coturn.externalDatabase.hostname | string | `""` | required if externalDatabase.enabled: true and postgresql.enabled:false |
121+
| coturn.externalDatabase.password | string | `""` | password for database, ignored if existingSecret is passed in |
122+
| coturn.externalDatabase.secretKeys.database | string | `""` | key in existing Secret to use for the database name |
123+
| coturn.externalDatabase.secretKeys.hostname | string | `""` | key in existing Secret to use for the db's hostname |
124+
| coturn.externalDatabase.secretKeys.password | string | `""` | key in existing Secret to use for db user's password |
125+
| coturn.externalDatabase.secretKeys.username | string | `""` | key in existing Secret to use for the db user |
126+
| coturn.externalDatabase.type | string | `"postgresql"` | Currently only postgresql is supported. mysql coming soon |
127+
| coturn.externalDatabase.username | string | `""` | username for database, ignored if existingSecret is passed in |
128+
| coturn.image.pullPolicy | string | `"IfNotPresent"` | image pull policy, set to Always if using image.tag: latest |
129+
| coturn.image.repository | string | `"coturn/coturn"` | container registry and repo for coturn docker image |
130+
| coturn.image.tag | string | `""` | docker tag for coturn server |
131+
| coturn.labels | object | `{"component":"coturn"}` | Coturn specific labels |
132+
| coturn.persistence.accessMode | string | `"ReadWriteOnce"` | access mode for the PVC, ignored if persistence.existingClaim passed in |
133+
| coturn.persistence.annotations | object | `{}` | annotations for the PVC, ignored if persistence.existingClaim passed in |
134+
| coturn.persistence.existingClaim | string | `""` | existing PVC to use instead of creating one on the fly |
135+
| coturn.persistence.size | string | `"1Mi"` | size of the PVC, ignored if persistence.existingClaim passed in |
136+
| coturn.persistence.storageClass | string | `""` | storageClass for the PVC, ignored if persistence.existingClaim passed in |
104137
| coturn.ports | object | `{"from":3478,"to":3478}` | UDP port range for TURN connections |
138+
| coturn.postgresql.enabled | bool | `false` | enables bitnami postgresql subchart, you can disable to use external db |
139+
| coturn.postgresql.global.postgresql.auth | object | `{"database":"coturn","existingSecret":"","password":"","secretKeys":{"adminPasswordKey":"postgresPassword","database":"database","hostname":"hostname","userPasswordKey":"password","username":"username"},"username":"coturn"}` | global.postgresql.auth overrides postgresql.auth |
140+
| coturn.postgresql.global.postgresql.auth.database | string | `"coturn"` | database to create, ignored if existingSecret is passed in |
141+
| coturn.postgresql.global.postgresql.auth.existingSecret | string | `""` | name of existing Secret to use for postgresql credentials |
142+
| coturn.postgresql.global.postgresql.auth.password | string | `""` | password for db, autogenerated if empty & existingSecret empty |
143+
| coturn.postgresql.global.postgresql.auth.secretKeys.adminPasswordKey | string | `"postgresPassword"` | key in existing Secret to use for postgres admin user's password |
144+
| coturn.postgresql.global.postgresql.auth.secretKeys.database | string | `"database"` | key in existingSecret for database to create |
145+
| coturn.postgresql.global.postgresql.auth.secretKeys.hostname | string | `"hostname"` | key in existingSecret for database to create |
146+
| coturn.postgresql.global.postgresql.auth.secretKeys.userPasswordKey | string | `"password"` | key in existing Secret to use for coturn user's password |
147+
| coturn.postgresql.global.postgresql.auth.secretKeys.username | string | `"username"` | key in exsiting Secret to use for the coturn user |
148+
| coturn.postgresql.global.postgresql.auth.username | string | `"coturn"` | username for database, ignored if existingSecret is passed in |
149+
| coturn.resources | object | `{}` | ref: kubernetes.io/docs/concepts/configuration/manage-resources-containers |
105150
| coturn.secretKey | string | `"coturnSharedSecret"` | key in existing secret with sharedSecret value. Required if coturn.enabled=true and existingSecret not "" |
151+
| coturn.securityContext.allowPrivilegeEscalation | bool | `true` | allow priviledged access |
152+
| coturn.securityContext.capabilities.add | list | `["NET_BIND_SERVICE"]` | linux cabilities to allow for the coturn k8s pod |
153+
| coturn.securityContext.capabilities.drop | list | `["ALL"]` | linux cabilities to disallow for the coturn k8s pod |
154+
| coturn.securityContext.fsGroup | int | `1000` | all processes of the container are also part of the supplementary groupID |
155+
| coturn.securityContext.readOnlyRootFilesystem | bool | `false` | allow modificatin to root filesystem |
156+
| coturn.securityContext.runAsGroup | int | `1000` | for all Containers in the Pod, all processes run w/ this GroupID |
157+
| coturn.securityContext.runAsUser | int | `1000` | for all Containers in the Pod, all processes run w/ this userID |
158+
| coturn.service.externalTrafficPolicy | string | `"Local"` | I don't actually know what this is 🤔 open a PR if you know |
106159
| coturn.service.type | string | `"ClusterIP"` | |
107160
| coturn.sharedSecret | string | `""` | shared secert for comms b/w Synapse/Coturn. autogenerated if not provided |
108161
| coturn.uris | list | `[]` | URIs of the Coturn servers. If deploying Coturn with this chart, include the public IPs of each node in your cluster (or a DNS round-robin hostname) You can also include an external Coturn instance if you'd prefer |
-3.51 KB
Binary file not shown.
63.6 KB
Binary file not shown.
-55.8 KB
Binary file not shown.
56.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)