78 lines
1.9 KiB
YAML
78 lines
1.9 KiB
YAML
kind: pipeline
|
|
type: kubernetes
|
|
name: run-playbooks
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
trigger:
|
|
event:
|
|
include:
|
|
- custom
|
|
- cron
|
|
|
|
steps:
|
|
- name: clone-repo
|
|
image: alpine/git:latest
|
|
commands:
|
|
- git clone https://gitea.akshun-lab.cc/aggarwalakshun/ansible.git /repo
|
|
volumes:
|
|
- name: repo
|
|
path: /repo
|
|
|
|
- name: setup-environment
|
|
image: alpine:latest
|
|
depends_on: [clone-repo]
|
|
commands:
|
|
- echo -e "$ANSIBLE_PRIVATE_KEY" > /repo/default-key
|
|
- echo "$ANSIBLE_BECOME_PASS" > /repo/become-pass.txt
|
|
- chmod 600 /repo/default-key
|
|
volumes:
|
|
- name: repo
|
|
path: /repo
|
|
environment:
|
|
ANSIBLE_PRIVATE_KEY:
|
|
from_secret: ANSIBLE_PRIVATE_KEY
|
|
ANSIBLE_BECOME_PASS:
|
|
from_secret: ANSIBLE_BECOME_PASS
|
|
|
|
- name: update-packages
|
|
image: alpine/ansible:2.18.6
|
|
depends_on: [setup-environment]
|
|
environment:
|
|
ANSIBLE_HOST_KEY_CHECKING: 'False'
|
|
ANSIBLE_PYTHON_INTERPRETER: 'auto_silent'
|
|
commands:
|
|
- ansible-playbook -i /repo/inventory.yml --vault-pass-file /repo/become-pass.txt --key-file /repo/default-key /repo/playbooks/update-packages.yml
|
|
volumes:
|
|
- name: repo
|
|
path: /repo
|
|
|
|
- name: prune-images
|
|
image: alpine/ansible:2.18.6
|
|
depends_on: [setup-environment]
|
|
environment:
|
|
ANSIBLE_HOST_KEY_CHECKING: 'False'
|
|
ANSIBLE_PYTHON_INTERPRETER: 'auto_silent'
|
|
commands:
|
|
- ansible-playbook -i /repo/inventory.yml --vault-pass-file /repo/become-pass.txt --key-file /repo/default-key /repo/playbooks/prune-k3s.yml
|
|
volumes:
|
|
- name: repo
|
|
path: /repo
|
|
|
|
- name: update-proxmox
|
|
image: alpine/ansible:2.18.6
|
|
depends_on: [setup-environment]
|
|
environment:
|
|
ANSIBLE_HOST_KEY_CHECKING: 'False'
|
|
ANSIBLE_PYTHON_INTERPRETER: 'auto_silent'
|
|
commands:
|
|
- ansible-playbook -i /repo/inventory.yml --vault-pass-file /repo/become-pass.txt --key-file /repo/default-key /repo/playbooks/update-proxmox.yml
|
|
volumes:
|
|
- name: repo
|
|
path: /repo
|
|
|
|
volumes:
|
|
- name: repo
|
|
temp: {}
|