iac_modules/.github/workflows/setup-api-gateway-with-existed-vhost.yml

91 lines
2.3 KiB
YAML

name: setup API Gateway demo with existed vhost
on:
pull_request:
push:
paths:
- '.github/workflows/setup-api-gateway-with-existed-vhost.yml'
workflow_dispatch:
branches: [ 'main' ]
env:
DNS_AK: ${{ secrets.DNS_AK }}
DNS_SK: ${{ secrets.DNS_SK }}
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }}
defaults:
run:
working-directory: ./playbook
jobs:
setup-api-gateway-cluster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup API Gateway Cluster in K3S
shell: bash
run: |
export ANSIBLE_HOST_KEY_CHECKING=False
sudo apt install jq ansible -y
mkdir -pv ~/.ssh/
cat > ~/.ssh/id_rsa << EOF
${SSH_PRIVATE_KEY}
EOF
sudo chmod 0400 ~/.ssh/id_rsa
md5sum ~/.ssh/id_rsa
mkdir -pv hosts/
cat > hosts/inventory << EOF
[master]
apisix ansible_host=34.92.35.136
[all:vars]
ansible_port=22
ansible_ssh_user=root
ansible_ssh_private_key_file=~/.ssh/id_rsa
ansible_host_key_checking=False
dns_ak=$DNS_AK
dns_sk=$DNS_SK
ingress_ip=34.92.35.136
EOF
ansible-playbook -i hosts/inventory jobs/init_k3s_cluster_apisix -D
setup-monitor-agent:
runs-on: ubuntu-latest
needs:
- setup-api-gateway-cluster
steps:
- uses: actions/checkout@v3
- name: Setup Observability-agent in K3S
shell: bash
run: |
export ANSIBLE_HOST_KEY_CHECKING=False
sudo apt install jq ansible -y
mkdir -pv ~/.ssh/
cat > ~/.ssh/id_rsa << EOF
${SSH_PRIVATE_KEY}
EOF
sudo chmod 0400 ~/.ssh/id_rsa
md5sum ~/.ssh/id_rsa
mkdir -pv hosts/
cat > hosts/inventory << EOF
[master]
apisix ansible_host=34.92.35.136
[all:vars]
ansible_port=22
ansible_ssh_user=root
ansible_ssh_private_key_file=~/.ssh/id_rsa
ansible_host_key_checking=False
datadog_token=$DATADOG_API_KEY
EOF
ansible-playbook -i hosts/inventory jobs/init_observability-agent -D