cleanup and reorg

This commit is contained in:
Graham McIntire 2026-01-08 16:31:48 -06:00
parent e280a40c8f
commit 6ee00af013
No known key found for this signature in database
14 changed files with 65 additions and 59 deletions

View file

@ -4,7 +4,7 @@
- icinga2
- monitoring-plugins
- nagios-plugins-contrib
update_cache: yes
update_cache: true
state: latest
cache_valid_time: 3600
when: "'monitoring_servers' in group_names"
@ -122,5 +122,5 @@
service:
name: icinga2
state: reloaded
enabled: yes
enabled: true
when: '"monitoring_servers" in group_names'

View file

@ -5,7 +5,7 @@
apt:
name: "{{ k3s_packages }}"
state: present
update_cache: yes
update_cache: true
cache_valid_time: 3600
when: "'k3s_servers' in group_names"
tags:
@ -15,7 +15,7 @@
- name: Enable and start iscsid service
systemd:
name: iscsid
enabled: yes
enabled: true
state: started
when: "'k3s_servers' in group_names"
tags:

View file

@ -54,8 +54,8 @@
- name: Enable systemd service for each bridge interface
systemd:
name: "disable-udp-gro@{{ item }}.service"
enabled: yes
daemon_reload: yes
enabled: true
daemon_reload: true
state: started
loop: "{{ bridge_interfaces.stdout_lines }}"
when: bridge_interfaces.stdout_lines is defined and bridge_interfaces.stdout_lines | length > 0

View file

@ -5,8 +5,8 @@
systemd:
name: mailcow
state: restarted
daemon_reload: yes
become: yes
daemon_reload: true
become: true
- name: reload mailcow
command: docker compose restart

View file

@ -12,13 +12,13 @@
- python3-docker
- jq
state: present
update_cache: yes
update_cache: true
- name: Ensure docker service is running
systemd:
name: docker
state: started
enabled: yes
enabled: true
- name: Create mailcow user
user:
@ -26,7 +26,7 @@
groups: docker
shell: /bin/bash
home: /home/mailcow
create_home: yes
create_home: true
state: present
- name: Ensure mailcow base directory exists
@ -55,7 +55,7 @@
repo: "{{ mailcow_git_repo }}"
dest: "{{ mailcow_base_path }}"
version: "{{ mailcow_git_branch }}"
force: yes
force: true
when: not mailcow_repo.stat.exists
- name: Add Mailcow directory to git safe directories
@ -67,16 +67,19 @@
repo: "{{ mailcow_git_repo }}"
dest: "{{ mailcow_base_path }}"
version: "{{ mailcow_git_branch }}"
update: yes
update: true
when: mailcow_repo.stat.exists
ignore_errors: yes
register: git_update_result
failed_when:
- git_update_result.failed
- "'Local modifications exist' not in git_update_result.msg | default('')"
- name: Change ownership of Mailcow directory
file:
path: "{{ mailcow_base_path }}"
owner: mailcow
group: mailcow
recurse: yes
recurse: true
# Let generate_config.sh create the default configuration
@ -87,7 +90,7 @@
owner: mailcow
group: mailcow
mode: '0640'
backup: yes
backup: true
notify: restart mailcow
- name: Make generate_config.sh executable
@ -137,7 +140,7 @@
command: docker compose down
args:
chdir: "{{ mailcow_base_path }}"
ignore_errors: yes
failed_when: false
- name: Prune unused Docker networks
command: docker network prune -f
@ -190,7 +193,7 @@
- name: Enable Mailcow service
systemd:
name: mailcow
enabled: yes
daemon_reload: yes
enabled: true
daemon_reload: true
# Caddy not needed - Mailcow includes nginx for SSL termination

View file

@ -9,7 +9,7 @@
- git
- python3-full
state: present
update_cache: yes
update_cache: true
when: ansible_os_family == "Debian"
- name: Add Docker's official GPG key
@ -37,13 +37,13 @@
- containerd.io
- docker-compose-plugin
state: present
update_cache: yes
update_cache: true
- name: Ensure Docker service is started and enabled
systemd:
name: docker
state: started
enabled: yes
enabled: true
- name: Create netbox directories
@ -72,7 +72,7 @@
repo: https://github.com/netbox-community/netbox-docker.git
dest: "{{ netbox_home }}/netbox-docker"
version: "{{ netbox_version }}"
force: yes
force: true
notify: restart netbox
# Configuration directory creation removed - using default configuration with env vars
@ -136,13 +136,13 @@
- name: Reload systemd daemon
systemd:
daemon_reload: yes
daemon_reload: true
- name: Start and enable NetBox service
systemd:
name: netbox-docker
state: started
enabled: yes
enabled: true
- name: Wait for initial container startup
pause:
@ -165,7 +165,7 @@
status_code:
- 200
- 403 # API might return 403 if auth is required
validate_certs: no
validate_certs: false
timeout: 30
register: result
until: result.status in [200, 403]
@ -203,7 +203,7 @@
- apt-transport-https
- curl
state: present
update_cache: yes
update_cache: true
- name: Add Caddy GPG key
shell: |
@ -227,7 +227,7 @@
- name: Update apt cache after adding Caddy repo
apt:
update_cache: yes
update_cache: true
- name: Install Caddy
apt:
@ -255,4 +255,4 @@
systemd:
name: caddy
state: started
enabled: yes
enabled: true

