runbooks-ansible/.gitlab-ci.yml
2026-02-11 05:24:28 -06:00

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