Update playbooks/package_setup.yml
This commit is contained in:
@@ -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
|
|
59
playbooks/package_setup.yml
Normal file
59
playbooks/package_setup.yml
Normal 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
|
||||||
|
|
Reference in New Issue
Block a user