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/ansible/kubeconfig expire_in: 1 days when: always