cleanup and reorg
This commit is contained in:
parent
e280a40c8f
commit
6ee00af013
14 changed files with 65 additions and 59 deletions
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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('')"
|
||||
|
|
@ -3,4 +3,4 @@
|
|||
systemd:
|
||||
name: syncthing@graham
|
||||
state: restarted
|
||||
daemon_reload: yes
|
||||
daemon_reload: true
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue