Skip to content

Commit 4f3d799

Browse files
committed
update documentation
1 parent f52133a commit 4f3d799

5 files changed

Lines changed: 48 additions & 111 deletions

File tree

RELEASENOTES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ https://github.com/wger-project/docker/commit/ec5893553d81445485e5d32f5a6be637a1
22

33
## 1.0.0
44

5+
This is a major upgrade and has breaking changes.
6+
Please review the [`values.yaml`](https://github.com/wger-project/helm-charts/blob/master/charts/wger/values.yaml)
7+
file and update your own.
8+
9+
* upgrade to wger 2.6
510
* JWT Signing Key Setting has been removed
611
* nginx and persistent storage is now mandatory
712
* nginx get's it's own deployment
@@ -12,6 +17,7 @@ https://github.com/wger-project/docker/commit/ec5893553d81445485e5d32f5a6be637a1
1217
* add resource settings for most containers
1318
* separate service settings
1419
* minor upgrade postgres to 15.18
20+
* path in nginx for the static and media files changed
1521

1622
## 0.3.0
1723

charts/wger/README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ Celery requires persistent volumes.
120120
| `celery.syncImages` | sync exercise images | Boolean | `True` |
121121
| `celery.syncVideos` | sync exercise videos | Boolean | `True` |
122122
| `celery.ingredientsFrom` | source for ingredients, possible values `WGER`,`OFF` | String | `WGER` |
123-
| `celery.service.type` | Sets the http service type | String | `ClusterIP` |
124-
| `celery.service.port` | Port for the service | Integer | `80` |
125-
| `celery.service.annotations` | Annotations to attach to the service | Dictionary | `{}` |
126123
| `celery.flower.enabled` | enable flower webinterface for celery | Boolean | `False` |
127124
| `celery.flower.secret.name` | Name of the secret | String | `flower` |
128125
| `celery.flower.secret.password` | Password for the webinterface | String | `randAlphaNum 50` |
@@ -154,14 +151,34 @@ Celery requires persistent volumes.
154151

155152
## Nginx
156153

157-
| Name | Description | Type | Default Value |
158-
|-----------------------------|-------------|------|---------------|
159-
| `nginx.image` | Image to use for the nginx proxy | String | `nginx:stable` |
160-
| `nginx.imagePullPolicy` | [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) to use for the image | String | `IfNotPresent` |
161-
154+
| Name | Description | Type | Default Value |
155+
|-----------------------------|---------------------------------------|------------|----------------|
156+
| `nginx.image` | Image to use for the nginx proxy | String | `nginx:stable` |
157+
| `nginx.imagePullPolicy` | [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) to use for the image | String | `IfNotPresent` |
158+
| `nginx.service.type` | Sets the http service type | String | `ClusterIP` |
159+
| `nginx.service.port` | Port for the service | Integer | `80` |
160+
| `nginx.service.annotations` | Annotations to attach to the service | Dictionary | `{}` |
162161

163162
## Powersync
164163

164+
| Name | Description | Type | Default Value |
165+
|-----------------------------|---------------------------------------|------------|----------------|
166+
| `powersync.image.registry` | Image registry | String | `docker.io` |
167+
| `powersync.image.repository` | Image repostory | String | `journeyapps/powersync-service` |
168+
| `powersync.image.tag` | Image tag | String | `latest` |
169+
| `powersync.image.PullPolicy` | Image pull policy | String | `IfNotPresent` |
170+
| `powersync.annotations` | Annotations to attach to the service | Dictionary | `{}` |
171+
| `powersync.replicas` | Number of webserver instances that should be running | Integer | `1` |
172+
| `powersync.replicasWorker` | Number replica workers | Integer | `1` |
173+
| `powersync.securityContext` | Pod security context | Object | see [values.yaml](charts/wger/values.yaml) |
174+
| `powersync.serviceApi.type` | Sets the http service type | String | `ClusterIP` |
175+
| `powersync.serviceApi.port` | Port for the service | Integer | `8080` |
176+
| `powersync.serviceApi.annotations` | Annotations to attach to the service | Dictionary | `{}` |
177+
| `powersync.servicePrometheus.type` | Sets the http service type | String | `ClusterIP` |
178+
| `powersync.servicePrometheus.port` | Port for the service | Integer | `9090` |
179+
| `powersync.servicePrometheus.annotations` | Annotations to attach to the service | Dictionary | `{}` |
180+
| `powersync.configPath` | Path to the powersync config | String | `/config/powersync.yaml` |
181+
| `powersync.jwksURL` | URI for JWK auth | String | `http://{{ .Release.Name }}-http:80/api/v2/powersync-keys` |
165182

166183

167184
## Ingress
@@ -190,12 +207,7 @@ Celery requires persistent volumes.
190207

191208
## Application Resources
192209

193-
| Name | Description | Type | Default Value |
194-
|---------------------------------|-------------|------|---------------|
195-
| `app.resources.requests.memory` | Amount of memory that the app requests for running. Keep this value low to allow the pod to get admitted on a node. | String | `128Mi` |
196-
| `app.resources.requests.cpu` | Amount of CPU that the app requests for running. Keep this value low to allow the pod to get admitted on a node. | String | `100m` |
197-
| `app.resources.limits.memory` | Maximum amount of memory that the app is allowed to use. | String | `512Mi` |
198-
| `app.resources.limits.cpu` | Maximum amount of CPU that the app is allowed to use. | String | `500m` |
210+
Most containers have their `resources` setting: see [values.yaml](values.yaml).
199211

200212

201213
### Environment Variables
@@ -457,18 +469,6 @@ Generally:
457469
* assure that your code is well-formed (hint: [`helm lint`](https://helm.sh/docs/helm/helm_lint/) is a useful command). This is enforced using continuous integration.
458470

459471

460-
## Running a highly available setup
461-
462-
The deployment can be scaled using `app.global.replicas` to allow for more web server replicas. Persistence should be enabled as well to ensure that the different webservers have access to the same static and media shares.
463-
464-
Generally persistent volumes needs to be configured depending on your setup.
465-
466-
467-
## Developing locally
468-
469-
Please have a look at [DEVEL.md](/DEVEL.md).
470-
471-
472472
## Contact
473473

474474
Feel free to contact us if you found this useful or if there was something that didn't behave as you expected. We can't fix what we don't know about, so please report liberally. If you're not sure if something is a bug or not, feel free to file a bug anyway.

charts/wger/templates/NOTES.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,37 @@
11

22
Starting the container may take some time, you can watch the process in the logs:
33

4+
```
45
kubectl -n {{ .Release.Namespace }} logs -f -l app.kubernetes.io/name={{ .Release.Name }}-app -c init-container
56
kubectl -n {{ .Release.Namespace }} logs -f -l app.kubernetes.io/name={{ .Release.Name }}-app -c wger
6-
7+
```
78
{{- if not .Values.app.django.existingDatabase.enabled }}
89

910
Get the postgres superuser passwords:
1011

12+
```
1113
kubectl -n {{ .Release.Namespace }} get secret {{ .Release.Name }}-postgres -o jsonpath='{.data.POSTGRES_PASSWORD}' | base64 -d
14+
```
1215

1316
Get the postgres user passwords:
1417

18+
```
1519
kubectl -n {{ .Release.Namespace }} get secret {{ .Release.Name }}-postgres -o jsonpath='{.data.USERDB_PASSWORD}' | base64 -d
20+
```
1621
{{- end }}
1722

1823
After the first installation you need to generate your own JWT keypair, this is used from the wger companion app
1924
to authenticate for offline synchronisation:
2025

21-
kubectl -n {{ .Release.Namespace }} logs -f -l app.kubernetes.io/name={{ .Release.Name }}-app -c wger ./manage.py generate-jwt-keys
26+
```
27+
export POD=$(kubectl -n {{ .Release.Namespace }} get pods -l "app.kubernetes.io/name={{ .Release.Name }}-app" -o jsonpath="{.items[0].metadata.name}")
28+
kubectl -n {{ .Release.Namespace }} exec -it pod/$POD -c wger -- ./manage.py generate-jwt-keys
29+
```
2230

23-
The pair needs to be saved in the `jwt` secret you can add it in your `values.yaml`, but you need to set
31+
The pair needs to be saved in the `jwt` secret, you can add it in your `values.yaml`, but you need to set
2432

25-
.Values.jwt.secret.update: true
33+
```
34+
.Values.app.jwt.secret.update: true
35+
```
2636

27-
for it to update.
37+
for it to update the existing secret with the default value inside.

charts/wger/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ app:
8181
# JWT keys, used by the mobile app. This default NEEDS to be changed.
8282
# Generate fresh keys with: docker compose exec web ./manage.py generate-jwt-keys
8383
# @todo autogenerate a new key and save it into the secret when installing
84+
# currently there is a hardcoded default key so that the installation works
8485
privateKey: "eyJhbGciOiAiUlMyNTYiLCAia3R5IjogIlJTQSIsICJuIjogInFhdVVnb0ZXenRNcjVEYks3bFIxZXUxazJrdllyblJkRGh1NDFyWnFLeWhDWkJya0FTS0d0N25KbVUwVEpKb1d0cFF2eHVvc0ZGeW1BMUhXQnNaY0dtVlcxdlowdDJlazl4THg5bjg2UWRIVWc1MktsRG9ZUzNtRTFaWW5BYzJfRDM3UmxyQkVxRXpuSnBNeDJ3VkpLcVdRZHlWSWh6Q082YzRnOWN3VExGbUhkVXVURXMzdDNBN1MyNENrUkM2TE1KSFFvRTJzay1uWlJyZE9fTHVNNUJJcVp2b1dWUC1Salp4OWk4OGdaaDhvOEcyWW1xZnMwczRzYW1fam85bmFaYlo4aFBFQ0FZdnZUZ29ObzRHMGpXZERZeGdPWHlXTE80bTk1SEdMSFJMZjZ5M29vdkZad2QwN2FFbThEU3dBX3hsY1V4WHNNZ0ZlYVVVZkp2NEV4USIsICJlIjogIkFRQUIiLCAiZCI6ICJQZXVwNjhUakZ1RVhaQmFoRWNDT0RWcEUwNndaZkhWb0hvVjhmQk9maEhlUlh6STNJcmprZkhtWHV0UlhsNlNLaElCcFBVbHA0OVo2R2IwTWhIVncySXRDV1hvaFYydkNWdzg1Y2RHMXc1NmQxWml4b2UzZnZ1LXV6RG9icXp0WXJvR0VZTi1jZHVWMS1HeUFwZU4wYzlWdmR5UUtwNWZQbUVGTFl4amlxR3k5UUhyTldpcGJmZXdPUGY0YUl4X05VRnE3R1BsUk1yalA4VEhvSzNPOVNfXzJpR09LRVpINDFUWkpscVBZX0s5dFNkbFNKd1FPWEtwOFc2ZUdGT3l2MElueVhsUXhHb0ZBWVNrUC12WTlWQy1vTUtzdmhocm1GeGM0VlU2OUZ3VWFJYUdaOU9jaXF4M3B0aE9sU1drRjFhbEtxNWFJZ2VHbEUzM2VyNGthSXciLCAicCI6ICI1WDN0QzN4Z0hwbm91U1JwSlg4c0ZWRm5vamhxMWJoWkF3c3VRaXBxWWgtZmJNRGI4a2NTTy1fT3BEMExNekYzcHp0dVNRb0NZOFc0WjI0TEJ6cFRuUlFid0JrYWt3VDMybmZIU1J0d3RnM1ZjWkkxZFNsdHgtclhEcHlBMDNHa1RvLUxEZkp1UzF0a1FYQXB0OTBkcnJHMndjQ25oRXc4bGx2SzR2cWRucHMiLCAicSI6ICJ2VVM2V2QtY2trTUJMVmJvSkVaVnRtMlFLTFE2dV9oZEFrbTFWa3dGajMxZWZWRTlFRWRSa0F0dGVoOWh2ZzBkM2FXVDZ1bFQ4YlpubWo3WkFjNG55aVdwOTlFd0k5U0hFX01UUE11YVZSeUw5SmFIX2R0Uk5nVGE5UV9hZUs2d1pkY3RwLUZRT1lteVlDWmhzRnVOTG45TFJ3UklJOVJ0YlBXYW55X01jQjgiLCAiZHAiOiAiWjFNNkhmakN3aVJqcnJBaEV6dmQyajlMbkxNd0RzZXdjX2xkdTNhamJVaDFuQjU5S09rczRZV0lFVlJXclpieEczOWJtVkVEWUc2T0p5dFpsY2lDQ3ZBWnluVEREVHlvWjFtVWhXcndaVmQzS1dvOTNXRm94eUVKOE04d0JZTmVDZTBCRzZkeVYwVnZyekxUNWEtTmhMRUk2dFZWMXZBSU8xNWF5N1V3c0U4IiwgImRxIjogIktsclpBUWZEZUEtNmtiVGpHa3NMSDFvQmFycDZjbG93SmpUc2ViVmxnU2pqSGxReHdCVFZzZEI4M1Zsc2ZDVmZTNXlrTDJ1cnQybkVZWVl5OWU1MmhReE1yd0tITFYyQUpQeS1qMXBZM1RjWU10SUUtTkE5cWtNSDVOTjVab3hoT1VrZ0ZIT2RpbUxBSWpnMG9FeThtVzB2SVdOWjZYcS1TaVhrUmo5aUZxMCIsICJxaSI6ICJzSV84RTh0MTBsRDY2NTh3UXRpY19BaUUxOVk1Rms0SDJWbnpGclBhVU04aWFNaVc2eUZxMFZuN3RXa2RTWS1STTB1SFMwdmVmSEcyZTBKSWxEanhBUmZWZUcwNTFyVUNRZjBkSnR4U0ZDQUp2eGxMRTZsYjZOQlUwZVIyMld6bjVob1ZZTVpHZnQ5QnA0SlVOOHJkMF9lMm1kSjhxc09wM1NLQ3NTSTByUkkiLCAia2lkIjogInBvd2Vyc3luYyJ9"
8586
publicKey: "eyJhbGciOiAiUlMyNTYiLCAia3R5IjogIlJTQSIsICJuIjogInFhdVVnb0ZXenRNcjVEYks3bFIxZXUxazJrdllyblJkRGh1NDFyWnFLeWhDWkJya0FTS0d0N25KbVUwVEpKb1d0cFF2eHVvc0ZGeW1BMUhXQnNaY0dtVlcxdlowdDJlazl4THg5bjg2UWRIVWc1MktsRG9ZUzNtRTFaWW5BYzJfRDM3UmxyQkVxRXpuSnBNeDJ3VkpLcVdRZHlWSWh6Q082YzRnOWN3VExGbUhkVXVURXMzdDNBN1MyNENrUkM2TE1KSFFvRTJzay1uWlJyZE9fTHVNNUJJcVp2b1dWUC1Salp4OWk4OGdaaDhvOEcyWW1xZnMwczRzYW1fam85bmFaYlo4aFBFQ0FZdnZUZ29ObzRHMGpXZERZeGdPWHlXTE80bTk1SEdMSFJMZjZ5M29vdkZad2QwN2FFbThEU3dBX3hsY1V4WHNNZ0ZlYVVVZkp2NEV4USIsICJlIjogIkFRQUIiLCAia2lkIjogInBvd2Vyc3luYyJ9"
8687
# The lifetime duration of the access token, in minutes

example/devel.yaml

Lines changed: 0 additions & 80 deletions
This file was deleted.

0 commit comments

Comments
 (0)