# What this PR does Adds Service and Business Service migration to the Pager Duty Migrator. To test, in addition to the OnCall configs, you need to crate a Grafana Service Account with `Admin` permission and generate a token. You will set `GRAFANA_SERVICE_ACCOUNT_URL`, per the README, to `https://<namespace>:<token>@<server>` The namespace is the stack id, in the format of `stacks-<stack id>` Service migration is configurable, filterable, and idempotent. ## Which issue(s) this PR closes Related to [issue link here] <!-- *Note*: If you want the issue to be auto-closed once the PR is merged, change "Related to" to "Closes" in the line above. If you have more than one GitHub issue that this PR closes, be sure to preface each issue link with a [closing keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue). This ensures that the issue(s) are auto-closed once the PR has been merged. --> ## Checklist - [x] Unit, integration, and e2e (if applicable) tests updated - [x] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] Added the relevant release notes label (see labels prefixed w/ `release:`). These labels dictate how your PR will show up in the autogenerated release notes. --------- Co-authored-by: Joey Orlando <joey.orlando@grafana.com> Co-authored-by: GitHub Actions <actions@github.com> Co-authored-by: grafana-irm-app[bot] <165293418+grafana-irm-app[bot]@users.noreply.github.com> Co-authored-by: Joey Orlando <joseph.t.orlando@gmail.com> |
||
|---|---|---|
| .. | ||
| oncall | ||
| cr.yaml | ||
| ct.yaml | ||
| kind.yml | ||
| local_image.yml | ||
| README.md | ||
| simple.yml | ||
How to run the chart locally
-
Create the cluster with kind
Make sure ports 30001, 30002 (Grafana, optional) are available
kind create cluster --image kindest/node:v1.24.7 --config kind.yml -
(Optional) Build oncall image locally and load it to kind cluster
docker build ../engine -t oncall/engine:latest --target dev kind load docker-image oncall/engine:latestAlso make sure to add the following lines to your
simple.yml(you may also need to enabledevMode):image: repository: oncall/engine tag: latest pullPolicy: IfNotPresent oncall: devMode: trueAlternatively you can also pass an extra
--values ./local_image.ymlin the command below. -
Install the helm chart
helm install helm-testing \ --wait \ --values ./simple.yml \ ./oncall -
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" -
Clean up If you happen to
helm uninstall helm-testingbe sure to delete all the Persistent Volume Claims, as Postgres stores the auto-generated password on disk, and the nexthelm installwill fail.kubectl delete pvc --all kubectl delete pv --allThis, of course, will delete all the PVs and PVCs also :-)
kind delete cluster