Skip to content

Deploy grafana dashboards #249

Deploy grafana dashboards

Deploy grafana dashboards #249

name: Deploy grafana dashboards
on:
schedule:
# Run at 05:00 every day, ref: https://crontab.guru/#0_5_*_*_*
- cron: "0 5 * * *"
workflow_dispatch:
jobs:
deploy_grafana_dashboards:
runs-on: ubuntu-22.04
strategy:
# Don't stop other deployments if one fails
fail-fast: false
matrix:
include:
# The grafana for 2i2c cluster holds also info about all other
# clusters and gets an additional dashboard deployed for that
- cluster_name: 2i2c
deploy_flags: --dashboards-dir=global-dashboards
- cluster_name: 2i2c
- cluster_name: 2i2c-aws-us
- cluster_name: 2i2c-uk
- cluster_name: awi-ciroh
- cluster_name: catalystproject-africa
- cluster_name: catalystproject-latam
- cluster_name: cloudbank
- cluster_name: dubois
- cluster_name: earthscope
- cluster_name: gridsst
- cluster_name: hhmi
- cluster_name: jupyter-health
- cluster_name: jupyter-meets-the-earth
- cluster_name: kitware
- cluster_name: leap
- cluster_name: nasa-cryo
- cluster_name: nasa-esdis
- cluster_name: nasa-ghg
- cluster_name: nasa-veda
- cluster_name: nmfs-openscapes
- cluster_name: openscapes
- cluster_name: opensci
- cluster_name: pangeo-hubs
- cluster_name: pchub
- cluster_name: projectpythia
- cluster_name: queensu
- cluster_name: smithsonian
- cluster_name: strudel
- cluster_name: ubc-eoas
- cluster_name: utoronto
- cluster_name: victor
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install deployer
run: |
python3 -m pip install --editable .
- name: Install jsonnet (go-jsonnet)
run: |
JSONNET_VERSION=0.20.0
wget -qO- https://github.com/google/go-jsonnet/releases/download/v${JSONNET_VERSION}/go-jsonnet_${JSONNET_VERSION}_Linux_x86_64.tar.gz \
| tar -xvz --one-top-level=$HOME/.local/bin
- name: Install sops
uses: mdgreenwald/[email protected]
- name: Setup sops credentials to decrypt repo secrets
uses: google-github-actions/auth@v2
with:
credentials_json: "${{ secrets.GCP_KMS_DECRYPTOR_KEY }}"
- name: Deploy grafana dashboards for ${{ matrix.cluster_name }}
run: |
deployer grafana deploy-dashboards ${{ matrix.deploy_flags }} ${{ matrix.cluster_name }}