Skip to content

trigger-mainnet-image-release #21

trigger-mainnet-image-release

trigger-mainnet-image-release #21

name: Mainnet - Deploy three validators network
on:
repository_dispatch:
types: [trigger-mainnet-image-release]
env:
refresh_metrics_containers_command: docker-compose stop && docker-compose rm -f && docker-compose pull && docker-compose up -d
copy_logs_command: docker logs runner_validator_1 > logs-$(date +'%d-%m-%Y_%H:%M:%S').log
jobs:
#READ-ONLY
deploy_mainnet_dave:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup GCloud SDK
uses: google-github-actions/[email protected]
with:
project_id: ${{ secrets.GCP_PROJECT }}
service_account_key: ${{ secrets.GCP_CE_KEY }}
- name: Export docker .env
shell: bash
run: |
echo "TAG=${{ github.event.client_payload.tag }}" > .env && \
echo '${{ secrets.ENV_READ_ONLY }}' >> .env
- name: Export application config
shell: bash
run: |
echo '${{ secrets.APP_MAINNET_DAVE_CONFIG }}' > ./node.yml && \
echo '${{ secrets.APP_MAINNET_BRIDGE_CONFIG }}' > ./bridge.yml && \
echo '${{ secrets.APP_MAINNET_ALERT_CONFIG }}' > ./monitoring/alertmanager/config.yml && \
echo '${{ secrets.APP_MAINNET_GRAFANA_CONFIG_ENV }}' > ./monitoring/grafana/config-overrides.env && \
echo '${{ secrets.APP_MAINNET_PROMETHEUS_CONFIG }}' > ./monitoring/prometheus/prometheus.yml && \
echo '${{ secrets.APP_MAINNET_PROMETHEUS_RULES_CONFIG }}' > ./monitoring/prometheus/rules.yml
- name: Copy files
run: |
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./.env ./docker-compose.yml ./node.yml ./bridge.yml ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~ && \
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./monitoring/alertmanager/config.yml ./monitoring/alertmanager/email.html ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~/monitoring/alertmanager && \
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./monitoring/grafana/config-overrides.env ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~/monitoring/grafana && \
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./monitoring/grafana/provisioning/dashboards/dashboards_provider.yml ./monitoring/grafana/provisioning/dashboards/validator_transfers_dashboard.json ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~/monitoring/grafana/provisioning/dashboards && \
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./monitoring/grafana/provisioning/datasources/datasources.yml ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~/monitoring/grafana/provisioning/datasources && \
gcloud compute scp --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} ./monitoring/prometheus/prometheus.yml ./monitoring/prometheus/rules.yml ${{ secrets.APP_MAINNET_DAVE_INSTANCE }}:~/monitoring/prometheus
- name: Copy logs
run: gcloud compute ssh ${{ secrets.APP_MAINNET_DAVE_INSTANCE }} --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} --command="${{ env.copy_logs_command }}"
- name: Refresh images and containers
run: gcloud compute ssh ${{ secrets.APP_MAINNET_DAVE_INSTANCE }} --zone=${{ secrets.APP_MAINNET_DAVE_ZONE }} --command="${{ env.refresh_metrics_containers_command }}"