add use-setup: devops, observability server/agent
This commit is contained in:
parent
076be7e396
commit
53997ba47d
15
.github/workflows/iac-pipeline-create.yml
vendored
15
.github/workflows/iac-pipeline-create.yml
vendored
@ -39,6 +39,21 @@ jobs:
|
||||
needs:
|
||||
- apply-cluster-resources
|
||||
|
||||
setup-observability-server:
|
||||
uses: open-source-solution-design/Modern-Container-Application-Reference-Architecture/.github/workflows/use-setup-observability-server.yml@main
|
||||
with:
|
||||
domain: 'svc.plus'
|
||||
cluster_name: 'monitor'
|
||||
ssh_host_name: 'monitor'
|
||||
secrets:
|
||||
GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }}
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
DNS_AK: ${{ secrets.DNS_AK }}
|
||||
DNS_SK: ${{ secrets.DNS_SK }}
|
||||
SSH_USER: ${{ secrets.HOST_USER }}
|
||||
needs:
|
||||
- setup-monitor-cluster
|
||||
|
||||
setup-devops-cluster:
|
||||
uses: open-source-solution-design/Modern-Container-Application-Reference-Architecture/.github/workflows/use-setup-k3s-cluster.yml@main
|
||||
with:
|
||||
|
||||
86
.github/workflows/use-setup-devops-server.yml
vendored
Normal file
86
.github/workflows/use-setup-devops-server.yml
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
name: Workflow Call Setup DevOPS Server
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
domain:
|
||||
required: true
|
||||
type: string
|
||||
cluster_name:
|
||||
required: true
|
||||
type: string
|
||||
ssh_host_name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
GCP_CREDENTIALS_JSON:
|
||||
required: true
|
||||
SSH_PRIVATE_KEY:
|
||||
required: true
|
||||
DNS_AK:
|
||||
required: true
|
||||
DNS_SK:
|
||||
required: true
|
||||
SSH_USER:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
setup-app-cluster:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DNS_AK: ${{ secrets.DNS_AK }}
|
||||
DNS_SK: ${{ secrets.DNS_SK }}
|
||||
SSH_USER: ${{ secrets.SSH_USER }}
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_HOST_DOMAIN: "${{ inputs.ssh_host_name }}.${{ inputs.domain }}"
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Pre Setup
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y python3-pip jq
|
||||
python -m pip install --upgrade pip jinja2
|
||||
|
||||
- name: Set up Terraform
|
||||
uses: hashicorp/setup-terraform@v1
|
||||
with:
|
||||
terraform_version: 1.6.4
|
||||
|
||||
- name: Authenticate with Google Cloud
|
||||
uses: google-github-actions/auth@v1
|
||||
with:
|
||||
credentials_json: ${{ secrets.GCP_CREDENTIALS_JSON }}
|
||||
|
||||
- name: Extract SSH Host IP and Set as Env Variable
|
||||
run: |
|
||||
python3 scripts/init.py && terraform init
|
||||
terraform output -raw ${{ inputs.ssh_host_name }}
|
||||
echo "SSH_HOST_IP=$(terraform-bin output -raw ${{ inputs.ssh_host_name }} 2>/dev/null)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
working-directory: iac_modules/terraform/gcp/vhost/
|
||||
|
||||
- name: Update playbook hosts
|
||||
run: bash observability-platform-pre_setup.sh
|
||||
working-directory: playbook/
|
||||
|
||||
- name: Deploy Gitlab
|
||||
run: |
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
ansible-playbook -i hosts/inventory init_gitlab -e "cluster_name=${{inputs.ssh_host_name}}" -e "domain=${{inputs.domain}}" -D
|
||||
working-directory: playbook/
|
||||
|
||||
- name: Deploy Harbor
|
||||
run: |
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
ansible-playbook -i hosts/inventory init_harbor -e "cluster_name=${{inputs.ssh_host_name}}" -e "domain=${{inputs.domain}}" -D
|
||||
working-directory: playbook/
|
||||
|
||||
- name: Deploy Chartmuseum
|
||||
run: |
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
ansible-playbook -i hosts/inventory init_chartmuseum -e "cluster_name=${{inputs.ssh_host_name}}" -e "domain=${{inputs.domain}}" -D
|
||||
working-directory: playbook/
|
||||
75
.github/workflows/use-setup-observability-agent.yml
vendored
Normal file
75
.github/workflows/use-setup-observability-agent.yml
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
name: Workflow Call Setup Observability Agent
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
domain:
|
||||
required: true
|
||||
type: string
|
||||
cluster_name:
|
||||
required: true
|
||||
type: string
|
||||
ssh_host_name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
GCP_CREDENTIALS_JSON:
|
||||
required: true
|
||||
SSH_PRIVATE_KEY:
|
||||
required: true
|
||||
DNS_AK:
|
||||
required: true
|
||||
DNS_SK:
|
||||
required: true
|
||||
SSH_USER:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
setup-app-cluster:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DNS_AK: ${{ secrets.DNS_AK }}
|
||||
DNS_SK: ${{ secrets.DNS_SK }}
|
||||
SSH_USER: ${{ secrets.SSH_USER }}
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_HOST_DOMAIN: "${{ inputs.ssh_host_name }}.${{ inputs.domain }}"
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Pre Setup
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y python3-pip jq
|
||||
python -m pip install --upgrade pip jinja2
|
||||
|
||||
- name: Set up Terraform
|
||||
uses: hashicorp/setup-terraform@v1
|
||||
with:
|
||||
terraform_version: 1.6.4
|
||||
|
||||
- name: Authenticate with Google Cloud
|
||||
uses: google-github-actions/auth@v1
|
||||
with:
|
||||
credentials_json: ${{ secrets.GCP_CREDENTIALS_JSON }}
|
||||
|
||||
- name: Extract SSH Host IP and Set as Env Variable
|
||||
run: |
|
||||
python3 scripts/init.py && terraform init
|
||||
terraform output -raw ${{ inputs.ssh_host_name }}
|
||||
echo "SSH_HOST_IP=$(terraform-bin output -raw ${{ inputs.ssh_host_name }} 2>/dev/null)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
working-directory: iac_modules/terraform/gcp/vhost/
|
||||
|
||||
- name: Update playbook hosts
|
||||
run: bash observability-platform-pre_setup.sh
|
||||
working-directory: playbook/
|
||||
|
||||
- name: Setup Observability Agent
|
||||
shell: bash
|
||||
run: |
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
ansible-playbook -i hosts/inventory init_observability-agent -e "cluster_name=${{inputs.ssh_host_name}}" -e "domain=${{inputs.domain}}" -D
|
||||
working-directory: playbook/
|
||||
75
.github/workflows/use-setup-observability-server.yml
vendored
Normal file
75
.github/workflows/use-setup-observability-server.yml
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
name: Workflow Call Setup Observability Server
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
domain:
|
||||
required: true
|
||||
type: string
|
||||
cluster_name:
|
||||
required: true
|
||||
type: string
|
||||
ssh_host_name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
GCP_CREDENTIALS_JSON:
|
||||
required: true
|
||||
SSH_PRIVATE_KEY:
|
||||
required: true
|
||||
DNS_AK:
|
||||
required: true
|
||||
DNS_SK:
|
||||
required: true
|
||||
SSH_USER:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
setup-app-cluster:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DNS_AK: ${{ secrets.DNS_AK }}
|
||||
DNS_SK: ${{ secrets.DNS_SK }}
|
||||
SSH_USER: ${{ secrets.SSH_USER }}
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_HOST_DOMAIN: "${{ inputs.ssh_host_name }}.${{ inputs.domain }}"
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Pre Setup
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y python3-pip jq
|
||||
python -m pip install --upgrade pip jinja2
|
||||
|
||||
- name: Set up Terraform
|
||||
uses: hashicorp/setup-terraform@v1
|
||||
with:
|
||||
terraform_version: 1.6.4
|
||||
|
||||
- name: Authenticate with Google Cloud
|
||||
uses: google-github-actions/auth@v1
|
||||
with:
|
||||
credentials_json: ${{ secrets.GCP_CREDENTIALS_JSON }}
|
||||
|
||||
- name: Extract SSH Host IP and Set as Env Variable
|
||||
run: |
|
||||
python3 scripts/init.py && terraform init
|
||||
terraform output -raw ${{ inputs.ssh_host_name }}
|
||||
echo "SSH_HOST_IP=$(terraform-bin output -raw ${{ inputs.ssh_host_name }} 2>/dev/null)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
working-directory: iac_modules/terraform/gcp/vhost/
|
||||
|
||||
- name: Update playbook hosts
|
||||
run: bash observability-platform-pre_setup.sh
|
||||
working-directory: playbook/
|
||||
|
||||
- name: Setup Observability Server
|
||||
shell: bash
|
||||
run: |
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
ansible-playbook -i hosts/inventory init_observability-server -e "cluster_name=${{inputs.ssh_host_name}}" -e "domain=${{inputs.domain}}" -D
|
||||
working-directory: playbook/
|
||||
Loading…
Reference in New Issue
Block a user