You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -67,3 +68,59 @@ Adjust to your own kubernetes namespace and release name if required.
67
68
68
69
4. Restore the synapse media files using `kubectl cp` to copy them in Synapse pod. If you are using K3s, you can find where the new persistent volume has been mounted with `kubectl get pv -n ess -o yaml | grep synapse-media` and copy your files in the destination path.
69
70
5. Run the `helm upgrade --install....` command again to restore your workload's pods.
71
+
72
+
73
+
## Installation State
74
+
75
+
The below documents various stores of the state for the installation, that the chart controls.
76
+
These stores of state may have a different lifecycle to the chart itself, i.e. may persist beyond `helm uninstall`, and their lifecycle is documented below.
77
+
78
+
### Postgres
79
+
80
+
By default (`postgres.enabled: true`) the chart will deploy a Postgres instance in the cluster, if Synapse or Matrix Authentication Service are deployed.
81
+
This is to enable a quick, easy and self-contained way of deploying the stack, whilst minimising external dependencies
82
+
83
+
The chart will construct a `PersistentVolumeClaim` to persist the Postgres databases.
84
+
By default, this `PersistentVolumeClaim` will not be deleted on `helm uninstall`.
85
+
This is to prevent dataloss.
86
+
This behaviour can be changed by setting `postgres.storage.resourcePolicy: delete` rather than `keep`.
87
+
88
+
Alternatively, an existing `PersistentVolumeClaim` that is not managed by the chart, can be used by specifying `postgres.storage.existingClaim`.
89
+
90
+
Finally, the recommended approach is to use a Postgres instance that is not managed by the chart.
91
+
This can be done by setting `postgres.enabled: false` and configurating Synapse and Matrix Authentication Service with details of these Postgres instance(s).
92
+
93
+
### Synapse Media
94
+
95
+
If Synapse is enabled, the chart will default to constructing a `PersistentVolumeClaim` to persist uploaded media.
96
+
By default, this `PersistentVolumeClaim` will not be deleted on `helm uninstall`.
97
+
This is to prevent dataloss.
98
+
This behaviour can be changed by setting `synapse.media.storage.resourcePolicy: delete` rather than `keep`.
99
+
100
+
Alternatively, an existing `PersistentVolumeClaim`, that is not managed by the chart, can be used by specifying `synapse.media.storage.existingClaim`.
101
+
102
+
### Generated Secrets
103
+
104
+
By default (`initSecrets.enabled: true`) the chart will run a pre-install / pre-upgrade Helm hook to generate a variety of credentials that don't relate to external resources.
105
+
This is to enable a quick and easy initial installation, without having to manually generate credentials, in a way that will work with tools like ArgoCD that don't support Helm's `lookup` function.
106
+
The chart will create appropriate `Role` and `RoleBindings` in the installation namespace to facilitate this.
107
+
108
+
The generated `Secret` will have label `app.kubernetes.io/managed-by=matrix-tools-init-secrets`.
109
+
As it is generated & managed with pre-install / pre-upgrade Hooks and no post-uninstall Hook is configured, this `Secret` will not be removed on `helm uninstall`.
110
+
This is to prevent dataloss, as some of the generated credentials (e.g. Synapse's signing key) have impact if they are changed without additional configuration.
111
+
112
+
Each credential can be manually specified either directly in the Helm values or by referencing an existing `Secret` and associated key.
113
+
114
+
The generated secrets functionality can be turned off by setting `initSecrets.enabled: false` and then the chart will require you to provide all required credentials as described above.
115
+
116
+
### Deployment Markers
117
+
118
+
By default (`deploymentMarkers.enabled: true`) the chart will run a pre-install / pre-upgrade / post-upgrade Helm hook to check and record the state of the installation in a `ConfigMap`.
119
+
This is to prevent components being enabled, disabled or otherwise put into some states that could cause data-corruption.
120
+
The chart will create appropriate `Role` and `RoleBindings` in the installation namespace to facilitate this.
121
+
122
+
The generated `ConfigMap` will have label `app.kubernetes.io/managed-by=matrix-tools-deployment-markers`.
123
+
As it is generated & managed with pre-install / pre-upgrade / post-upgrade Hooks and no post-uninstall Hook is configured, this `ConfigMap` will not be removed on `helm uninstall`.
124
+
This is to prevent invalid states being entered on reinstallation, given that the default chart behaviour is to keep the Postgres database between reinstallations.
125
+
126
+
The deployment markers functionality can be turned off by setting `deploymentMarkers.enabled: false` and the chart will not protect you from various invalid changes to the values.
0 commit comments