commited current state

This commit is contained in:
Ansible Servercow
2026-04-14 11:38:07 +02:00
parent ea7d5112d6
commit 590d37e4cf
10 changed files with 96 additions and 73 deletions

View File

@@ -0,0 +1,9 @@
- hosts: all
user: tincadmin
gather_facts: false
become: true
tasks:
- name: Include Checkmk Agent Plugins Cleanup task
ansible.builtin.include_role:
name: checkmk-monitoring
tasks_from: cleanup-agent-plugins

View File

@@ -0,0 +1,48 @@
---
- name: List mailcow installations with Roundcube
hosts: all
user: tincadmin
become: true
gather_facts: false
vars:
mailcow_search_paths:
- /opt
- /data
- /root
- /storage
rc_dirs:
- rc
- roundcube
- roundcubemail
tasks:
- name: Find mailcow-dockerized directory
ansible.builtin.find:
file_type: directory
paths: "{{ mailcow_search_paths }}"
patterns: mailcow-dockerized
recurse: true
register: mailcow_dir_result
ignore_errors: true
- name: Set mailcow_root if found
ansible.builtin.set_fact:
mailcow_root: "{{ mailcow_dir_result.files[0].path }}"
when: mailcow_dir_result.matched | default(0) > 0
- name: Find Roundcube directories under data/web
ansible.builtin.find:
paths: "{{ mailcow_root }}/data/web"
file_type: directory
patterns: "{{ rc_dirs }}"
recurse: false
register: roundcube_result
when: mailcow_root is defined
- name: Output only affected installations
ansible.builtin.debug:
msg: "{{ inventory_hostname }}: {{ roundcube_result.files | map(attribute='path') | join(', ') }}"
when:
- roundcube_result is defined
- roundcube_result.matched | default(0) > 0

View File

@@ -1,70 +0,0 @@
---
- name: Check mailcow installation and extract Roundcube version from CHANGELOG.md
hosts: all
user: tincadmin
become: true
vars:
mailcow_search_paths:
- /opt
- /data
- /root
- /storage
rc_dirs:
- rc
- roundcube
- roundcubemail
tasks:
- name: Finde mailcow-dockerized Verzeichnis
ansible.builtin.find:
file_type: directory
paths: "{{ mailcow_search_paths }}"
patterns: mailcow-dockerized
recurse: yes
register: mailcow_dir_result
ignore_errors: true
- name: Setze mailcow_root wenn gefunden
ansible.builtin.set_fact:
mailcow_root: "{{ mailcow_dir_result.files[0].path }}"
when: mailcow_dir_result.matched > 0
- name: Check for Roundcube folder under data/web
ansible.builtin.stat:
path: "{{ mailcow_root }}/data/web/{{ item }}"
loop: "{{ rc_dirs }}"
register: rc_stat
when: mailcow_root is defined
- name: Determine the actual Roundcube path
ansible.builtin.set_fact:
rc_path: "{{ mailcow_root }}/data/web/{{ item.item }}"
loop: "{{ rc_stat.results }}"
when: item.stat.exists and item.stat.isdir
- name: Check if CHANGELOG.md exists
ansible.builtin.stat:
path: "{{ rc_path }}/CHANGELOG.md"
register: changelog_stat
when: rc_path is defined
- name: Extrahiere Version aus CHANGELOG.md
ansible.builtin.shell: |
grep -m1 -Po '(?<=## Release )\S+' {{ rc_path }}/CHANGELOG.md
register: rc_version
changed_when: false
when:
- changelog_stat.stat.exists
- changelog_stat.stat.isfile
- name: Gib gefundene Roundcube-Version aus
ansible.builtin.debug:
msg: "Roundcube-Version (laut CHANGELOG.md): {{ rc_version.stdout }}"
when: rc_version.stdout != ""
- name: Warning if no CHANGELOG.md found
ansible.builtin.debug:
msg: "No CHANGELOG.md found under {{ rc_path }}."
when:
- rc_path is defined
- not changelog_stat.stat.exists

View File

@@ -3,7 +3,7 @@
user: tincadmin
become: true
vars:
github_mailcow_ver: "2026-01" # GitHub Version Tag | Value to compare the current running mailcow version to.
github_mailcow_ver: "2026-03b" # GitHub Version Tag | Value to compare the current running mailcow version to.
do_snapshots: true # Set to true to create Proxmox snapshots before updating mailcow
debug: true # Or False if you dont' wanna see verbose outputs of role outputs
@@ -73,4 +73,4 @@
- import_role:
name: roles/docker
tasks_from: cleanup-all.yml
when: update_mailcow is changed
when: update_mailcow is changed

View File

@@ -0,0 +1,2 @@
checkmk_agent_plugins_to_remove:
- "docker-mailq-monitoring"

View File

@@ -0,0 +1,14 @@
---
- name: "Find and remove specified Checkmk agent plugins"
block:
- name: "Remove Checkmk agent plugins"
ansible.builtin.file:
path: "/usr/lib/check_mk_agent/local/{{ item }}"
state: absent
loop: "{{ checkmk_agent_plugins_to_remove }}"
when: checkmk_agent_plugins_to_remove is defined
- name: "Debug: Removed plugins"
ansible.builtin.debug:
msg: "Removed plugins: {{ checkmk_agent_plugins_to_remove }}"
when: checkmk_agent_plugins_to_remove is defined

View File

@@ -4,6 +4,10 @@
update_cache: yes
notify:
- apt cleanup
retries: 3
delay: 10
register: apt_result
until: apt_result is succeeded
- name: Check if a kernel update has been installed
shell: |

View File

@@ -8,4 +8,9 @@
state: present
snapname: "{{ snapshot_name | default('before_update') }}"
retention: 2
timeout: 300
delegate_to: localhost
retries: 3
delay: 10
register: snapshot_result
until: snapshot_result is succeeded

View File

@@ -7,6 +7,9 @@
vmid: "{{ vmid }}"
register: snapshot_info
delegate_to: localhost
retries: 3
delay: 10
until: snapshot_info is succeeded
- name: Delete all snapshots
community.proxmox.proxmox_snap:
@@ -19,4 +22,8 @@
snapname: "{{ item.name }}"
loop: "{{ snapshot_info.snapshots }}"
when: item.name != "current"
delegate_to: localhost
delegate_to: localhost
retries: 3
delay: 10
until: item is succeeded
timeout: 300

View File

@@ -9,6 +9,10 @@
config: current
register: vm_info
delegate_to: localhost
retries: 3
delay: 10
until: vm_info is succeeded
timeout: 60
- name: Extract VMID
ansible.builtin.set_fact: