From 9d3cdcdd1a1b63bc1774a3d193ec98d462b7b73e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20J=C3=A4ger?= Date: Sun, 7 Jan 2024 14:46:14 +0100 Subject: [PATCH] add values for bjw-s helm framework chart --- self-hosting/helm/README.md | 37 ++++++++++++ self-hosting/helm/values.yaml | 103 ++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 self-hosting/helm/README.md create mode 100644 self-hosting/helm/values.yaml diff --git a/self-hosting/helm/README.md b/self-hosting/helm/README.md new file mode 100644 index 000000000..64ccf0f3c --- /dev/null +++ b/self-hosting/helm/README.md @@ -0,0 +1,37 @@ +# Deployment using Helm + +### Prerequisites + +Make sure the Helm repository is installed as follows: + +```console +helm repo add bjw-s https://bjw-s.github.io/helm-charts +helm repo update +``` + +### Deployment + +In order to deploy the manifest for this example, issue the +following command: + +```console +helm install omnivore bjw-s/app-template --namespace omnivore --values values.yaml +``` + +This will apply the rendered manifest(s) to your cluster. + + +## Notes + +- using `sejaeger` docker images. You can build your own using: `build-and-push-images.sh` +- don't change the following because also hard coded: `PG_DB`, `PG_USER` +- requires postgres (+vector extension!) and elasticsearch +- make sure to change the values according to your setup, especially: postgres hostname, elasticsearch URL, omnivore URL +- information about possible setup see [https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/values.yaml](https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/values.yaml) + + +# TODOs + +- health checks +- RSS feeds +- Docs \ No newline at end of file diff --git a/self-hosting/helm/values.yaml b/self-hosting/helm/values.yaml new file mode 100644 index 000000000..5cc2d0ff5 --- /dev/null +++ b/self-hosting/helm/values.yaml @@ -0,0 +1,103 @@ +controllers: + main: + enabled: false + api: + enabled: true + type: deployment + strategy: Recreate + containers: + api: + image: + repository: sejaeger/omnivore-api + tag: 54ccbd4 + pullPolicy: IfNotPresent + env: + API_ENV: local + PG_HOST: postgres.postgres.svc.cluster.local + PG_USER: app_user + PG_DB: omnivore + PG_PORT: 5432 + PG_POOL_MAX: 20 + CLIENT_URL: https://omnivore.example.com + GATEWAY_URL: http://omnivore-api:8080/api + ES_URL: http://elasticsearch.elasticsearch.svc.cluster.local:9200 + ES_USERNAME: elastic + envFrom: + - secretRef: + name: omnivore-image-proxy-secret + - secretRef: + name: omnivore-jwt-secret + - secretRef: + name: omnivore-sso-jwt-secret + - secretRef: + name: omnivore-pg-password + - secretRef: + name: elasticsearch-auth-secret + - secretRef: + name: omnivore-content-fetch-token + initContainers: + migrate: + image: + repository: sejaeger/omnivore-migrate + tag: 54ccbd4 + pullPolicy: IfNotPresent + command: ["/bin/sh", "-c", "--"] + args: ["./packages/db/setup.sh"] + env: + PG_HOST: postgres.postgres.svc.cluster.local + PG_USER: app_user + PG_DB: omnivore + NO_DEMO_USER: 1 + envFrom: + - secretRef: + name: omnivore-pg-password + - secretRef: + name: postgres-admin-user-and-password + + web: + enabled: true + type: deployment + strategy: Recreate + containers: + web: + image: + repository: sejaeger/omnivore-web + tag: 54ccbd4 + pullPolicy: IfNotPresent + + content-fetch: + enabled: true + type: deployment + strategy: Recreate + containers: + content-fetch: + image: + repository: sejaeger/omnivore-content-fetch + tag: 54ccbd4 + pullPolicy: IfNotPresent + env: + REST_BACKEND_ENDPOINT: http://omnivore-api:8080/api + envFrom: + - secretRef: + name: omnivore-jwt-secret + - secretRef: + name: omnivore-content-fetch-token + +service: + main: + enabled: false + api: + controller: api + ports: + http: + port: 8080 + web: + controller: web + ports: + http: + port: 8080 + content-fetch: + controller: content-fetch + ports: + http: + port: 8080