Skip to content

Ansible --02- Houskeeping #76

Ansible --02- Houskeeping

Ansible --02- Houskeeping #76

name: Ansible --02- Houskeeping
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * 3,6' # 00:05 UTC on Wednesdays and Saturdays (6 hour maintenance window)
jobs:
uptime:
name: Uptime
strategy:
fail-fast: false
matrix:
host_groups:
- ops_all
- stg_oldeworld_api
- prd_oldeworld_api
- stg_oldeworld_pxy
- prd_oldeworld_pxy
- stg_oldeworld_nws
- prd_oldeworld_nws
- stg_oldeworld_jms
- prd_oldeworld_jms
- stg_oldeworld_clt
- prd_oldeworld_clt_eng
- prd_oldeworld_clt_chn
- prd_oldeworld_clt_cnt
- prd_oldeworld_clt_esp
- prd_oldeworld_clt_ger
- prd_oldeworld_clt_ita
- prd_oldeworld_clt_jpn
- prd_oldeworld_clt_por
- prd_oldeworld_clt_ukr
- prd_oldeworld_clt_swa
uses: freeCodeCamp/infra/.github/workflows/ansible--uptime.yml@main
with:
hosts: ${{ matrix.host_groups }}
verbosity: '-v'
serial: 3
secrets:
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
wait-on-uptime:
name: Wait on Uptime
needs: uptime
runs-on: ubuntu-latest
steps:
- name: Wait for 300 seconds
run: sleep 300
update:
name: Update
needs: wait-on-uptime
strategy:
fail-fast: false
matrix:
host_groups:
- ops_all
- stg_oldeworld_api
- prd_oldeworld_api
- stg_oldeworld_pxy
- prd_oldeworld_pxy
- stg_oldeworld_nws
- prd_oldeworld_nws
- stg_oldeworld_jms
- prd_oldeworld_jms
- stg_oldeworld_clt
- prd_oldeworld_clt_eng
- prd_oldeworld_clt_chn
- prd_oldeworld_clt_cnt
- prd_oldeworld_clt_esp
- prd_oldeworld_clt_ger
- prd_oldeworld_clt_ita
- prd_oldeworld_clt_jpn
- prd_oldeworld_clt_por
- prd_oldeworld_clt_ukr
- prd_oldeworld_clt_swa
uses: freeCodeCamp/infra/.github/workflows/ansible--update.yml@main
with:
hosts: ${{ matrix.host_groups }}
verbosity: '-v'
serial: 1
secrets:
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
wait-on-update:
name: Wait on Update
needs: update
runs-on: ubuntu-latest
steps:
- name: Wait for 300 seconds
run: sleep 300
reboot-web:
name: Reboot Ingress
needs: wait-on-update
strategy:
fail-fast: false
matrix:
host_groups:
- stg_oldeworld_pxy
- prd_oldeworld_pxy
uses: freeCodeCamp/infra/.github/workflows/ansible--reboot.yml@main
with:
hosts: ${{ matrix.host_groups }}
verbosity: '-v'
serial: 1
secrets:
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
wait-on-reboot-web:
name: Wait on Reboot (Web)
needs: reboot-web
runs-on: ubuntu-latest
steps:
- name: Wait for 300 seconds
run: sleep 300
reboot:
name: Reboot
needs: wait-on-reboot-web
strategy:
fail-fast: false
matrix:
host_groups:
- ops_all
- stg_oldeworld_api
- prd_oldeworld_api
- stg_oldeworld_nws
- prd_oldeworld_nws
- stg_oldeworld_jms
- prd_oldeworld_jms
- stg_oldeworld_clt
- prd_oldeworld_clt_eng
- prd_oldeworld_clt_chn
- prd_oldeworld_clt_cnt
- prd_oldeworld_clt_esp
- prd_oldeworld_clt_ger
- prd_oldeworld_clt_ita
- prd_oldeworld_clt_jpn
- prd_oldeworld_clt_por
- prd_oldeworld_clt_ukr
- prd_oldeworld_clt_swa
uses: freeCodeCamp/infra/.github/workflows/ansible--reboot.yml@main
with:
hosts: ${{ matrix.host_groups }}
verbosity: '-v'
serial: 1
secrets:
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}