feat: add switch_dns job with manual approval
This commit is contained in:
parent
88f62aac60
commit
77d2ba9067
42
.github/workflows/deploy-env-migration.yaml
vendored
42
.github/workflows/deploy-env-migration.yaml
vendored
@ -299,3 +299,45 @@ jobs:
|
|||||||
migrate_site.yml \
|
migrate_site.yml \
|
||||||
-e "target_domain=${{ github.event.inputs.target_domain_base }}" \
|
-e "target_domain=${{ github.event.inputs.target_domain_base }}" \
|
||||||
-e "migration_flow.source.domain_base=${{ github.event.inputs.source_domain_base }}"
|
-e "migration_flow.source.domain_base=${{ github.event.inputs.source_domain_base }}"
|
||||||
|
|
||||||
|
switch_dns:
|
||||||
|
name: Switch DNS Traffic (Manual Approval)
|
||||||
|
needs: migrate_data
|
||||||
|
if: ${{ always() && github.event.inputs.terraform_action == 'apply' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: production
|
||||||
|
steps:
|
||||||
|
- name: Download CMDB
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
name: site-recovery-cmdb
|
||||||
|
path: cmdb
|
||||||
|
|
||||||
|
- name: Checkout playbooks
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
repository: ai-workspace-infra/playbooks
|
||||||
|
ref: ${{ github.event.inputs.infra_ref }}
|
||||||
|
path: infra/playbooks
|
||||||
|
|
||||||
|
- name: Install Ansible
|
||||||
|
run: pip install --quiet ansible
|
||||||
|
|
||||||
|
- name: Load Vault secrets for DNS
|
||||||
|
id: vault
|
||||||
|
uses: hashicorp/vault-action@v4
|
||||||
|
with:
|
||||||
|
url: ${{ env.VAULT_ADDR }}
|
||||||
|
method: jwt
|
||||||
|
role: ${{ env.VAULT_ROLE }}
|
||||||
|
jwtGithubAudience: vault
|
||||||
|
ignoreNotFound: true
|
||||||
|
secrets: |
|
||||||
|
${{ env.VAULT_KV }} CLOUDFLARE_API_TOKEN | CLOUDFLARE_API_TOKEN
|
||||||
|
|
||||||
|
- name: Switch Cloudflare DNS Records
|
||||||
|
env:
|
||||||
|
CLOUDFLARE_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_API_TOKEN }}
|
||||||
|
run: |
|
||||||
|
cd infra/playbooks
|
||||||
|
ansible-playbook -i ../../cmdb/inventory update_cloudflare_svc_plus_dns.yml
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user