134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
name: Setup Gitlab Demo in k3s
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
paths:
|
|
- '.github/workflows/setup-gitlab-demo.yml'
|
|
workflow_dispatch:
|
|
branches: [ 'main' ]
|
|
|
|
env:
|
|
DNS_AK: ${{ secrets.DNS_AK }}
|
|
DNS_SK: ${{ secrets.DNS_SK }}
|
|
AWS_AK: ${{ secrets.AWS_ACCESS_KEY }}
|
|
AWS_SK: ${{ secrets.AWS_SECRET_KEY }}
|
|
ALI_AK: ${{ secrets.ALI_AK }}
|
|
ALI_SK: ${{ secrets.ALI_SK }}
|
|
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }}
|
|
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
|
|
GITLAB_OIDC_CLIENT_TOKEN: ${{ secrets.GITLAB_OIDC_CLIENT_TOKEN }}
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: ./playbook
|
|
|
|
jobs:
|
|
setup-gcp-hk-k3s:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup K3S Cluster
|
|
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]
|
|
artifact ansible_host=35.220.216.69
|
|
|
|
[all:vars]
|
|
ansible_port=8022
|
|
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=35.220.216.69
|
|
EOF
|
|
ansible-playbook -i hosts/inventory jobs/init_k3s_cluster_artifact -D -C
|
|
Setup-Gitlab-In-K3S:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- setup-gcp-hk-k3s
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup Habor 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]
|
|
artifact ansible_host=35.220.216.69
|
|
|
|
[all:vars]
|
|
ansible_port=8022
|
|
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
|
|
ali_ak=$ALI_AK
|
|
ali_sk=$ALI_SK
|
|
smtp_password=$SMTP_PASSWORD
|
|
gitlab_oidc_client_token=$GITLAB_OIDC_CLIENT_TOKEN
|
|
EOF
|
|
ansible-playbook -i hosts/inventory jobs/init_gitlab -D
|
|
Setup-Agent-In-K3S:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- setup-gcp-hk-k3s
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup APP for 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]
|
|
artifact ansible_host=35.220.216.69
|
|
|
|
[all:vars]
|
|
ansible_port=8022
|
|
ansible_ssh_user=root
|
|
ansible_ssh_private_key_file=~/.ssh/id_rsa
|
|
ansible_host_key_checking=False
|
|
EOF
|
|
ansible-playbook -i hosts/inventory jobs/init_observability-agent -D -C
|