Skip to content

Commit ec50d71

Browse files
committed
seperate workflows into independant runnable units
1 parent 90262aa commit ec50d71

File tree

3 files changed

+90
-93
lines changed

3 files changed

+90
-93
lines changed

.github/workflows/ansible.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Teleport Workflow
2+
on:
3+
workflow_call:
4+
workflow_dispatch:
5+
ansible:
6+
name: Ansible Kubernetes Deployment
7+
runs-on: ubuntu-latest
8+
env:
9+
TF_TOKEN_app_terraform_io: ${{ secrets.TF_TOKEN_APP_TERRAFORM_IO }}
10+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
11+
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
12+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
13+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
14+
defaults:
15+
run:
16+
working-directory: .
17+
18+
steps:
19+
- name: Checkout repo
20+
uses: actions/checkout@v2
21+
22+
23+
- uses: hashicorp/setup-terraform@v3
24+
with:
25+
terraform_version: latest
26+
27+
- run: terraform init -reconfigure
28+
working-directory: ./terraform
29+
30+
31+
- name: Generate ansible inventory
32+
run: bash ./scripts/generate_ansible_inv.sh
33+
34+
- name: Run Ansible Inventory
35+
run: bash ./scripts/install_k3s.sh
36+
37+
38+
- name: Send Slack alert
39+
run: |
40+
curl -X POST -H 'Content-type: application/json' --data '{"text":"Kubernetes has been installed and configured on the cluster"}' ${{ secrets.SLACK_WEBHOOK }}
41+

.github/workflows/teleport.yaml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Teleport Workflow
2+
on:
3+
workflow_call:
4+
workflow_dispatch:
5+
6+
teleport:
7+
name: Install and setup Teleport with github
8+
runs-on: ubuntu-latest
9+
env:
10+
TF_TOKEN_app_terraform_io: ${{ secrets.TF_TOKEN_APP_TERRAFORM_IO }}
11+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
12+
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
13+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
14+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
15+
EA_GITHUB_CLIENT_ID: ${{ secrets.EA_GITHUB_CLIENT_ID }}
16+
EA_GITHUB_CLIENT_SECRET: ${{ secrets.EA_GITHUB_CLIENT_SECRET }}
17+
ANSIBLE_VAULT_PASSWORD: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
18+
19+
defaults:
20+
run:
21+
working-directory: .
22+
23+
steps:
24+
- name: Checkout repo
25+
uses: actions/checkout@v2
26+
27+
28+
- uses: hashicorp/setup-terraform@v3
29+
with:
30+
terraform_version: latest
31+
32+
- run: terraform init -reconfigure
33+
working-directory: ./terraform
34+
35+
36+
- name: Generate ansible inventory
37+
run: bash ./scripts/generate_ansible_inv.sh
38+
39+
- name: Run Ansible Inventory
40+
run: bash ./scripts/setup_teleport.sh
41+
42+
- name: Send Slack alert
43+
run: |
44+
curl -X POST -H 'Content-type: application/json' --data '{"text":"Teleport has been installed and configured on the master VM https://teleport.exploravis.mywire.org"}' ${{ secrets.SLACK_WEBHOOK }}
45+

.github/workflows/terraform.yml

Lines changed: 4 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,8 @@ on:
44
# branches:
55
# - main
66
workflow_dispatch:
7-
inputs:
8-
run_terraform:
9-
description: 'Run Terraform job'
10-
required: false
11-
default: 'true'
12-
run_ansible:
13-
description: 'Run Ansible job'
14-
required: false
15-
default: 'true'
16-
run_teleport:
17-
description: 'Run Teleport job'
18-
required: false
19-
default: 'true'
20-
217
jobs:
228
terraform:
23-
if: ${{ github.event.inputs.run_terraform == 'true' }}
249
runs-on: ubuntu-latest
2510
env:
2611
TF_TOKEN_app_terraform_io: ${{ secrets.TF_TOKEN_APP_TERRAFORM_IO }}
@@ -115,84 +100,10 @@ jobs:
115100
116101
117102
ansible:
118-
if: ${{ github.event.inputs.run_ansible == 'true' }}
119-
name: Ansible Kubernetes Deployment
120-
runs-on: ubuntu-latest
121-
needs: terraform
122-
env:
123-
TF_TOKEN_app_terraform_io: ${{ secrets.TF_TOKEN_APP_TERRAFORM_IO }}
124-
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
125-
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
126-
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
127-
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
128-
defaults:
129-
run:
130-
working-directory: .
131-
132-
steps:
133-
- name: Checkout repo
134-
uses: actions/checkout@v2
135-
136-
137-
- uses: hashicorp/setup-terraform@v3
138-
with:
139-
terraform_version: latest
140-
141-
- run: terraform init -reconfigure
142-
working-directory: ./terraform
143-
144-
145-
- name: Generate ansible inventory
146-
run: bash ./scripts/generate_ansible_inv.sh
147-
148-
- name: Run Ansible Inventory
149-
run: bash ./scripts/install_k3s.sh
150-
151-
152-
- name: Send Slack alert
153-
run: |
154-
curl -X POST -H 'Content-type: application/json' --data '{"text":"Kubernetes has been installed and configured on the cluster"}' ${{ secrets.SLACK_WEBHOOK }}
155-
103+
needs: terraform
104+
uses: ./.github/workflows/ansible.yml
156105

157106
teleport:
158-
if: ${{ github.event.inputs.run_teleport == 'true' }}
159-
name: Install and setup Teleport with github
160-
runs-on: ubuntu-latest
161-
needs: ansible
162-
env:
163-
TF_TOKEN_app_terraform_io: ${{ secrets.TF_TOKEN_APP_TERRAFORM_IO }}
164-
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
165-
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
166-
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
167-
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
168-
EA_GITHUB_CLIENT_ID: ${{ secrets.EA_GITHUB_CLIENT_ID }}
169-
EA_GITHUB_CLIENT_SECRET: ${{ secrets.EA_GITHUB_CLIENT_SECRET }}
170-
ANSIBLE_VAULT_PASSWORD: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
171-
172-
defaults:
173-
run:
174-
working-directory: .
175-
176-
steps:
177-
- name: Checkout repo
178-
uses: actions/checkout@v2
179-
180-
181-
- uses: hashicorp/setup-terraform@v3
182-
with:
183-
terraform_version: latest
184-
185-
- run: terraform init -reconfigure
186-
working-directory: ./terraform
187-
188-
189-
- name: Generate ansible inventory
190-
run: bash ./scripts/generate_ansible_inv.sh
191-
192-
- name: Run Ansible Inventory
193-
run: bash ./scripts/setup_teleport.sh
194-
195-
- name: Send Slack alert
196-
run: |
197-
curl -X POST -H 'Content-type: application/json' --data '{"text":"Teleport has been installed and configured on the master VM https://teleport.exploravis.mywire.org"}' ${{ secrets.SLACK_WEBHOOK }}
107+
needs: ansible
108+
uses: ./.github/workflows/teleport.yml
198109

0 commit comments

Comments
 (0)