91 lines
2.3 KiB
YAML
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
|