View file

@ -7,7 +7,7 @@
- bind9utils
- bind9-doc
state: present
update_cache: yes
update_cache: true
- name: Create BIND configuration directory
ansible.builtin.file:
@ -62,7 +62,7 @@
ansible.builtin.service:
name: "{{ 'bind9' if ansible_os_family == 'Debian' else 'named' }}"
state: started
enabled: yes
enabled: true
- name: Open DNS port in firewall
ansible.posix.firewalld:

View file

@ -3,7 +3,7 @@
systemd:
name: postgresql
state: restarted
daemon_reload: yes
daemon_reload: true
- name: reload postgresql
systemd:
@ -17,7 +17,7 @@
- name: reload systemd
systemd:
daemon_reload: yes
daemon_reload: true
- name: reload sysctl
command: sysctl -p /etc/sysctl.d/30-postgresql.conf

View file

@ -33,18 +33,18 @@
- libpq-dev
- pgbouncer
state: present
update_cache: yes
update_cache: true
- name: Stop PostgreSQL service if running
systemd:
name: postgresql
state: stopped
ignore_errors: yes
failed_when: false
- name: Disable PostgreSQL from starting automatically (we'll configure it first)
systemd:
name: postgresql
enabled: no
enabled: false
- name: Remove any default PostgreSQL data directory
file:
@ -143,7 +143,7 @@
systemd:
name: postgresql@{{ postgresql_version }}-main
state: stopped
ignore_errors: yes
failed_when: false
- name: Remove corrupted data directory
file:
@ -219,8 +219,8 @@
systemd:
name: postgresql
state: started
enabled: yes
daemon_reload: yes
enabled: true
daemon_reload: true
- name: Wait for PostgreSQL to start
wait_for:
@ -236,9 +236,9 @@
postgresql_user:
name: "{{ item.name }}"
password: "{{ item.password }}"
encrypted: yes
encrypted: true
state: present
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_users }}"
no_log: true
@ -252,7 +252,7 @@
lc_ctype: en_US.UTF-8
template: template0
state: present
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_databases }}"
@ -261,7 +261,7 @@
name: postgis
db: "{{ item.name }}"
state: present
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_databases }}"
@ -270,7 +270,7 @@
name: "{{ item[1] }}"
db: "{{ item[0].name }}"
state: present
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_databases | product(['pg_stat_statements', 'btree_gist', 'btree_gin']) | list }}"
@ -281,7 +281,7 @@
type: database
role: "{{ user.name }}"
state: present
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_users | selectattr('priv', 'defined') | map(attribute='priv') | list }}"
loop_control:
@ -295,7 +295,7 @@
query: "SELECT rolname, rolpassword FROM pg_authid WHERE rolname = %s"
positional_args:
- "{{ item.name }}"
become: yes
become: true
become_user: postgres
loop: "{{ postgresql_users }}"
register: scram_hashes
@ -323,7 +323,7 @@
systemd:
name: pgbouncer
state: started
enabled: yes
enabled: true
- name: Set up backup script
template:

View file

@ -41,7 +41,7 @@
copy:
src: "{{ postgresql_data_directory }}/ssl/server.crt"
dest: "{{ postgresql_data_directory }}/ssl/ca.crt"
remote_src: yes
remote_src: true
owner: postgres
group: postgres
mode: '0644'

View file

@ -9,7 +9,7 @@
- nvme-cli
- smartmontools
state: present
update_cache: yes
update_cache: true
- name: Check for NVMe devices
shell: nvme list -o json
@ -100,11 +100,14 @@
name: "{{ item.name }}"
value: "{{ item.value }}"
state: present
reload: yes
reload: true
loop:
- { name: 'vm.dirty_background_ratio', value: '5' }
- { name: 'vm.dirty_ratio', value: '10' }
- { name: 'vm.swappiness', value: '10' }
- { name: 'vm.overcommit_memory', value: '2' }
- { name: 'vm.overcommit_ratio', value: '95' }
ignore_errors: yes
register: sysctl_result
failed_when:
- sysctl_result.failed
- "'No such file or directory' not in sysctl_result.msg | default('')"

View file

@ -3,4 +3,4 @@
systemd:
name: syncthing@graham
state: restarted
daemon_reload: yes
daemon_reload: true

View file

@ -8,7 +8,7 @@
- curl
- gnupg2
state: present
update_cache: yes
update_cache: true
- name: Add Syncthing GPG key
ansible.builtin.get_url:
@ -30,7 +30,7 @@
apt:
name: syncthing
state: present
update_cache: yes
update_cache: true
- name: Ensure graham user exists
user:
@ -52,7 +52,7 @@
owner: graham
group: graham
mode: '0600'
backup: yes
backup: true
notify: restart syncthing
- name: Create Syncthing systemd service
@ -89,15 +89,15 @@
systemd:
name: syncthing@syncthing
state: stopped
enabled: no
enabled: false
failed_when: false
- name: Enable and start Syncthing service
systemd:
name: syncthing@graham
enabled: yes
enabled: true
state: started
daemon_reload: yes
daemon_reload: true
- name: Check if ufw is installed
command: which ufw

View file

@ -21,7 +21,7 @@
ansible.builtin.apt:
name: tailscale
state: present
update_cache: yes
update_cache: true
- name: Check if Tailscale is already connected
ansible.builtin.command: tailscale status --json