oncall-engine/helm
Bob Cotton 0e1dcd2e71
Service to service model migration (#5485)
# 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>
2025-03-15 21:07:59 -04:00
..
oncall Service to service model migration (#5485) 2025-03-15 21:07:59 -04:00
cr.yaml configure yamllint pre-commit step (#2728) 2023-08-03 02:35:08 -04:00
ct.yaml configure yamllint pre-commit step (#2728) 2023-08-03 02:35:08 -04:00
kind.yml Update helm chart to detach integrations pod (#3204) 2023-11-03 12:34:22 +00:00
local_image.yml Add missing referenced local_image.yml for local helm setup (#3268) 2023-11-03 15:30:51 +00:00
README.md Update helm chart for newer grafana + enable externalServiceAccounts (#4876) 2024-09-05 12:18:07 -06:00
simple.yml Update helm chart for newer grafana + enable externalServiceAccounts (#4876) 2024-09-05 12:18:07 -06:00

How to run the chart locally

  1. 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
    
  2. (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:latest
    

    Also make sure to add the following lines to your simple.yml (you may also need to enable devMode):

    image:
      repository: oncall/engine
      tag: latest
      pullPolicy: IfNotPresent
    oncall:
      devMode: true
    

    Alternatively you can also pass an extra --values ./local_image.yml in the command below.

  3. Install the helm chart

       helm install helm-testing \
       --wait \
       --values ./simple.yml \
       ./oncall
    
  4. 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"
    
  5. Clean up If you happen to helm uninstall helm-testing be sure to delete all the Persistent Volume Claims, as Postgres stores the auto-generated password on disk, and the next helm install will fail.

    kubectl delete pvc --all
    kubectl delete pv --all
    

    This, of course, will delete all the PVs and PVCs also :-)

    kind delete cluster