Update playbooks/package_setup.yml

This commit is contained in:
2025-08-29 12:47:44 +00:00
parent a9cb923ccb
commit a1d26d45e5
2 changed files with 59 additions and 35 deletions

View File

@@ -1,35 +0,0 @@
---
- name: Ensure essential tools are installed on all hosts
hosts: all
become: true
vars:
# Base tools required everywhere
base_packages:
- curl # used for API calls, downloads
- git # version control / pulling repos
- ca-certificates # ensures HTTPS works
- iproute2 # modern networking tools (ip a, ip r)
# Extra tools for troubleshooting / convenience
extra_packages:
- jq # parse JSON (docker inspect, APIs)
- htop # friendlier process viewer
- unzip # handle .zip archives
- dnsutils # dig, nslookup
- fzf # fuzzy finder
- tree # visualize directories
- bat # cat with syntax highlighting
- net-tools # old ifconfig, netstat (legacy but familiar)
tasks:
- name: Install base tools
apt:
name: "{{ base_packages }}"
state: present
update_cache: yes
- name: Install extra tools
apt:
name: "{{ extra_packages }}"
state: present

View File

@@ -0,0 +1,59 @@
---
- name: Baseline essentials for Docker hosts
hosts: all
become: true
vars:
# --- Feature toggles (override in Semaphore extra vars) ---
enable_install_base: true # core tools everywhere
enable_install_extras: true # QoL/debug tools
enable_remove_packages: true # remove legacy/bloat
# --- Packages ---
base_packages:
- curl # HTTP CLI
- git # pull repos
- jq # parse JSON (docker inspect, APIs)
- ca-certificates # TLS roots for HTTPS
- iproute2 # modern net tools (ip, ss, etc.)
- acl # file ACL support (setfacl/getfacl)
extra_packages:
- fzf # fuzzy finder (your new favorite)
- dnsutils # dig/nslookup
- htop # nicer top
- unzip # handle .zip archives
- bat # prettier cat
- tree # directory view
- bash-completion # tab completion goodness
absent_packages:
- net-tools # ifconfig/netstat (prefer iproute2)
- snapd # don't want snaps
- apport # crash reporter
tasks:
- name: Install base packages
apt:
name: "{{ base_packages }}"
state: present
update_cache: yes
when: enable_install_base
- name: Install extra packages
apt:
name: "{{ extra_packages }}"
state: present
when:
- enable_install_extras
- extra_packages | length > 0
- name: Remove unwanted packages
apt:
name: "{{ absent_packages }}"
state: absent
purge: yes
when:
- enable_remove_packages
- absent_packages | length > 0