initial structure

This commit is contained in:
Luis Guzmán 2026-01-20 15:59:33 -06:00
parent f744c3806b
commit 63cabdb463
4 changed files with 78 additions and 0 deletions

9
ansible.cfg Normal file
View File

@ -0,0 +1,9 @@
[defaults]
inventory = inventory/hosts.ini
host_key_checking = False
stdout_callback = yaml
bin_ansible_callbacks = True
[privilege_escalation]
become = True
become_method = sudo

View File

@ -0,0 +1,12 @@
# Global defaults for this maintenance run.
sbuild_targets_ecne:
- ecne-arm64
- ecne-armhf
sbuild_targets_aramo:
- aramo-arm64
- aramo-armhf
# Equivalent to: sleep 20
sleep_after_sbuild_seconds: 20

4
inventory/hosts.ini Normal file
View File

@ -0,0 +1,4 @@
[builders]
host1:IP1 ansible_user=userA
host2:IP2 ansible_user=userB

View File

@ -0,0 +1,53 @@
---
- name: sbuild-update + apt dist-upgrade maintenance
hosts: builders
become: true
gather_facts: false
environment:
DEBIAN_FRONTEND: noninteractive
tasks:
# - name: DEBUG - confirm group_vars loaded
# ansible.builtin.debug:
# msg:
# - "sbuild_targets={{ sbuild_targets | default('MISSING') }}"
# - "sleep_after_sbuild_seconds={{ sleep_after_sbuild_seconds | default('MISSING') }}"
- name: Ensure sbuild-update exists
ansible.builtin.command: bash -lc 'command -v sbuild-update'
register: sbuild_update_path
changed_when: false
- name: Run sbuild-update (ecne stage)
ansible.builtin.command: "sbuild-update -udcar {{ item }}"
loop: "{{ sbuild_targets_ecne }}"
loop_control:
label: "{{ inventory_hostname }} -> {{ item }}"
- name: Run sbuild-update (aramo stage)
ansible.builtin.command: "sbuild-update -udcar {{ item }}"
loop: "{{ sbuild_targets_aramo }}"
loop_control:
label: "{{ inventory_hostname }} -> {{ item }}"
- name: Pause after sbuild updates
ansible.builtin.pause:
seconds: "{{ sleep_after_sbuild_seconds }}"
- name: apt update (update cache)
ansible.builtin.apt:
update_cache: true
cache_valid_time: 0
- name: apt dist-upgrade
ansible.builtin.apt:
upgrade: dist
- name: apt autoremove
ansible.builtin.apt:
autoremove: true
- name: apt autoclean
ansible.builtin.apt:
autoclean: true