-
Notifications
You must be signed in to change notification settings - Fork 72
140 lines (123 loc) · 4.69 KB
/
rosa-multi-az-cluster-undeploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: Multi-AZ Clusters - Undeploy
on:
workflow_dispatch:
inputs:
clusterPrefix:
description: 'The prefix to be used when cleaning the clusters'
type: string
region:
description: 'The AWS region to create both clusters in. Defaults to "vars.AWS_DEFAULT_REGION" if omitted.'
type: string
skipAuroraDeletion:
description: 'Skip Aurora database deletion.'
type: boolean
default: false
activeActive:
description: 'When true undeploy an Active/Active Keycloak deployment'
type: boolean
default: false
workflow_call:
inputs:
clusterPrefix:
description: 'The prefix to be used when cleaning the clusters'
type: string
region:
description: 'The AWS region to create both clusters in. Defaults to "vars.AWS_DEFAULT_REGION" if omitted.'
type: string
skipAuroraDeletion:
description: 'Skip Aurora database deletion.'
type: boolean
default: false
activeActive:
description: 'When true undeploy an Active/Active Keycloak deployment'
type: boolean
default: false
env:
CLUSTER_PREFIX: ${{ inputs.clusterPrefix || format('gh-{0}', github.repository_owner) }}
REGION: ${{ github.event.inputs.region || vars.AWS_DEFAULT_REGION }}
jobs:
clear-keycloak-and-infinispan-deployment-with-aurora:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup ROSA CLI
uses: ./.github/actions/rosa-cli-setup
with:
aws-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-default-region: ${{ vars.AWS_DEFAULT_REGION }}
rosa-token: ${{ secrets.ROSA_TOKEN }}
- name: Setup Go Task
uses: ./.github/actions/task-setup
- name: Setup Java
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Setup OpenTofu
uses: opentofu/setup-opentofu@v1
with:
tofu_wrapper: false
- name: Login to OpenShift cluster
uses: ./.github/actions/oc-keycloak-login
with:
clusterName: ${{ inputs.clusterPrefix }}-a
- name: Get Keycloak Domain
uses: ./.github/actions/get-keycloak-url
with:
project: runner-keycloak
- name: Get KC Health URL
if: ${{ !inputs.activeActive }}
run: |
echo "KC_HEALTH_URL_CLUSTER_1=primary.${KEYCLOAK_URL:15}" >> $GITHUB_ENV
- name: Undeploy Active/Passive infinispan and keycloak
if: ${{ !inputs.activeActive }}
working-directory: provision/rosa-cross-dc
run: |
task undeploy
env:
ROSA_CLUSTER_NAME_1: ${{ env.CLUSTER_PREFIX }}-a
ROSA_CLUSTER_NAME_2: ${{ env.CLUSTER_PREFIX }}-b
KC_HEALTH_URL_CLUSTER_1: ${{ env.KC_HEALTH_URL_CLUSTER_1 }}
- name: Undeploy Active/Active infinispan and keycloak
if: ${{ inputs.activeActive }}
working-directory: provision/rosa-cross-dc
run: |
task undeploy-active-active
env:
ROSA_CLUSTER_NAME_1: ${{ env.CLUSTER_PREFIX }}-a
ROSA_CLUSTER_NAME_2: ${{ env.CLUSTER_PREFIX }}-b
- name: Undeploy aurora database
if: ${{ !inputs.skipAuroraDeletion }}
working-directory: provision/rosa-cross-dc
run: |
task delete-aurora
env:
AURORA_CLUSTER: ${{ env.CLUSTER_PREFIX }}
AURORA_REGION: ${{ env.REGION }}
ROSA_CLUSTER_NAME_1: ${{ env.CLUSTER_PREFIX }}-a
ROSA_CLUSTER_NAME_2: ${{ env.CLUSTER_PREFIX }}-b
- name: Set SUBDOMAIN env variable for route53 processing
if: ${{ !inputs.activeActive }}
run: |
echo "SUBDOMAIN=$(echo $KEYCLOAK_URL | grep -oP '(?<=client.).*?(?=.keycloak-benchmark.com)')" >> $GITHUB_ENV
- name: Delete Route53 Records
if: ${{ !inputs.activeActive }}
run: |
./provision/aws/route53/route53_delete.sh
env:
SUBDOMAIN: ${{ env.SUBDOMAIN }}
- name: Set ACCELERATOR_DNS env variable for Global Accelerator processing
if: ${{ inputs.activeActive }}
run: |
echo "ACCELERATOR_DNS=${KEYCLOAK_URL#"https://"}" >> $GITHUB_ENV
- name: Delete Global Accelerator
if: ${{ inputs.activeActive }}
run: ./provision/aws/global-accelerator/accelerator_multi_az_delete.sh
env:
ACCELERATOR_DNS: ${{ env.ACCELERATOR_DNS }}
CLUSTER_1: ${{ inputs.clusterPrefix }}-a
CLUSTER_2: ${{ inputs.clusterPrefix }}-b
KEYCLOAK_NAMESPACE: runner-keycloak