oncall-engine/helm
Matthias Teich 1bd157f7f3
Fix helm hook for migration job (#1789)
# What this PR does
This PR fixes the migration job when using helm hooks.
## Which issue(s) this PR fixes
Currently when enabling the useHooks option in the helm chart there is a
deadlock as the hook is defined as "post-upgrade, post-install". In this
case the database migration will only be executed when all other pods
are ready. This will not happen as the pods are waiting for the database
migration. So we need to use "pre-install, preupgrade" instead of
"post-install,post-upgrade"

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if
not required)

Co-authored-by: Ildar Iskhakov <Ildar.iskhakov@grafana.com>
2023-04-20 05:39:53 +00:00
..
oncall Fix helm hook for migration job (#1789) 2023-04-20 05:39:53 +00:00
cr.yaml Remove helm chart signing (#1126) 2023-01-12 19:02:44 +08:00
ct.yaml Remove trailing slash 2022-06-21 15:03:42 +03:00
kind.yml first UI integration test - phone verification + receive SMS alert flow (#900) 2023-03-06 16:28:52 +00:00
README.md first UI integration test - phone verification + receive SMS alert flow (#900) 2023-03-06 16:28:52 +00:00
simple.yml first UI integration test - phone verification + receive SMS alert flow (#900) 2023-03-06 16:28:52 +00:00
values-arm64.yml Add new ci pipeline: helm chart end to end testing (#855) 2022-11-21 16:10:25 +01:00
values-local-image.yml first UI integration test - phone verification + receive SMS alert flow (#900) 2023-03-06 16:28:52 +00:00

How to run the chart locally

  1. Create the cluster with kind

    Make sure ports 30001 and 30002 are free on your machine

    kind create cluster --image kindest/node:v1.24.7 --config kind.yml
    
  2. (Optional) Build oncall image locally and load it to kind cluster

  3. docker build ../engine -t oncall/engine:latest --target dev
    kind load docker-image oncall/engine:latest
    
  4. Install the helm chart

       helm install helm-testing \
       --wait \
       --timeout 30m \
       --wait-for-jobs \
       --values ./simple.yml \
       --values ./values-arm64.yml \
       ./oncall
    
  5. Get credentials

    echo "\n\nOpen Grafana on localhost:30002 with credentials - user: admin, password: $(kubectl get secret --namespace default helm-testing-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo)"
    echo "Open Plugins -> Grafana OnCall -> fill form: backend url: http://host.docker.internal:30001"
    
  6. Clean up

    kind delete cluster