mirror of
https://gitlab.durp.info/durfy/runbooks/ansible.git
synced 2026-05-07 08:00:29 -05:00
66 lines
No EOL
1.4 KiB
YAML
66 lines
No EOL
1.4 KiB
YAML
spec:
|
|
inputs:
|
|
SCRIPT:
|
|
description: "Select which Ansible playbook to run."
|
|
options:
|
|
- ''
|
|
- 'base'
|
|
- 'k3s'
|
|
default: ''
|
|
type: string
|
|
|
|
ENVIRONMENT_NAME:
|
|
description: "Select the Environment"
|
|
options:
|
|
- 'dev'
|
|
default: 'dev'
|
|
type: string
|
|
|
|
---
|
|
variables:
|
|
SCRIPT: $[[ inputs.SCRIPT ]]
|
|
ENVIRONMENT_NAME: $[[ inputs.ENVIRONMENT_NAME ]]
|
|
ANSIBLE_CONFIG: "$CI_PROJECT_DIR/ansible.cfg"
|
|
|
|
stages:
|
|
- script
|
|
|
|
.ansible:
|
|
stage: script
|
|
variables:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
image:
|
|
name: registry.durp.info/ubuntu:latest
|
|
before_script:
|
|
- apt update && apt install tzdata ansible python3-pip -y
|
|
- eval $(ssh-agent -s)
|
|
- chmod 400 "$SSH_PRIVATE_KEY"
|
|
- ssh-add "$SSH_PRIVATE_KEY"
|
|
|
|
.ansible-k3s:
|
|
extends: .ansible
|
|
script:
|
|
- ansible-galaxy install -r $CI_PROJECT_DIR/ansible/roles/k3s/requirements.yaml
|
|
- ansible-playbook $CI_PROJECT_DIR/ansible/k3s.yaml -e cluster=$CLUSTER
|
|
|
|
ansible-base:
|
|
extends: .ansible
|
|
script:
|
|
- ansible-playbook $CI_PROJECT_DIR/ansible/base.yaml
|
|
rules:
|
|
- if: '$SCRIPT == "base"'
|
|
|
|
ansible-k3s-dev:
|
|
extends: .ansible-k3s
|
|
variables:
|
|
CLUSTER: "dev-cluster"
|
|
api_endpoint: "192.168.10.10"
|
|
k3s_version: "v1.35.0+k3s3"
|
|
k3s_token: $dev_k3s_token
|
|
rules:
|
|
- if: '$SCRIPT == "k3s" && $ENVIRONMENT_NAME == "dev"'
|
|
artifacts:
|
|
paths:
|
|
- $CI_PROJECT_DIR/kubeconfig
|
|
expire_in: 1 days
|
|
when: always |