diff --git a/filter_plugins/get_service_script_path.py b/filter_plugins/get_service_script_path.py new file mode 100644 index 00000000..ee355f60 --- /dev/null +++ b/filter_plugins/get_service_script_path.py @@ -0,0 +1,24 @@ +# filter_plugins/get_service_script_path.py +# Custom Ansible filter to generate service script paths. + +def get_service_script_path(system_service_id, script_type): + """ + Build the path to a service script based on system_service_id and type. + + :param system_service_id: The identifier of the system service. + :param script_type: The script type/extension (e.g., sh, py, yml). + :return: The full path string. + """ + if not system_service_id or not script_type: + raise ValueError("Both system_service_id and script_type are required") + + return f"/opt/scripts/{system_service_id}/script.{script_type}" + + +class FilterModule(object): + """ Custom filters for Ansible """ + + def filters(self): + return { + "get_service_script_path": get_service_script_path + } diff --git a/group_vars/all/06_paths.yml b/group_vars/all/06_paths.yml index 68cba46c..b9e33719 100644 --- a/group_vars/all/06_paths.yml +++ b/group_vars/all/06_paths.yml @@ -2,5 +2,7 @@ # Path Variables for Key Directories and Scripts PATH_ADMINISTRATOR_HOME: "/home/administrator/" PATH_ADMINISTRATOR_SCRIPTS: "/opt/scripts/" +PATH_SYSTEMCTL_SCRIPTS: "{{ [ PATH_ADMINISTRATOR_SCRIPTS, 'systemctl' ] | path_join }}" PATH_DOCKER_COMPOSE_INSTANCES: "/opt/docker/" -PATH_SYSTEM_LOCK_SCRIPT: "/opt/scripts/sys-lock.py" \ No newline at end of file +PATH_SYSTEM_LOCK_SCRIPT: "/opt/scripts/sys-lock.py" +PATH_SYSTEM_SERVICE_DIR: "/etc/systemd/system" \ No newline at end of file diff --git a/group_vars/all/07_services.yml b/group_vars/all/07_services.yml index 8b819b21..680f5b5c 100644 --- a/group_vars/all/07_services.yml +++ b/group_vars/all/07_services.yml @@ -2,10 +2,20 @@ # Services ## Meta -SYS_SERVICE_SUFFIX: ".{{ SOFTWARE_NAME | lower }}.service" +SYS_SERVICE_SUFFIX: ".{{ SOFTWARE_NAME | lower }}.service" ## Names -SYS_SERVICE_ALARM_CMP: "sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@.service" +SYS_SERVICE_CLEANUP_BACKUPS_OLD: "sys-ctl-cln-backups{{ SYS_SERVICE_SUFFIX }}" +SYS_SERVICE_CLEANUP_BACKUPS_FAILED: "sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }}" +SYS_SERVICE_OPTIMIZE_DRIVE: "svc-opt-ssd-hdd{{ SYS_SERVICE_SUFFIX }}" +SYS_SERVICE_BACKUP_RMT_2_LOC: "svc-bkp-rmt-2-loc{{ SYS_SERVICE_SUFFIX }}" +SYS_SERVICE_REPAIR_DOCKER_HARD: "sys-ctl-rpr-docker-hard{{ SYS_SERVICE_SUFFIX }}" +SYS_SERVICE_UPDATE_DOCKER: "update-docker{{ SYS_SERVICE_SUFFIX }}" + +## On Failure +SYS_SERVICE_ON_FAILURE_COMPOSE: "sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%i.service" +SYS_SERVICE_ON_FAILURE_EMAIL: "sys-ctl-alm-email.{{ SOFTWARE_NAME }}@%i.service" +SYS_SERVICE_ON_FAILURE_TELEGRAM: "sys-ctl-alm-telegram.{{ SOFTWARE_NAME }}@%i.service" ## Groups SYS_SERVICE_GROUP_BACKUPS: > @@ -36,5 +46,6 @@ SYS_SERVICE_GROUP_MANIPULATION: > SYS_SERVICE_GROUP_REPAIR + SYS_SERVICE_GROUP_OPTIMIZATION + SYS_SERVICE_GROUP_MAINTANANCE + - [ 'update-docker' ] + [ SYS_SERVICE_UPDATE_DOCKER ] }} + diff --git a/group_vars/all/16_storage.yml b/group_vars/all/16_storage.yml index 3291de0e..993d8b9e 100644 --- a/group_vars/all/16_storage.yml +++ b/group_vars/all/16_storage.yml @@ -1,6 +1,6 @@ -backups_folder_path: "/Backups/" # Path to the backups folder +BACKUPS_FOLDER_PATH: "/Backups/" # Path to the backups folder # Storage Space-Related Configurations -size_percent_maximum_backup: 75 # Maximum storage space in percent for backups -size_percent_cleanup_disc_space: 85 # Threshold for triggering cleanup actions -size_percent_disc_space_warning: 90 # Warning threshold in percent for free disk space \ No newline at end of file +SIZE_PERCENT_MAXIMUM_BACKUP: 75 # Maximum storage space in percent for backups +SIZE_PERCENT_CLEANUP_DISC_SPACE: 85 # Threshold for triggering cleanup actions +SIZE_PERCENT_DISC_SPACE_WARNING: 90 # Warning threshold in percent for free disk space \ No newline at end of file diff --git a/roles/categories.yml b/roles/categories.yml index 47bb55e2..fade4ae5 100644 --- a/roles/categories.yml +++ b/roles/categories.yml @@ -134,11 +134,6 @@ roles: title: "Webserver Optimation" description: "Tools which help to optimize webservers" invokable: true - net: - title: "Network" - description: "Network setup (DNS, Let's Encrypt HTTP, WireGuard, etc.)" - icon: "fas fa-globe" - invokable: true svc: title: "Services" description: "Infrastructure services like databases" @@ -158,7 +153,11 @@ roles: description: "Reverse‑proxy roles for routing and load‑balancing traffic to backend services" icon: "fas fa-project-diagram" invokable: true - + net: + title: "Network" + description: "Network setup (DNS, Let's Encrypt HTTP, WireGuard, etc.)" + icon: "fas fa-globe" + invokable: true user: title: "Users & Access" description: "User accounts & access control" diff --git a/roles/drv-msi-keyboard-color/tasks/01_core.yml b/roles/drv-msi-keyboard-color/tasks/01_core.yml deleted file mode 100644 index 44cdb5b4..00000000 --- a/roles/drv-msi-keyboard-color/tasks/01_core.yml +++ /dev/null @@ -1,38 +0,0 @@ -- include_role: - name: '{{ item }}' - loop: - - dev-yay - - sys-ctl-alm-compose - -- name: Install MSI packages - kewlfft.aur.aur: - use: yay - name: - - msi-perkeyrgb - -- name: Copy keyboard_color.sh script - copy: - src: keyboard_color.py - dest: /opt/keyboard_color.py - mode: "0755" - -- name: Copy keyboard-color{{ SYS_SERVICE_SUFFIX }} file - template: - src: keyboard-color.service.j2 - dest: /etc/systemd/system/keyboard-color{{ SYS_SERVICE_SUFFIX }} - mode: 0644 - -- name: Reload systemd daemon - systemd: - daemon_reload: yes - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer - vars: - on_calendar: "{{SYS_SCHEDULE_ANIMATION_KEYBOARD_COLOR}}" - persistent: "true" diff --git a/roles/drv-msi-keyboard-color/tasks/main.yml b/roles/drv-msi-keyboard-color/tasks/main.yml deleted file mode 100644 index 8c3bd2da..00000000 --- a/roles/drv-msi-keyboard-color/tasks/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- block: - - include_tasks: 01_core.yml - - set_fact: - run_once_drv_msi_keyboard_color: true - when: run_once_drv_msi_keyboard_color is not defined diff --git a/roles/drv-msi-keyboard-color/templates/keyboard-color.service.j2 b/roles/drv-msi-keyboard-color/templates/keyboard-color.service.j2 deleted file mode 100644 index ce6f0d19..00000000 --- a/roles/drv-msi-keyboard-color/templates/keyboard-color.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Keyboard Color Service -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/python /opt/keyboard_color.py {{ vendor_and_product_id }} \ No newline at end of file diff --git a/roles/net-wireguard-core/vars/main.yml b/roles/net-wireguard-core/vars/main.yml deleted file mode 100644 index 6f81fb05..00000000 --- a/roles/net-wireguard-core/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -application_id: net-wireguard-core diff --git a/roles/net-wireguard-firewalled/vars/main.yml b/roles/net-wireguard-firewalled/vars/main.yml deleted file mode 100644 index b4dd857f..00000000 --- a/roles/net-wireguard-firewalled/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -application_id: net-wireguard-firewalled diff --git a/roles/net-wireguard-plain/handlers/main.yml b/roles/net-wireguard-plain/handlers/main.yml deleted file mode 100644 index f7b96caf..00000000 --- a/roles/net-wireguard-plain/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: "restart set-mtu service" - systemd: - name: set-mtu{{ SYS_SERVICE_SUFFIX }} - state: restarted - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/net-wireguard-plain/tasks/main.yml b/roles/net-wireguard-plain/tasks/main.yml deleted file mode 100644 index 9cdb441c..00000000 --- a/roles/net-wireguard-plain/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: create set-mtu service - template: - src: set-mtu.service.j2 - dest: /etc/systemd/system/set-mtu{{ SYS_SERVICE_SUFFIX }} - notify: restart set-mtu service - -- name: create set-mtu.sh - template: - src: set-mtu.sh.j2 - dest: /usr/local/bin/set-mtu.sh - notify: restart set-mtu service diff --git a/roles/net-wireguard-plain/vars/main.yml b/roles/net-wireguard-plain/vars/main.yml deleted file mode 100644 index ef1d7f46..00000000 --- a/roles/net-wireguard-plain/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -application_id: net-wireguard-plain diff --git a/roles/srv-web-7-6-https/README.md b/roles/srv-web-7-6-https/README.md index 588617b6..cb4b4eaa 100644 --- a/roles/srv-web-7-6-https/README.md +++ b/roles/srv-web-7-6-https/README.md @@ -16,7 +16,7 @@ This role is built on top of your existing `srv-web-7-4-core` role, and it autom When you apply **srv-web-7-6-https**, it will: 1. **Include** the `srv-web-7-4-core` role to install and configure Nginx. -2. **Clean up** any stale vHost files under `sys-ctl-cln-domains`. +2. **Clean up** any stale vHost files under `sys-svc-cln-domains`. 3. **Deploy** the Let’s Encrypt challenge-and-redirect snippet from `srv-web-7-7-letsencrypt`. 4. **Reload** Nginx automatically when any template changes. diff --git a/roles/srv-web-7-6-https/tasks/main.yml b/roles/srv-web-7-6-https/tasks/main.yml index 28a873bd..9228d22c 100644 --- a/roles/srv-web-7-6-https/tasks/main.yml +++ b/roles/srv-web-7-6-https/tasks/main.yml @@ -4,7 +4,7 @@ name: '{{ item }}' loop: - srv-web-7-4-core - - sys-ctl-cln-domains + - sys-svc-cln-domains - srv-web-7-7-letsencrypt - include_tasks: utils/run_once.yml when: run_once_srv_web_7_6_https is not defined diff --git a/roles/svc-bkp-loc-2-usb/files/svc-bkp-loc-2-usb.py b/roles/svc-bkp-loc-2-usb/files/script.py similarity index 100% rename from roles/svc-bkp-loc-2-usb/files/svc-bkp-loc-2-usb.py rename to roles/svc-bkp-loc-2-usb/files/script.py diff --git a/roles/svc-bkp-loc-2-usb/tasks/main.yml b/roles/svc-bkp-loc-2-usb/tasks/main.yml index 58cb80e4..aaf318a2 100644 --- a/roles/svc-bkp-loc-2-usb/tasks/main.yml +++ b/roles/svc-bkp-loc-2-usb/tasks/main.yml @@ -11,9 +11,9 @@ - name: Fail if any backup_to_usb variable is empty assert: that: - - backup_to_usb_mount != "" - - backup_to_usb_target != "" - - backup_to_usb_source != "" + - BACKUP_TO_USB_MOUNT != "" + - BACKUP_TO_USB_target != "" + - BACKUP_TO_USB_SOURCE != "" fail_msg: | One or more of the configuration variables are empty! Please set: @@ -22,19 +22,5 @@ - source to non‑empty values in your configuration file. -- name: Copy backup script to the scripts directory - copy: - src: svc-bkp-loc-2-usb.py - dest: "{{ backup_to_usb_script_path }}" - owner: root - group: root - mode: '0755' - -- name: Copy systemd service to systemd directory - template: - src: svc-bkp-loc-2-usb.service.j2 - dest: /etc/systemd/system/svc-bkp-loc-2-usb{{ SYS_SERVICE_SUFFIX }} - owner: root - group: root - mode: '0644' - notify: reload svc-bkp-loc-2-usb service +- include_role: + name: sys-systemctl diff --git a/roles/svc-bkp-loc-2-usb/templates/svc-bkp-loc-2-usb.service.j2 b/roles/svc-bkp-loc-2-usb/templates/svc-bkp-loc-2-usb.service.j2 deleted file mode 100644 index bb016d5e..00000000 --- a/roles/svc-bkp-loc-2-usb/templates/svc-bkp-loc-2-usb.service.j2 +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Backup to USB when mounted to {{ backup_to_usb_mount }} -Wants={{systemctl_mount_service_name}} -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/python {{ backup_to_usb_script_path }} {{backup_to_usb_source}} {{backup_to_usb_destination}} -ExecStartPost=/bin/systemctl start sys-ctl-cln-backups{{ SYS_SERVICE_SUFFIX }} - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/roles/svc-bkp-loc-2-usb/templates/systemctl.service.j2 b/roles/svc-bkp-loc-2-usb/templates/systemctl.service.j2 new file mode 100644 index 00000000..60a69f85 --- /dev/null +++ b/roles/svc-bkp-loc-2-usb/templates/systemctl.service.j2 @@ -0,0 +1,12 @@ +[Unit] +Description=Backup to USB when mounted to {{ BACKUP_TO_USB_MOUNT }} +Wants={{ BACKUPS_SERVICE_MNT_NAME }} +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart=/bin/python {{ systemctl_id | get_service_script_path('py') }} {{ BACKUP_TO_USB_SOURCE }} {{ BACKUP_TO_USB_DESTINATION }} +ExecStartPost=/bin/systemctl start {{ SYS_SERVICE_CLEANUP_BACKUPS_OLD }} + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/roles/svc-bkp-loc-2-usb/vars/main.yml b/roles/svc-bkp-loc-2-usb/vars/main.yml index 28d76e0c..647243dc 100644 --- a/roles/svc-bkp-loc-2-usb/vars/main.yml +++ b/roles/svc-bkp-loc-2-usb/vars/main.yml @@ -1,10 +1,9 @@ application_id: "svc-bkp-loc-2-usb" +systemctl_id: "{{ application_id }}" -backup_to_usb_script_path: "/usr/local/sbin/svc-bkp-loc-2-usb.py" -backup_to_usb_destination: '{{ backup_to_usb_mount}}{{ backup_to_usb_targed }}' -backups_folder_path: '{{ backup_to_usb_destination }}' -systemctl_mount_service_name: '{{ backup_to_usb_mount | trim(''/'') | replace(''/'',''-'') }}.mount' +BACKUP_TO_USB_DESTINATION: '{{ BACKUP_TO_USB_MOUNT}}{{ BACKUP_TO_USB_TARGET }}' +BACKUPS_SERVICE_MNT_NAME: '{{ BACKUP_TO_USB_MOUNT | trim(''/'') | replace(''/'',''-'') }}.mount' -backup_to_usb_mount: "{{ applications | get_app_conf(application_id, 'mount') }}" -backup_to_usb_targed: "{{ applications | get_app_conf(application_id, 'target') }}" -backup_to_usb_source: "{{ applications | get_app_conf(application_id, 'source') }}" \ No newline at end of file +BACKUP_TO_USB_MOUNT: "{{ applications | get_app_conf(application_id, 'mount') }}" +BACKUP_TO_USB_TARGET: "{{ applications | get_app_conf(application_id, 'target') }}" +BACKUP_TO_USB_SOURCE: "{{ applications | get_app_conf(application_id, 'source') }}" \ No newline at end of file diff --git a/roles/svc-bkp-rmt-2-loc/handlers/main.yml b/roles/svc-bkp-rmt-2-loc/handlers/main.yml deleted file mode 100644 index 5e191d01..00000000 --- a/roles/svc-bkp-rmt-2-loc/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "reload svc-bkp-rmt-2-loc service" - systemd: - name: svc-bkp-rmt-2-loc{{ SYS_SERVICE_SUFFIX }} - daemon_reload: yes diff --git a/roles/svc-bkp-rmt-2-loc/meta/main.yml b/roles/svc-bkp-rmt-2-loc/meta/main.yml index e2caaf94..8c050930 100644 --- a/roles/svc-bkp-rmt-2-loc/meta/main.yml +++ b/roles/svc-bkp-rmt-2-loc/meta/main.yml @@ -23,5 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.infinito.nexus/issues" documentation: "https://docs.infinito.nexus" dependencies: -- sys-timer-cln-bkps - sys-ctl-cln-faild-bkps diff --git a/roles/svc-bkp-rmt-2-loc/tasks/main.yml b/roles/svc-bkp-rmt-2-loc/tasks/main.yml index e5edc148..6feed3a2 100644 --- a/roles/svc-bkp-rmt-2-loc/tasks/main.yml +++ b/roles/svc-bkp-rmt-2-loc/tasks/main.yml @@ -6,41 +6,25 @@ - dev-git - sys-ctl-alm-compose - sys-lock - - sys-rst-daemon + - sys-timer-cln-bkps - include_tasks: utils/run_once.yml when: run_once_svc_bkp_rmt_2_loc is not defined -- name: "create {{docker_backup_remote_to_local_folder}}" +- name: "create {{ DOCKER_BACKUP_REMOTE_2_LOCAL_DIR }}" file: - path: "{{docker_backup_remote_to_local_folder}}" + path: "{{ DOCKER_BACKUP_REMOTE_2_LOCAL_DIR }}" state: directory mode: "0755" - name: create svc-bkp-rmt-2-loc.sh copy: src: svc-bkp-rmt-2-loc.sh - dest: "{{docker_backup_remote_to_local_folder}}svc-bkp-rmt-2-loc.sh" + dest: "{{ DOCKER_BACKUP_REMOTE_2_LOCAL_DIR }}svc-bkp-rmt-2-loc.sh" mode: "0755" -- name: create svc-bkp-rmt-2-loc{{ SYS_SERVICE_SUFFIX }} - template: - src: svc-bkp-rmt-2-loc.service.j2 - dest: /etc/systemd/system/svc-bkp-rmt-2-loc{{ SYS_SERVICE_SUFFIX }} - notify: reload svc-bkp-rmt-2-loc service - -- name: create sys-bkp-rmt-2-loc-multi-provider.sh - template: - src: sys-bkp-rmt-2-loc-multi-provider.sh.j2 - dest: "{{docker_backup_remote_to_local_folder}}sys-bkp-rmt-2-loc-multi-provider.sh" - mode: "0755" - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_BACKUP_REMOTE_TO_LOCAL}}" + systemctl_timer_enabled: true + systemctl_on_calendar: "{{ SYS_SCHEDULE_BACKUP_REMOTE_TO_LOCAL }}" diff --git a/roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc-multi-provider.sh.j2 b/roles/svc-bkp-rmt-2-loc/templates/script.sh.j2 similarity index 63% rename from roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc-multi-provider.sh.j2 rename to roles/svc-bkp-rmt-2-loc/templates/script.sh.j2 index 8aa0b756..afcdf6bb 100644 --- a/roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc-multi-provider.sh.j2 +++ b/roles/svc-bkp-rmt-2-loc/templates/script.sh.j2 @@ -3,6 +3,6 @@ hosts="{{ rmt2loc_backup_providers | join(' ') }}"; errors=0 for host in $hosts; do - bash {{ docker_backup_remote_to_local_folder }}svc-bkp-rmt-2-loc.sh $host || ((errors+=1)); + bash {{ DOCKER_BACKUP_REMOTE_2_LOCAL_DIR }}svc-bkp-rmt-2-loc.sh $host || ((errors+=1)); done; exit $errors; diff --git a/roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc.service.j2 b/roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc.service.j2 deleted file mode 100644 index 797b30a8..00000000 --- a/roles/svc-bkp-rmt-2-loc/templates/sys-bkp-rmt-2-loc.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=pull remote backups -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_BACKUPS| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' -ExecStart=/bin/sh -c '/usr/bin/bash {{docker_backup_remote_to_local_folder}}sys-bkp-rmt-2-loc-multi-provider.sh' diff --git a/roles/svc-bkp-rmt-2-loc/templates/systemctl.service.j2 b/roles/svc-bkp-rmt-2-loc/templates/systemctl.service.j2 new file mode 100644 index 00000000..fabc11f9 --- /dev/null +++ b/roles/svc-bkp-rmt-2-loc/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=pull remote backups +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} {{ SYS_SERVICE_CLEANUP_BACKUPS_FAILED }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_BACKUPS| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' +ExecStart=/bin/sh -c '/usr/bin/bash {{ systemctl_id | get_service_script_path('sh') }}' diff --git a/roles/svc-bkp-rmt-2-loc/vars/main.yml b/roles/svc-bkp-rmt-2-loc/vars/main.yml index fa565f41..87d0c60e 100644 --- a/roles/svc-bkp-rmt-2-loc/vars/main.yml +++ b/roles/svc-bkp-rmt-2-loc/vars/main.yml @@ -1,3 +1,4 @@ -application_id: svc-bkp-rmt-2-loc -docker_backup_remote_to_local_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}{{ application_id }}/' -rmt2loc_backup_providers: "{{ applications | get_app_conf(application_id, 'backup_providers') }}" \ No newline at end of file +application_id: svc-bkp-rmt-2-loc +systemctl_id: "{{ application_id }}" +DOCKER_BACKUP_REMOTE_2_LOCAL_DIR: '{{ PATH_ADMINISTRATOR_SCRIPTS }}{{ application_id }}/' +rmt2loc_backup_providers: "{{ applications | get_app_conf(application_id, 'backup_providers') }}" \ No newline at end of file diff --git a/roles/net-wireguard-core/Administration.md b/roles/svc-net-wireguard-core/Administration.md similarity index 100% rename from roles/net-wireguard-core/Administration.md rename to roles/svc-net-wireguard-core/Administration.md diff --git a/roles/net-wireguard-core/README.md b/roles/svc-net-wireguard-core/README.md similarity index 100% rename from roles/net-wireguard-core/README.md rename to roles/svc-net-wireguard-core/README.md diff --git a/roles/net-wireguard-core/files/wireguard-ip.conf b/roles/svc-net-wireguard-core/files/wireguard-ip.conf similarity index 100% rename from roles/net-wireguard-core/files/wireguard-ip.conf rename to roles/svc-net-wireguard-core/files/wireguard-ip.conf diff --git a/roles/net-wireguard-core/handlers/main.yml b/roles/svc-net-wireguard-core/handlers/main.yml similarity index 100% rename from roles/net-wireguard-core/handlers/main.yml rename to roles/svc-net-wireguard-core/handlers/main.yml diff --git a/roles/net-wireguard-core/meta/main.yml b/roles/svc-net-wireguard-core/meta/main.yml similarity index 100% rename from roles/net-wireguard-core/meta/main.yml rename to roles/svc-net-wireguard-core/meta/main.yml diff --git a/roles/net-wireguard-core/tasks/main.yml b/roles/svc-net-wireguard-core/tasks/main.yml similarity index 82% rename from roles/net-wireguard-core/tasks/main.yml rename to roles/svc-net-wireguard-core/tasks/main.yml index 5ad4d4dc..208a5419 100644 --- a/roles/net-wireguard-core/tasks/main.yml +++ b/roles/svc-net-wireguard-core/tasks/main.yml @@ -18,10 +18,10 @@ group: root notify: reload sysctl configuration -- name: create /etc/wireguard/wg0.infinito.conf +- name: create /etc/wireguard/wg0.{{ SOFTWARE_NAME | lower }}.conf copy: src: "{{ inventory_dir }}/files/{{ inventory_hostname }}/etc/wireguard/wg0.conf" - dest: /etc/wireguard/wg0.infinito.conf + dest: /etc/wireguard/wg0.{{ SOFTWARE_NAME | lower }}.conf owner: root group: root notify: restart wireguard \ No newline at end of file diff --git a/roles/svc-net-wireguard-core/vars/main.yml b/roles/svc-net-wireguard-core/vars/main.yml new file mode 100644 index 00000000..c5d85a2d --- /dev/null +++ b/roles/svc-net-wireguard-core/vars/main.yml @@ -0,0 +1 @@ +application_id: svc-net-wireguard-core diff --git a/roles/net-wireguard-firewalled/README.md b/roles/svc-net-wireguard-firewalled/README.md similarity index 86% rename from roles/net-wireguard-firewalled/README.md rename to roles/svc-net-wireguard-firewalled/README.md index f7400ea7..83e89c3f 100644 --- a/roles/net-wireguard-firewalled/README.md +++ b/roles/svc-net-wireguard-firewalled/README.md @@ -19,7 +19,7 @@ The primary purpose of this role is to enable proper routing and connectivity fo - **iptables Rule Adaptation:** Modifies iptables to allow forwarding and NAT masquerading for the WireGuard client. - **NAT Support:** Configures the external interface for proper masquerading. -- **Role Integration:** Depends on the [net-wireguard-plain](../net-wireguard-plain/README.md) role to ensure that WireGuard is properly configured before applying firewall rules. +- **Role Integration:** Depends on the [svc-net-wireguard-plain](../svc-net-wireguard-plain/README.md) role to ensure that WireGuard is properly configured before applying firewall rules. ## Other Resources - https://gist.github.com/insdavm/b1034635ab23b8839bf957aa406b5e39 diff --git a/roles/net-wireguard-firewalled/meta/main.yml b/roles/svc-net-wireguard-firewalled/meta/main.yml similarity index 96% rename from roles/net-wireguard-firewalled/meta/main.yml rename to roles/svc-net-wireguard-firewalled/meta/main.yml index 5bd8981b..5e6509bd 100644 --- a/roles/net-wireguard-firewalled/meta/main.yml +++ b/roles/svc-net-wireguard-firewalled/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.infinito.nexus/issues" documentation: "https://docs.infinito.nexus" dependencies: - - net-wireguard-plain \ No newline at end of file + - svc-net-wireguard-plain \ No newline at end of file diff --git a/roles/net-wireguard-firewalled/tasks/main.yml b/roles/svc-net-wireguard-firewalled/tasks/main.yml similarity index 100% rename from roles/net-wireguard-firewalled/tasks/main.yml rename to roles/svc-net-wireguard-firewalled/tasks/main.yml diff --git a/roles/svc-net-wireguard-firewalled/vars/main.yml b/roles/svc-net-wireguard-firewalled/vars/main.yml new file mode 100644 index 00000000..484d682e --- /dev/null +++ b/roles/svc-net-wireguard-firewalled/vars/main.yml @@ -0,0 +1 @@ +application_id: svc-net-wireguard-firewalled diff --git a/roles/net-wireguard-plain/Administration.md b/roles/svc-net-wireguard-plain/Administration.md similarity index 100% rename from roles/net-wireguard-plain/Administration.md rename to roles/svc-net-wireguard-plain/Administration.md diff --git a/roles/net-wireguard-plain/README.md b/roles/svc-net-wireguard-plain/README.md similarity index 100% rename from roles/net-wireguard-plain/README.md rename to roles/svc-net-wireguard-plain/README.md diff --git a/roles/net-wireguard-plain/defaults/main.yml b/roles/svc-net-wireguard-plain/defaults/main.yml similarity index 100% rename from roles/net-wireguard-plain/defaults/main.yml rename to roles/svc-net-wireguard-plain/defaults/main.yml diff --git a/roles/net-wireguard-plain/meta/main.yml b/roles/svc-net-wireguard-plain/meta/main.yml similarity index 96% rename from roles/net-wireguard-plain/meta/main.yml rename to roles/svc-net-wireguard-plain/meta/main.yml index b6096321..8ca4cd27 100644 --- a/roles/net-wireguard-plain/meta/main.yml +++ b/roles/svc-net-wireguard-plain/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: "https://s.infinito.nexus/issues" documentation: "https://docs.infinito.nexus" dependencies: - - net-wireguard-core + - svc-net-wireguard-core diff --git a/roles/svc-net-wireguard-plain/tasks/main.yml b/roles/svc-net-wireguard-plain/tasks/main.yml new file mode 100644 index 00000000..96251896 --- /dev/null +++ b/roles/svc-net-wireguard-plain/tasks/main.yml @@ -0,0 +1,2 @@ +- include_role: + name: sys-systemctl \ No newline at end of file diff --git a/roles/net-wireguard-plain/templates/set-mtu.sh.j2 b/roles/svc-net-wireguard-plain/templates/script.sh.j2 similarity index 100% rename from roles/net-wireguard-plain/templates/set-mtu.sh.j2 rename to roles/svc-net-wireguard-plain/templates/script.sh.j2 diff --git a/roles/net-wireguard-plain/templates/set-mtu.service.j2 b/roles/svc-net-wireguard-plain/templates/systemctl.service.j2 similarity index 70% rename from roles/net-wireguard-plain/templates/set-mtu.service.j2 rename to roles/svc-net-wireguard-plain/templates/systemctl.service.j2 index fcc0b797..dba37377 100644 --- a/roles/net-wireguard-plain/templates/set-mtu.service.j2 +++ b/roles/svc-net-wireguard-plain/templates/systemctl.service.j2 @@ -4,7 +4,7 @@ Before=wg-quick@wg0{{ SYS_SERVICE_SUFFIX }} [Service] Type=oneshot -ExecStart=bash /usr/local/bin/set-mtu.sh +ExecStart=bash {{ systemctl_id | get_service_script_path('sh') }} [Install] RequiredBy=wg-quick@wg0{{ SYS_SERVICE_SUFFIX }} \ No newline at end of file diff --git a/roles/svc-net-wireguard-plain/vars/main.yml b/roles/svc-net-wireguard-plain/vars/main.yml new file mode 100644 index 00000000..3d2e49f4 --- /dev/null +++ b/roles/svc-net-wireguard-plain/vars/main.yml @@ -0,0 +1,2 @@ +application_id: svc-net-wireguard-plain +systemctl_id: "{{ application_id }}" diff --git a/roles/drv-msi-keyboard-color/README.md b/roles/svc-opt-keyboard-color/README.md similarity index 100% rename from roles/drv-msi-keyboard-color/README.md rename to roles/svc-opt-keyboard-color/README.md diff --git a/roles/drv-msi-keyboard-color/Todo.md b/roles/svc-opt-keyboard-color/Todo.md similarity index 100% rename from roles/drv-msi-keyboard-color/Todo.md rename to roles/svc-opt-keyboard-color/Todo.md diff --git a/roles/drv-msi-keyboard-color/files/keyboard_color.py b/roles/svc-opt-keyboard-color/files/script.py similarity index 100% rename from roles/drv-msi-keyboard-color/files/keyboard_color.py rename to roles/svc-opt-keyboard-color/files/script.py diff --git a/roles/drv-msi-keyboard-color/meta/main.yml b/roles/svc-opt-keyboard-color/meta/main.yml similarity index 100% rename from roles/drv-msi-keyboard-color/meta/main.yml rename to roles/svc-opt-keyboard-color/meta/main.yml diff --git a/roles/drv-msi-keyboard-color/schema/main.yml b/roles/svc-opt-keyboard-color/schema/main.yml similarity index 100% rename from roles/drv-msi-keyboard-color/schema/main.yml rename to roles/svc-opt-keyboard-color/schema/main.yml diff --git a/roles/svc-opt-keyboard-color/tasks/01_core.yml b/roles/svc-opt-keyboard-color/tasks/01_core.yml new file mode 100644 index 00000000..3708ceb4 --- /dev/null +++ b/roles/svc-opt-keyboard-color/tasks/01_core.yml @@ -0,0 +1,18 @@ +- include_role: + name: '{{ item }}' + loop: + - dev-yay + - sys-ctl-alm-compose + +- name: Install MSI packages + kewlfft.aur.aur: + use: yay + name: + - msi-perkeyrgb + +- include_role: + name: sys-systemctl + vars: + systemctl_on_calendar: "{{ SYS_SCHEDULE_ANIMATION_KEYBOARD_COLOR }}" + systemctl_timer_enabled: true + persistent: true diff --git a/roles/svc-opt-keyboard-color/tasks/main.yml b/roles/svc-opt-keyboard-color/tasks/main.yml new file mode 100644 index 00000000..49af0306 --- /dev/null +++ b/roles/svc-opt-keyboard-color/tasks/main.yml @@ -0,0 +1,5 @@ +- block: + - include_tasks: 01_core.yml + - set_fact: + run_once_svc_opt_keyboard_color: true + when: run_once_svc_opt_keyboard_color is not defined diff --git a/roles/svc-opt-keyboard-color/templates/systemctl.service.j2 b/roles/svc-opt-keyboard-color/templates/systemctl.service.j2 new file mode 100644 index 00000000..a99ac87e --- /dev/null +++ b/roles/svc-opt-keyboard-color/templates/systemctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Keyboard Color Service +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart=/bin/python {{ systemctl_id | get_service_script_path('py') }} {{ vendor_and_product_id }} \ No newline at end of file diff --git a/roles/drv-msi-keyboard-color/tests/keyboard_color_simulator.bash b/roles/svc-opt-keyboard-color/tests/keyboard_color_simulator.bash similarity index 100% rename from roles/drv-msi-keyboard-color/tests/keyboard_color_simulator.bash rename to roles/svc-opt-keyboard-color/tests/keyboard_color_simulator.bash diff --git a/roles/drv-msi-keyboard-color/vars/main.yml b/roles/svc-opt-keyboard-color/vars/main.yml similarity index 56% rename from roles/drv-msi-keyboard-color/vars/main.yml rename to roles/svc-opt-keyboard-color/vars/main.yml index 044d5ae0..6e1be863 100644 --- a/roles/drv-msi-keyboard-color/vars/main.yml +++ b/roles/svc-opt-keyboard-color/vars/main.yml @@ -1,2 +1,3 @@ -application_id: drv-msi-keyboard-color +application_id: svc-opt-keyboard-color +systemctl_id: "{{ application_id }}" vendor_and_product_id: "{{ applications | get_app_conf(application_id, 'vendor_and_product_id') }}" diff --git a/roles/svc-opt-ssd-hdd/files/svc-opt-ssd-hdd.py b/roles/svc-opt-ssd-hdd/files/script.py similarity index 100% rename from roles/svc-opt-ssd-hdd/files/svc-opt-ssd-hdd.py rename to roles/svc-opt-ssd-hdd/files/script.py diff --git a/roles/svc-opt-ssd-hdd/handlers/main.yml b/roles/svc-opt-ssd-hdd/handlers/main.yml deleted file mode 100644 index 1be9e026..00000000 --- a/roles/svc-opt-ssd-hdd/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload svc-opt-ssd-hdd service" - systemd: - name: svc-opt-ssd-hdd{{ SYS_SERVICE_SUFFIX }} - state: reloaded - daemon_reload: yes diff --git a/roles/svc-opt-ssd-hdd/schema/main.yml b/roles/svc-opt-ssd-hdd/schema/main.yml index e52da4ce..b815e7b2 100644 --- a/roles/svc-opt-ssd-hdd/schema/main.yml +++ b/roles/svc-opt-ssd-hdd/schema/main.yml @@ -4,8 +4,8 @@ credentials: algorithm: "bcrypt" validation: "^\\$2[aby]\\$.{56}$" -path_rapid_storage: +OPT_DRIVE_RAPID_STORAGE_PATH: description: "Mount path of the servers SSD" -path_mass_storage: +OPT_DRIVE_MASS_STORAGE_PATH: description: "Mount path of the servers HDD" \ No newline at end of file diff --git a/roles/svc-opt-ssd-hdd/tasks/main.yml b/roles/svc-opt-ssd-hdd/tasks/main.yml index 918123ca..96251896 100644 --- a/roles/svc-opt-ssd-hdd/tasks/main.yml +++ b/roles/svc-opt-ssd-hdd/tasks/main.yml @@ -1,22 +1,2 @@ -- name: "create {{storage_optimizer_directory}}" - file: - path: "{{storage_optimizer_directory}}" - state: directory - mode: "0755" - -- name: create svc-opt-ssd-hdd{{ SYS_SERVICE_SUFFIX }} - template: - src: svc-opt-ssd-hdd.service.j2 - dest: /etc/systemd/system/svc-opt-ssd-hdd{{ SYS_SERVICE_SUFFIX }} - notify: reload svc-opt-ssd-hdd service - -- name: create svc-opt-ssd-hdd.py - copy: - src: svc-opt-ssd-hdd.py - dest: "{{storage_optimizer_script}}" - mode: "0755" - -- name: "optimize storage performance" - systemd: - name: svc-opt-ssd-hdd{{ SYS_SERVICE_SUFFIX }} - state: started \ No newline at end of file +- include_role: + name: sys-systemctl \ No newline at end of file diff --git a/roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 b/roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 deleted file mode 100644 index e43bef29..00000000 --- a/roles/svc-opt-ssd-hdd/templates/svc-opt-ssd-hdd.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Optimize storage paths -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore svc-opt-ssd-hdd svc-bkp-rmt-2-loc --timeout "{{SYS_TIMEOUT_STORAGE_OPTIMIZER}}"' -ExecStart=/bin/sh -c '/usr/bin/python {{storage_optimizer_script}} --rapid-storage-path {{path_rapid_storage}} --mass-storage-path {{path_mass_storage}}' \ No newline at end of file diff --git a/roles/svc-opt-ssd-hdd/templates/systemctl.service.j2 b/roles/svc-opt-ssd-hdd/templates/systemctl.service.j2 new file mode 100644 index 00000000..847a88d7 --- /dev/null +++ b/roles/svc-opt-ssd-hdd/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Optimize storage paths +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_OPTIMIZE_DRIVE }} {{ SYS_SERVICE_BACKUP_RMT_2_LOC }} --timeout "{{ SYS_TIMEOUT_STORAGE_OPTIMIZER }}"' +ExecStart=/bin/sh -c '/usr/bin/python {{ systemctl_id | get_service_script_path('sh') }} --rapid-storage-path {{ OPT_DRIVE_RAPID_STORAGE_PATH }} --mass-storage-path {{ OPT_DRIVE_MASS_STORAGE_PATH }}' \ No newline at end of file diff --git a/roles/svc-opt-ssd-hdd/vars/main.yml b/roles/svc-opt-ssd-hdd/vars/main.yml index c53de733..6bf8a04e 100644 --- a/roles/svc-opt-ssd-hdd/vars/main.yml +++ b/roles/svc-opt-ssd-hdd/vars/main.yml @@ -1,5 +1,4 @@ application_id: svc-opt-ssd-hdd -storage_optimizer_directory: '{{ PATH_ADMINISTRATOR_SCRIPTS }}{{ application_id }}/' -storage_optimizer_script: '{{ storage_optimizer_directory }}{{ application_id }}.py' -path_rapid_storage: "{{ applications | get_app_conf(application_id, 'volumes.rapid_storage') }}" -path_mass_storage: "{{ applications | get_app_conf(application_id, 'volumes.mass_storage') }}" +systemctl_id: "{{ application_id }}" +OPT_DRIVE_RAPID_STORAGE_PATH: "{{ applications | get_app_conf(application_id, 'volumes.rapid_storage') }}" +OPT_DRIVE_MASS_STORAGE_PATH: "{{ applications | get_app_conf(application_id, 'volumes.mass_storage') }}" diff --git a/roles/sys-ctl-alm-compose/handlers/main.yml b/roles/sys-ctl-alm-compose/handlers/main.yml deleted file mode 100644 index 190fb244..00000000 --- a/roles/sys-ctl-alm-compose/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "restart sys-ctl-alm-compose service" - systemd: - name: "{{ SYS_SERVICE_ALARM_CMP }}" - daemon_reload: yes - when: run_once_sys_ctl_alm_compose is not defined diff --git a/roles/sys-ctl-alm-compose/tasks/main.yml b/roles/sys-ctl-alm-compose/tasks/main.yml index bafe2587..5fab1e76 100644 --- a/roles/sys-ctl-alm-compose/tasks/main.yml +++ b/roles/sys-ctl-alm-compose/tasks/main.yml @@ -3,12 +3,11 @@ include_role: name: '{{ item }}' loop: - - sys-ctl-alm-telegram - - sys-ctl-alm-email - - name: "setup '{{ SYS_SERVICE_ALARM_CMP }}'" - template: - src: sys-ctl-alm-compose@.service.j2 - dest: "/etc/systemd/system/{{ SYS_SERVICE_ALARM_CMP }}" - notify: "restart sys-ctl-alm-compose service" + - sys-ctl-alm-telegram + - sys-ctl-alm-email + - sys-systemctl + vars: + flush_handlers: true + systemctl_timer_enabled: false - include_tasks: utils/run_once.yml when: run_once_sys_ctl_alm_compose is not defined diff --git a/roles/sys-ctl-alm-compose/templates/sys-ctl-alm-compose@.service.j2 b/roles/sys-ctl-alm-compose/templates/sys-ctl-alm-compose@.service.j2 deleted file mode 100644 index d967b40a..00000000 --- a/roles/sys-ctl-alm-compose/templates/sys-ctl-alm-compose@.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Notifier for %i - -[Service] -Type=oneshot -ExecStart=/usr/bin/systemctl start sys-ctl-alm-telegram.infinito@%i.service sys-ctl-alm-email.infinito@%i.service -User=root -Group=systemd-journal diff --git a/roles/sys-ctl-alm-compose/templates/systemctl@.service.j2 b/roles/sys-ctl-alm-compose/templates/systemctl@.service.j2 new file mode 100644 index 00000000..cc59ca92 --- /dev/null +++ b/roles/sys-ctl-alm-compose/templates/systemctl@.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Notifier for %i + +[Service] +Type=oneshot +ExecStart=/usr/bin/systemctl start {{ SYS_SERVICE_ON_FAILURE_EMAIL }} {{ SYS_SERVICE_ON_FAILURE_TELEGRAM }} +User=root +Group=systemd-journal diff --git a/roles/sys-ctl-alm-compose/vars/main.yml b/roles/sys-ctl-alm-compose/vars/main.yml new file mode 100644 index 00000000..5603f2b1 --- /dev/null +++ b/roles/sys-ctl-alm-compose/vars/main.yml @@ -0,0 +1 @@ +systemctl_id: sys-ctl-alm-compose \ No newline at end of file diff --git a/roles/sys-ctl-alm-email/README.md b/roles/sys-ctl-alm-email/README.md index 783129f6..2dd6c45e 100644 --- a/roles/sys-ctl-alm-email/README.md +++ b/roles/sys-ctl-alm-email/README.md @@ -2,7 +2,7 @@ ## Description -This role installs and configures the necessary components for sending email notifications via systemd when a service fails. It sets up the `sys-ctl-alm-email` service and configures email parameters and templates using msmtp. +This role installs and configures the necessary components for sending email notifications via systemd when a service fails. It sets up the `{{ systemctl_id }}` service and configures email parameters and templates using msmtp. ## Overview diff --git a/roles/sys-ctl-alm-email/handlers/main.yml b/roles/sys-ctl-alm-email/handlers/main.yml deleted file mode 100644 index 52372f22..00000000 --- a/roles/sys-ctl-alm-email/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "restart sys-ctl-alm-email service" - systemd: - name: sys-ctl-alm-email{{ SYS_SERVICE_SUFFIX }} - daemon_reload: yes diff --git a/roles/sys-ctl-alm-email/tasks/01_core.yml b/roles/sys-ctl-alm-email/tasks/01_core.yml index ab797061..b2b39d7d 100644 --- a/roles/sys-ctl-alm-email/tasks/01_core.yml +++ b/roles/sys-ctl-alm-email/tasks/01_core.yml @@ -3,21 +3,8 @@ name: '{{ item }}' loop: - sys-svc-msmtp - - sys-rst-daemon -- name: "create {{systemd_notifier_email_folder}}" - file: - path: "{{systemd_notifier_email_folder}}" - state: directory - mode: "0755" +- include_role: + name: sys-systemctl -- name: configure sys-ctl-alm-email.sh - template: - src: sys-ctl-alm-email.sh.j2 - dest: "{{systemd_notifier_email_folder}}sys-ctl-alm-email.sh" -- name: configure sys-ctl-alm-email{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-alm-email@.service.j2 - dest: /etc/systemd/system/sys-ctl-alm-email.infinito@.service - notify: restart sys-ctl-alm-email service diff --git a/roles/sys-ctl-alm-email/templates/sys-ctl-alm-email.sh.j2 b/roles/sys-ctl-alm-email/templates/script.sh.j2 similarity index 100% rename from roles/sys-ctl-alm-email/templates/sys-ctl-alm-email.sh.j2 rename to roles/sys-ctl-alm-email/templates/script.sh.j2 diff --git a/roles/sys-ctl-alm-email/templates/sys-ctl-alm-email@.service.j2 b/roles/sys-ctl-alm-email/templates/systemctl@.service.j2 similarity index 57% rename from roles/sys-ctl-alm-email/templates/sys-ctl-alm-email@.service.j2 rename to roles/sys-ctl-alm-email/templates/systemctl@.service.j2 index baacb993..e0a990d4 100644 --- a/roles/sys-ctl-alm-email/templates/sys-ctl-alm-email@.service.j2 +++ b/roles/sys-ctl-alm-email/templates/systemctl@.service.j2 @@ -3,6 +3,6 @@ Description=status email for %i to user [Service] Type=oneshot -ExecStart=/bin/bash {{systemd_notifier_email_folder}}sys-ctl-alm-email.sh %i +ExecStart=/bin/bash {{ systemctl_id | get_service_script_path('sh') }} %i User=root Group=systemd-journal diff --git a/roles/sys-ctl-alm-email/vars/main.yml b/roles/sys-ctl-alm-email/vars/main.yml index ff43e78d..0a33b685 100644 --- a/roles/sys-ctl-alm-email/vars/main.yml +++ b/roles/sys-ctl-alm-email/vars/main.yml @@ -1 +1 @@ -systemd_notifier_email_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-alm-email/' +systemctl_id: sys-ctl-alm-email diff --git a/roles/sys-ctl-alm-telegram/handlers/main.yml b/roles/sys-ctl-alm-telegram/handlers/main.yml deleted file mode 100644 index 675bbfa3..00000000 --- a/roles/sys-ctl-alm-telegram/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "restart sys-ctl-alm-telegram service" - systemd: - name: sys-ctl-alm-telegram{{ SYS_SERVICE_SUFFIX }} - daemon_reload: yes diff --git a/roles/sys-ctl-alm-telegram/tasks/01_core.yml b/roles/sys-ctl-alm-telegram/tasks/01_core.yml index 997da792..6c389514 100644 --- a/roles/sys-ctl-alm-telegram/tasks/01_core.yml +++ b/roles/sys-ctl-alm-telegram/tasks/01_core.yml @@ -1,8 +1,3 @@ -- name: Include dependency 'sys-rst-daemon' - include_role: - name: sys-rst-daemon - when: run_once_sys_rst_daemon is not defined - - name: Fail if Telegram bot credentials are not set assert: that: @@ -14,24 +9,10 @@ - telegram_bot_token # Your Telegram bot’s API token - telegram_chat_id # The Telegram chat ID to send messages to +- include_role: + name: sys-systemctl + - name: install curl community.general.pacman: name: curl state: present - -- name: Create a directory with a subdirectory - ansible.builtin.file: - path: "{{systemd_telegram_folder}}" - state: directory - mode: '0755' - -- name: configure sys-ctl-alm-telegram.sh - template: - src: sys-ctl-alm-telegram.sh.j2 - dest: "{{ systemd_telegram_script }}" - -- name: configure sys-ctl-alm-telegram{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-alm-telegram@.service.j2 - dest: "/etc/systemd/system/sys-ctl-alm-telegram.infinito@.service" - notify: "restart sys-ctl-alm-telegram service" diff --git a/roles/sys-ctl-alm-telegram/templates/sys-ctl-alm-telegram.sh.j2 b/roles/sys-ctl-alm-telegram/templates/script.sh.j2 similarity index 100% rename from roles/sys-ctl-alm-telegram/templates/sys-ctl-alm-telegram.sh.j2 rename to roles/sys-ctl-alm-telegram/templates/script.sh.j2 diff --git a/roles/sys-ctl-alm-telegram/templates/sys-ctl-alm-telegram@.service.j2 b/roles/sys-ctl-alm-telegram/templates/systemctl@.service.j2 similarity index 60% rename from roles/sys-ctl-alm-telegram/templates/sys-ctl-alm-telegram@.service.j2 rename to roles/sys-ctl-alm-telegram/templates/systemctl@.service.j2 index d2f9b49f..1a6c992e 100644 --- a/roles/sys-ctl-alm-telegram/templates/sys-ctl-alm-telegram@.service.j2 +++ b/roles/sys-ctl-alm-telegram/templates/systemctl@.service.j2 @@ -3,6 +3,6 @@ Description=status Telegram message for %i to user [Service] Type=oneshot -ExecStart=/bin/bash {{ systemd_telegram_script }} %i +ExecStart=/bin/bash {{ systemctl_id | get_service_script_path('sh') }} %i User=root Group=systemd-journal diff --git a/roles/sys-ctl-alm-telegram/vars/main.yml b/roles/sys-ctl-alm-telegram/vars/main.yml index b747b0ff..a98e4665 100644 --- a/roles/sys-ctl-alm-telegram/vars/main.yml +++ b/roles/sys-ctl-alm-telegram/vars/main.yml @@ -1,2 +1,2 @@ -systemd_telegram_folder: /opt/ansible-roles/sys-ctl-alm-telegram/ -systemd_telegram_script: '{{systemd_telegram_folder}}sys-ctl-alm-telegram.sh' +systemctl_id: sys-ctl-alm-telegram + diff --git a/roles/sys-ctl-bkp-docker-2-loc/handlers/main.yml b/roles/sys-ctl-bkp-docker-2-loc/handlers/main.yml deleted file mode 100644 index 07aa4583..00000000 --- a/roles/sys-ctl-bkp-docker-2-loc/handlers/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -- name: "reload backup docker to local (all) service" - systemd: - name: "{{ BKP_DOCKER_2_LOC_SERVICE_ALL }}" - daemon_reload: yes - -- name: "reload backup docker to local service" - systemd: - name: "{{ BKP_DOCKER_2_LOC_SERVICE }}" - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-bkp-docker-2-loc/tasks/01_core.yml b/roles/sys-ctl-bkp-docker-2-loc/tasks/01_core.yml index 8fa7eef6..90be7f17 100644 --- a/roles/sys-ctl-bkp-docker-2-loc/tasks/01_core.yml +++ b/roles/sys-ctl-bkp-docker-2-loc/tasks/01_core.yml @@ -14,24 +14,9 @@ include_tasks: 03_reset.yml when: MODE_RESET | bool -- name: "setup '{{ BKP_DOCKER_2_LOC_SERVICE_ALL }}'" - template: - src: "{{ role_name }}-everything.service.j2" - dest: /etc/systemd/system/{{ BKP_DOCKER_2_LOC_SERVICE_ALL }} - notify: reload backup docker to local (all) service - -- name: "setup '{{ BKP_DOCKER_2_LOC_SERVICE }}'" - template: - src: "{{ role_name }}.service.j2" - dest: /etc/systemd/system/{{ BKP_DOCKER_2_LOC_SERVICE }} - notify: reload backup docker to local service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_BACKUP_DOCKER_TO_LOCAL}}" + systemctl_copy_files: false + systemctl_timer_enabled: false + systemctl_on_calendar: "{{ SYS_SCHEDULE_BACKUP_DOCKER_TO_LOCAL }}" diff --git a/roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc-everything.service.j2 b/roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc-everything.service.j2 deleted file mode 100644 index 6d678c07..00000000 --- a/roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc-everything.service.j2 +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=backup all docker volumes to local folder -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_BACKUPS | reject('equalto', role_name ) | join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' -ExecStart=/bin/sh -c '{{ BKP_DOCKER_2_LOC_EXEC }} --everything' -ExecStartPost=/bin/sh -c '/bin/systemctl start sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} &' \ No newline at end of file diff --git a/roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc.service.j2 b/roles/sys-ctl-bkp-docker-2-loc/templates/systemctl.service.j2 similarity index 82% rename from roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc.service.j2 rename to roles/sys-ctl-bkp-docker-2-loc/templates/systemctl.service.j2 index bc606ec8..40c3cc66 100644 --- a/roles/sys-ctl-bkp-docker-2-loc/templates/sys-ctl-bkp-docker-2-loc.service.j2 +++ b/roles/sys-ctl-bkp-docker-2-loc/templates/systemctl.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=backup docker volumes to local folder -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} {{ SYS_SERVICE_CLEANUP_BACKUPS_FAILED }} [Service] Type=oneshot diff --git a/roles/sys-ctl-bkp-docker-2-loc/vars/main.yml b/roles/sys-ctl-bkp-docker-2-loc/vars/main.yml index f94adcb0..600a3d55 100644 --- a/roles/sys-ctl-bkp-docker-2-loc/vars/main.yml +++ b/roles/sys-ctl-bkp-docker-2-loc/vars/main.yml @@ -5,9 +5,7 @@ # - BKP_DOCKER_2_LOC_DISABLED: All images where backup.disabled is set (for --images-no-backup-required) # CLI-ready variables render these lists as argument strings. -BKP_DOCKER_2_LOC_SERVICE: "{{ role_name ~ SYS_SERVICE_SUFFIX }}" - -BKP_DOCKER_2_LOC_SERVICE_ALL: "{{ role_name }}-everything{{ SYS_SERVICE_SUFFIX }}" +systemctl_id: sys-ctl-bkp-docker-2-loc # Verify if DB is enabled BKP_DOCKER_2_LOC_DB_ENABLED: "{{ database_type | default('') | bool }}" diff --git a/roles/sys-ctl-cln-anon-volumes/tasks/main.yml b/roles/sys-ctl-cln-anon-volumes/tasks/main.yml deleted file mode 100644 index b3d5adeb..00000000 --- a/roles/sys-ctl-cln-anon-volumes/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ -- name: Check if docker is installed - ansible.builtin.stat: - path: /usr/bin/docker - register: docker_bin - -- name: "pkgmgr install" - include_role: - name: pkgmgr-install - vars: - package_name: dockreap - when: - - run_once_sys_ctl_cln_anon_volumes is not defined - - docker_bin.stat.exists - -- name: run dockreap with --no-confirmation - command: - cmd: "dockreap --no-confirmation" - when: - - run_once_sys_ctl_cln_anon_volumes is not defined - - docker_bin.stat.exists - -- name: mark dockreap as run - set_fact: - run_once_sys_ctl_cln_anon_volumes: true - when: - - run_once_sys_ctl_cln_anon_volumes is not defined - - docker_bin.stat.exists diff --git a/roles/sys-ctl-cln-anon-volumes/vars/main.yml b/roles/sys-ctl-cln-anon-volumes/vars/main.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/roles/sys-ctl-cln-bkps/files/sys-ctl-cln-backups.py b/roles/sys-ctl-cln-bkps/files/script.py similarity index 100% rename from roles/sys-ctl-cln-bkps/files/sys-ctl-cln-backups.py rename to roles/sys-ctl-cln-bkps/files/script.py diff --git a/roles/sys-ctl-cln-bkps/handlers/main.yml b/roles/sys-ctl-cln-bkps/handlers/main.yml deleted file mode 100644 index 7a507aca..00000000 --- a/roles/sys-ctl-cln-bkps/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-cln-backups service" - systemd: - name: sys-ctl-cln-backups{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-cln-bkps/tasks/01_core.yml b/roles/sys-ctl-cln-bkps/tasks/01_core.yml index dbd1dc46..fa50959c 100644 --- a/roles/sys-ctl-cln-bkps/tasks/01_core.yml +++ b/roles/sys-ctl-cln-bkps/tasks/01_core.yml @@ -5,7 +5,6 @@ - dev-python-pip - sys-ctl-alm-compose - sys-lock - - sys-rst-daemon - name: install lsof and python-psutil community.general.pacman: @@ -14,19 +13,5 @@ - python-psutil state: present -- name: "create {{cleanup_backups_directory}}" - file: - path: "{{cleanup_backups_directory}}" - state: directory - mode: "0755" - -- name: create sys-ctl-cln-backups.py - copy: - src: "sys-ctl-cln-backups.py" - dest: "{{cleanup_backups_directory}}sys-ctl-cln-backups.py" - -- name: create sys-ctl-cln-backups{{ SYS_SERVICE_SUFFIX }} - template: - src: "sys-ctl-cln-backups.service.j2" - dest: "/etc/systemd/system/sys-ctl-cln-backups{{ SYS_SERVICE_SUFFIX }}" - notify: reload sys-ctl-cln-backups service +- include_role: + name: sys-systemctl \ No newline at end of file diff --git a/roles/sys-ctl-cln-bkps/templates/sys-ctl-cln-backups.service.j2 b/roles/sys-ctl-cln-bkps/templates/sys-ctl-cln-backups.service.j2 deleted file mode 100644 index b65f1b56..00000000 --- a/roles/sys-ctl-cln-bkps/templates/sys-ctl-cln-backups.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=delete old backups -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' -ExecStart=/bin/sh -c '/usr/bin/python {{cleanup_backups_directory}}sys-ctl-cln-backups.py --backups-folder-path {{backups_folder_path}} --maximum-backup-size-percent {{size_percent_maximum_backup}}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-bkps/templates/systemctl.service.j2 b/roles/sys-ctl-cln-bkps/templates/systemctl.service.j2 new file mode 100644 index 00000000..c7e797ee --- /dev/null +++ b/roles/sys-ctl-cln-bkps/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=delete old backups +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' +ExecStart=/bin/sh -c '/usr/bin/python {{ systemctl_id | get_service_script_path('sh') }} --backups-folder-path {{ BACKUPS_FOLDER_PATH }} --maximum-backup-size-percent {{SIZE_PERCENT_MAXIMUM_BACKUP}}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-bkps/vars/main.yml b/roles/sys-ctl-cln-bkps/vars/main.yml index 771293cb..f0d032af 100644 --- a/roles/sys-ctl-cln-bkps/vars/main.yml +++ b/roles/sys-ctl-cln-bkps/vars/main.yml @@ -1,2 +1 @@ -cleanup_backups_directory: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-cln-backups/' - +systemctl_id: "sys-ctl-cln-bkps" diff --git a/roles/sys-ctl-cln-certs/handlers/main.yml b/roles/sys-ctl-cln-certs/handlers/main.yml deleted file mode 100644 index c9618058..00000000 --- a/roles/sys-ctl-cln-certs/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: "Reload and restart sys-ctl-cln-certs service" - systemd: - name: sys-ctl-cln-certs{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes - state: restarted \ No newline at end of file diff --git a/roles/sys-ctl-cln-certs/tasks/01_core.yml b/roles/sys-ctl-cln-certs/tasks/01_core.yml index 208d3b37..4209e11e 100644 --- a/roles/sys-ctl-cln-certs/tasks/01_core.yml +++ b/roles/sys-ctl-cln-certs/tasks/01_core.yml @@ -3,7 +3,7 @@ name: '{{ item }}' loop: - sys-ctl-alm-compose - - sys-rst-daemon + - sys-daemon - name: "pkgmgr install" include_role: @@ -11,18 +11,8 @@ vars: package_name: certreap -- name: configure sys-ctl-cln-certs{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-cln-certs.service.j2 - dest: /etc/systemd/system/sys-ctl-cln-certs{{ SYS_SERVICE_SUFFIX }} - notify: Reload and restart sys-ctl-cln-certs service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer - vars: - on_calendar: "{{ SYS_SCHEDULE_CLEANUP_CERTS }}" +- include_role: + name: sys-systemctl + systemctl_timer_enabled: true + systemctl_on_calendar: "{{ SYS_SCHEDULE_CLEANUP_CERTS }}" + systemctl_copy_files: false diff --git a/roles/sys-ctl-cln-certs/templates/sys-ctl-cln-certs.service.j2 b/roles/sys-ctl-cln-certs/templates/systemctl.service.j2 similarity index 75% rename from roles/sys-ctl-cln-certs/templates/sys-ctl-cln-certs.service.j2 rename to roles/sys-ctl-cln-certs/templates/systemctl.service.j2 index 0beb615e..08567d9d 100644 --- a/roles/sys-ctl-cln-certs/templates/sys-ctl-cln-certs.service.j2 +++ b/roles/sys-ctl-cln-certs/templates/systemctl.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Detect, revoke, and delete unused Let's Encrypt certificates based on active NGINX configuration files. -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} [Service] Type=oneshot diff --git a/roles/sys-ctl-cln-certs/vars/main.yml b/roles/sys-ctl-cln-certs/vars/main.yml new file mode 100644 index 00000000..3826c2b0 --- /dev/null +++ b/roles/sys-ctl-cln-certs/vars/main.yml @@ -0,0 +1 @@ +systemctl_id: sys-ctl-cln-certs diff --git a/roles/sys-ctl-cln-disc-space/handlers/main.yml b/roles/sys-ctl-cln-disc-space/handlers/main.yml deleted file mode 100644 index 24426db8..00000000 --- a/roles/sys-ctl-cln-disc-space/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-cln-disc-space service" - systemd: - name: sys-ctl-cln-disc-space{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-cln-disc-space/tasks/01_core.yml b/roles/sys-ctl-cln-disc-space/tasks/01_core.yml new file mode 100644 index 00000000..61001d68 --- /dev/null +++ b/roles/sys-ctl-cln-disc-space/tasks/01_core.yml @@ -0,0 +1,14 @@ +- name: Include dependencies + include_role: + name: '{{ item }}' + loop: + - sys-ctl-alm-compose + - sys-lock + - sys-daemon + - + +- include_role: + name: sys-systemctl + vars: + systemctl_timer_enabled: true + systemctl_on_calendar: "{{SYS_SCHEDULE_CLEANUP_DISC_SPACE}}" \ No newline at end of file diff --git a/roles/sys-ctl-cln-disc-space/tasks/main.yml b/roles/sys-ctl-cln-disc-space/tasks/main.yml index ac1d5f72..e037cace 100644 --- a/roles/sys-ctl-cln-disc-space/tasks/main.yml +++ b/roles/sys-ctl-cln-disc-space/tasks/main.yml @@ -1,37 +1,5 @@ - block: - - name: Include dependencies - include_role: - name: '{{ item }}' - loop: - - sys-ctl-alm-compose - - sys-lock - - sys-rst-daemon + - include_tasks: 01_core.yml - include_tasks: utils/run_once.yml when: run_once_sys_ctl_cln_disc_space is not defined - -- name: "create {{cleanup_disc_space_folder}}" - file: - path: "{{cleanup_disc_space_folder}}" - state: directory - mode: "0755" -- name: create sys-ctl-cln-disc-space.sh - template: - src: sys-ctl-cln-disc-space.sh.j2 - dest: "{{cleanup_disc_space_folder}}sys-ctl-cln-disc-space.sh" - -- name: create sys-ctl-cln-disc-space{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-cln-disc-space.service.j2 - dest: /etc/systemd/system/sys-ctl-cln-disc-space{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-cln-disc-space service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer - vars: - on_calendar: "{{SYS_SCHEDULE_CLEANUP_DISC_SPACE}}" diff --git a/roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.sh.j2 b/roles/sys-ctl-cln-disc-space/templates/scripts.sh.j2 similarity index 87% rename from roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.sh.j2 rename to roles/sys-ctl-cln-disc-space/templates/scripts.sh.j2 index ce255193..eda1dcdb 100644 --- a/roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.sh.j2 +++ b/roles/sys-ctl-cln-disc-space/templates/scripts.sh.j2 @@ -14,7 +14,7 @@ for disc_use_percent in $(df --output=pcent | sed 1d) do disc_use_percent_number=$(echo "$disc_use_percent" | sed "s/%//") if [ "$disc_use_percent_number" -gt "$minimum_percent_cleanup_disc_space" ]; then - echo "WARNING: $disc_use_percent_number exceeds the limit of {{size_percent_disc_space_warning}}%." + echo "WARNING: $disc_use_percent_number exceeds the limit of {{SIZE_PERCENT_DISC_SPACE_WARNING}}%." force_freeing=true fi done @@ -22,9 +22,9 @@ if [ "$force_freeing" = true ]; then echo "cleaning up /tmp" && find /tmp -type f -atime +10 -delete || exit 1 - {% if backups_folder_path is defined and size_percent_maximum_backup is defined %} + {% if BACKUPS_FOLDER_PATH is defined and SIZE_PERCENT_MAXIMUM_BACKUP is defined %} echo "cleaning up backups" && - python {{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-cln-backups/sys-ctl-cln-backups.py --backups-folder-path {{backups_folder_path}} --maximum-backup-size-percent {{size_percent_maximum_backup}} || exit 2 + python {{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-cln-backups/sys-ctl-cln-backups.py --backups-folder-path {{ BACKUPS_FOLDER_PATH }} --maximum-backup-size-percent {{SIZE_PERCENT_MAXIMUM_BACKUP}} || exit 2 {% endif %} if pacman -Qs $package > /dev/null ; then diff --git a/roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.service.j2 b/roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.service.j2 deleted file mode 100644 index 2ebc1ef3..00000000 --- a/roles/sys-ctl-cln-disc-space/templates/sys-ctl-cln-disc-space.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=freeing disc space -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' -ExecStart=/bin/sh -c '/bin/bash {{cleanup_disc_space_folder}}sys-ctl-cln-disc-space.sh {{size_percent_cleanup_disc_space}}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-disc-space/templates/systemctl.service.j2 b/roles/sys-ctl-cln-disc-space/templates/systemctl.service.j2 new file mode 100644 index 00000000..59977936 --- /dev/null +++ b/roles/sys-ctl-cln-disc-space/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=freeing disc space +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{ SYS_TIMEOUT_BACKUP_SERVICES }}"' +ExecStart=/bin/sh -c '/bin/bash {{ systemctl_id | get_service_script_path('sh') }} {{SIZE_PERCENT_CLEANUP_DISC_SPACE}}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-disc-space/vars/main.yml b/roles/sys-ctl-cln-disc-space/vars/main.yml index 26f27e49..70192cb7 100644 --- a/roles/sys-ctl-cln-disc-space/vars/main.yml +++ b/roles/sys-ctl-cln-disc-space/vars/main.yml @@ -1 +1 @@ -cleanup_disc_space_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-cln-disc-space/' +systemctl_id: "sys-ctl-cln-disc-space" diff --git a/roles/sys-ctl-cln-domains/vars/main.yml b/roles/sys-ctl-cln-domains/vars/main.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/roles/sys-ctl-cln-faild-bkps/handlers/main.yml b/roles/sys-ctl-cln-faild-bkps/handlers/main.yml deleted file mode 100644 index 758c797f..00000000 --- a/roles/sys-ctl-cln-faild-bkps/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "Reload sys-ctl-cln-faild-bkps service" - systemd: - name: sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-cln-faild-bkps/tasks/01_core.yml b/roles/sys-ctl-cln-faild-bkps/tasks/01_core.yml index 70b0ea89..11298622 100644 --- a/roles/sys-ctl-cln-faild-bkps/tasks/01_core.yml +++ b/roles/sys-ctl-cln-faild-bkps/tasks/01_core.yml @@ -5,36 +5,26 @@ - sys-ctl-alm-compose - sys-lock - sys-svc-directory-validator - - sys-rst-daemon + - sys-daemon - name: "pkgmgr install" include_role: name: pkgmgr-install vars: - package_name: "{{ cln_failed_docker_backups_pkg }}" + package_name: "{{ CLN_FAILED_DOCKER_BACKUPS_PKG }}" -- name: "Retrieve {{ cln_failed_docker_backups_pkg }} path from pkgmgr" - command: "pkgmgr path {{ cln_failed_docker_backups_pkg }}" +- name: "Retrieve {{ CLN_FAILED_DOCKER_BACKUPS_PKG }} path from pkgmgr" + command: "pkgmgr path {{ CLN_FAILED_DOCKER_BACKUPS_PKG }}" register: pkgmgr_output changed_when: false -- name: Set fact for backup_docker_to_local_cleanup_script +- name: Set fact for BACKUP_CLEANUP_SCRIPT set_fact: - backup_docker_to_local_cleanup_script: "{{ pkgmgr_output.stdout.rstrip('/') ~ '/cleanup-all.sh' }}" + BACKUP_CLEANUP_SCRIPT: "{{ pkgmgr_output.stdout.rstrip('/') ~ '/cleanup-all.sh' }}" changed_when: false -- name: configure sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-cln-faild-bkps.service.j2 - dest: /etc/systemd/system/sys-ctl-cln-faild-bkps{{ SYS_SERVICE_SUFFIX }} - notify: Reload sys-ctl-cln-faild-bkps service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_CLEANUP_FAILED_BACKUPS}}" + systemctl_timer_enabled: true + systemctl_on_calendar: "{{SYS_SCHEDULE_CLEANUP_FAILED_BACKUPS}}" diff --git a/roles/sys-ctl-cln-faild-bkps/templates/sys-ctl-cln-faild-bkps.service.j2 b/roles/sys-ctl-cln-faild-bkps/templates/sys-ctl-cln-faild-bkps.service.j2 deleted file mode 100644 index 5bc91713..00000000 --- a/roles/sys-ctl-cln-faild-bkps/templates/sys-ctl-cln-faild-bkps.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Cleaning up failed docker volume backups -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{SYS_TIMEOUT_CLEANUP_SERVICES}}"' -ExecStart=/bin/sh -c '/usr/bin/yes | /usr/bin/bash {{backup_docker_to_local_cleanup_script}}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-faild-bkps/templates/systemctl.service.j2 b/roles/sys-ctl-cln-faild-bkps/templates/systemctl.service.j2 new file mode 100644 index 00000000..926728ea --- /dev/null +++ b/roles/sys-ctl-cln-faild-bkps/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Cleaning up failed docker volume backups +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} --timeout "{{ SYS_TIMEOUT_CLEANUP_SERVICES }}"' +ExecStart=/bin/sh -c '/usr/bin/yes | /usr/bin/bash {{ BACKUP_CLEANUP_SCRIPT }}' \ No newline at end of file diff --git a/roles/sys-ctl-cln-faild-bkps/vars/main.yml b/roles/sys-ctl-cln-faild-bkps/vars/main.yml index 61525714..635507c3 100644 --- a/roles/sys-ctl-cln-faild-bkps/vars/main.yml +++ b/roles/sys-ctl-cln-faild-bkps/vars/main.yml @@ -1,2 +1,2 @@ -cln_failed_docker_backups_pkg: cleanup-failed-docker-backups - +systemctl_id: sys-ctl-cln-faild-bkps +CLN_FAILED_DOCKER_BACKUPS_PKG: cleanup-failed-docker-backups diff --git a/roles/sys-ctl-hlth-btrfs/files/sys-ctl-hlth-btrfs.sh b/roles/sys-ctl-hlth-btrfs/files/script.sh similarity index 100% rename from roles/sys-ctl-hlth-btrfs/files/sys-ctl-hlth-btrfs.sh rename to roles/sys-ctl-hlth-btrfs/files/script.sh diff --git a/roles/sys-ctl-hlth-btrfs/handlers/main.yml b/roles/sys-ctl-hlth-btrfs/handlers/main.yml deleted file mode 100644 index f059564c..00000000 --- a/roles/sys-ctl-hlth-btrfs/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-btrfs service" - systemd: - name: sys-ctl-hlth-btrfs{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-hlth-btrfs/tasks/01_core.yml b/roles/sys-ctl-hlth-btrfs/tasks/01_core.yml new file mode 100644 index 00000000..433dae52 --- /dev/null +++ b/roles/sys-ctl-hlth-btrfs/tasks/01_core.yml @@ -0,0 +1,10 @@ +- name: Include dependency 'sys-ctl-alm-compose' + include_role: + name: sys-ctl-alm-compose + when: run_once_sys_ctl_alm_compose is not defined + +- include_role: + name: sys-systemctl + vars: + systemctl_on_calendar: "{{SYS_SCHEDULE_HEALTH_BTRFS}}" + systemctl_timer_enabled: true \ No newline at end of file diff --git a/roles/sys-ctl-hlth-btrfs/tasks/main.yml b/roles/sys-ctl-hlth-btrfs/tasks/main.yml index 108fc6c6..593f7562 100644 --- a/roles/sys-ctl-hlth-btrfs/tasks/main.yml +++ b/roles/sys-ctl-hlth-btrfs/tasks/main.yml @@ -1,36 +1,5 @@ - block: - - - name: Include dependency 'sys-ctl-alm-compose' - include_role: - name: sys-ctl-alm-compose - when: run_once_sys_ctl_alm_compose is not defined - + - include_tasks: 01_core.yml - include_tasks: utils/run_once.yml when: run_once_sys_ctl_hlth_btrfs is not defined -- name: "create {{docker_health_btrfs_folder}}" - file: - path: "{{docker_health_btrfs_folder}}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-btrfs.sh - copy: - src: sys-ctl-hlth-btrfs.sh - dest: "{{docker_health_btrfs_folder}}sys-ctl-hlth-btrfs.sh" - -- name: create sys-ctl-hlth-btrfs{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-btrfs.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-btrfs{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-btrfs service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer - vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_BTRFS}}" diff --git a/roles/sys-ctl-hlth-btrfs/templates/sys-ctl-hlth-btrfs.service.j2 b/roles/sys-ctl-hlth-btrfs/templates/sys-ctl-hlth-btrfs.service.j2 deleted file mode 100644 index ee0bfbd2..00000000 --- a/roles/sys-ctl-hlth-btrfs/templates/sys-ctl-hlth-btrfs.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check btrfs status -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{docker_health_btrfs_folder}}sys-ctl-hlth-btrfs.sh diff --git a/roles/sys-ctl-hlth-btrfs/vars/main.yml b/roles/sys-ctl-hlth-btrfs/vars/main.yml index 53b454e1..4009c945 100644 --- a/roles/sys-ctl-hlth-btrfs/vars/main.yml +++ b/roles/sys-ctl-hlth-btrfs/vars/main.yml @@ -1 +1 @@ -docker_health_btrfs_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-btrfs/' +systemctl_id: sys-ctl-hlth-btrfs diff --git a/roles/sys-ctl-hlth-csp/files/sys-ctl-hlth-csp.py b/roles/sys-ctl-hlth-csp/files/script.py similarity index 100% rename from roles/sys-ctl-hlth-csp/files/sys-ctl-hlth-csp.py rename to roles/sys-ctl-hlth-csp/files/script.py diff --git a/roles/sys-ctl-hlth-csp/handlers/main.yml b/roles/sys-ctl-hlth-csp/handlers/main.yml index 9db3dea5..88ca65aa 100644 --- a/roles/sys-ctl-hlth-csp/handlers/main.yml +++ b/roles/sys-ctl-hlth-csp/handlers/main.yml @@ -1,11 +1,3 @@ -- name: "reload sys-ctl-hlth-csp service" - systemd: - name: sys-ctl-hlth-csp{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes - async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" - poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" - - name: rebuild checkcsp docker image shell: checkcsp build async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" diff --git a/roles/sys-ctl-hlth-csp/tasks/01_core.yml b/roles/sys-ctl-hlth-csp/tasks/01_core.yml index 43b782eb..46c52498 100644 --- a/roles/sys-ctl-hlth-csp/tasks/01_core.yml +++ b/roles/sys-ctl-hlth-csp/tasks/01_core.yml @@ -10,30 +10,8 @@ package_name: checkcsp package_notify: rebuild checkcsp docker image -- name: "create {{ health_csp_crawler_folder }}" - file: - path: "{{ health_csp_crawler_folder }}" - state: directory - mode: "0755" - -- name: copy sys-ctl-hlth-csp.py - copy: - src: sys-ctl-hlth-csp.py - dest: "{{ health_csp_crawler_script }}" - mode: "0755" - -- name: create sys-ctl-hlth-csp{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-csp.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-csp{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-csp service - -- name: set service_name to role_name - set_fact: - service_name: "{{ role_name }}" - -- name: include systemd timer role - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{ SYS_SCHEDULE_HEALTH_CSP_CRAWLER }}" + systemctl_on_calendar: "{{ SYS_SCHEDULE_HEALTH_CSP_CRAWLER }}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-hlth-csp/templates/sys-ctl-hlth-csp.service.j2 b/roles/sys-ctl-hlth-csp/templates/sys-ctl-hlth-csp.service.j2 deleted file mode 100644 index d09005e3..00000000 --- a/roles/sys-ctl-hlth-csp/templates/sys-ctl-hlth-csp.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Check for CSP-blocked resources via Puppeteer -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/usr/bin/python3 {{ health_csp_crawler_script }} \ - --nginx-config-dir={{ NGINX.DIRECTORIES.HTTP.SERVERS }} \ No newline at end of file diff --git a/roles/sys-ctl-hlth-csp/templates/systemctl.service.j2 b/roles/sys-ctl-hlth-csp/templates/systemctl.service.j2 new file mode 100644 index 00000000..d0285bf0 --- /dev/null +++ b/roles/sys-ctl-hlth-csp/templates/systemctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Check for CSP-blocked resources via Puppeteer +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart=/usr/bin/python3 {{ systemctl_id | get_service_script_path('py') }} --nginx-config-dir={{ NGINX.DIRECTORIES.HTTP.SERVERS }} \ No newline at end of file diff --git a/roles/sys-ctl-hlth-csp/vars/main.yml b/roles/sys-ctl-hlth-csp/vars/main.yml index b08a1de2..21846eee 100644 --- a/roles/sys-ctl-hlth-csp/vars/main.yml +++ b/roles/sys-ctl-hlth-csp/vars/main.yml @@ -1,3 +1 @@ -health_csp_crawler_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-csp/' -health_csp_crawler_script: '{{ health_csp_crawler_folder }}sys-ctl-hlth-csp.py' - +systemctl_id: sys-ctl-hlth-csp \ No newline at end of file diff --git a/roles/sys-ctl-hlth-disc-space/files/sys-ctl-hlth-disc-space.sh b/roles/sys-ctl-hlth-disc-space/files/script.sh similarity index 100% rename from roles/sys-ctl-hlth-disc-space/files/sys-ctl-hlth-disc-space.sh rename to roles/sys-ctl-hlth-disc-space/files/script.sh diff --git a/roles/sys-ctl-hlth-disc-space/handlers/main.yml b/roles/sys-ctl-hlth-disc-space/handlers/main.yml deleted file mode 100644 index 2e3ed0cb..00000000 --- a/roles/sys-ctl-hlth-disc-space/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-disc-space service" - systemd: - name: sys-ctl-hlth-disc-space{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-hlth-disc-space/tasks/main.yml b/roles/sys-ctl-hlth-disc-space/tasks/main.yml index 1ea06bd5..3bc37de8 100644 --- a/roles/sys-ctl-hlth-disc-space/tasks/main.yml +++ b/roles/sys-ctl-hlth-disc-space/tasks/main.yml @@ -6,29 +6,8 @@ - include_tasks: utils/run_once.yml when: run_once_sys_ctl_hlth_disc_space is not defined -- name: "create {{health_disc_space_folder}}" - file: - path: "{{health_disc_space_folder}}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-disc-space.sh - copy: - src: sys-ctl-hlth-disc-space.sh - dest: "{{health_disc_space_folder}}sys-ctl-hlth-disc-space.sh" - -- name: create sys-ctl-hlth-disc-space{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-disc-space.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-disc-space{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-disc-space service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_DISC_SPACE}}" + systemctl_on_calendar: "{{ SYS_SCHEDULE_HEALTH_DISC_SPACE }}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-hlth-disc-space/templates/sys-ctl-hlth-disc-space.service.j2 b/roles/sys-ctl-hlth-disc-space/templates/sys-ctl-hlth-disc-space.service.j2 deleted file mode 100644 index a2e85b7e..00000000 --- a/roles/sys-ctl-hlth-disc-space/templates/sys-ctl-hlth-disc-space.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=checking disc space -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_disc_space_folder}}sys-ctl-hlth-disc-space.sh {{size_percent_disc_space_warning}} diff --git a/roles/sys-ctl-hlth-disc-space/vars/main.yml b/roles/sys-ctl-hlth-disc-space/vars/main.yml index e5e472ed..b549b94b 100644 --- a/roles/sys-ctl-hlth-disc-space/vars/main.yml +++ b/roles/sys-ctl-hlth-disc-space/vars/main.yml @@ -1 +1 @@ -health_disc_space_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-disc-space/' +systemctl_id: sys-ctl-hlth-disc-space \ No newline at end of file diff --git a/roles/sys-ctl-hlth-docker-container/files/sys-ctl-hlth-docker-container.sh b/roles/sys-ctl-hlth-docker-container/files/script.sh similarity index 100% rename from roles/sys-ctl-hlth-docker-container/files/sys-ctl-hlth-docker-container.sh rename to roles/sys-ctl-hlth-docker-container/files/script.sh diff --git a/roles/sys-ctl-hlth-docker-container/handlers/main.yml b/roles/sys-ctl-hlth-docker-container/handlers/main.yml deleted file mode 100644 index f61482dc..00000000 --- a/roles/sys-ctl-hlth-docker-container/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-docker-container service" - systemd: - name: sys-ctl-hlth-docker-container{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-hlth-docker-container/tasks/01_core.yml b/roles/sys-ctl-hlth-docker-container/tasks/01_core.yml index b2ea5c55..980cd7f7 100644 --- a/roles/sys-ctl-hlth-docker-container/tasks/01_core.yml +++ b/roles/sys-ctl-hlth-docker-container/tasks/01_core.yml @@ -3,29 +3,8 @@ name: sys-ctl-alm-compose when: run_once_sys_ctl_alm_compose is not defined -- name: "create {{health_docker_container_folder}}" - file: - path: "{{health_docker_container_folder}}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-docker-container.sh - copy: - src: sys-ctl-hlth-docker-container.sh - dest: "{{health_docker_container_folder}}sys-ctl-hlth-docker-container.sh" - -- name: create sys-ctl-hlth-docker-container{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-docker-container.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-docker-container{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-docker-container service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_DOCKER_CONTAINER}}" + systemctl_timer_enabled: true + systemctl_on_calendar: "{{ SYS_SCHEDULE_HEALTH_DOCKER_CONTAINER }}" diff --git a/roles/sys-ctl-hlth-docker-container/templates/sys-ctl-hlth-docker-container.service.j2 b/roles/sys-ctl-hlth-docker-container/templates/sys-ctl-hlth-docker-container.service.j2 deleted file mode 100644 index 56ea5cb7..00000000 --- a/roles/sys-ctl-hlth-docker-container/templates/sys-ctl-hlth-docker-container.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Checking docker health -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_docker_container_folder}}sys-ctl-hlth-docker-container.sh diff --git a/roles/sys-ctl-hlth-docker-container/vars/main.yml b/roles/sys-ctl-hlth-docker-container/vars/main.yml index c66ee4b3..08a84e66 100644 --- a/roles/sys-ctl-hlth-docker-container/vars/main.yml +++ b/roles/sys-ctl-hlth-docker-container/vars/main.yml @@ -1 +1 @@ -health_docker_container_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-docker-container/' +systemctl_id: sys-ctl-hlth-docker-container \ No newline at end of file diff --git a/roles/sys-ctl-hlth-docker-volumes/files/sys-ctl-hlth-docker-volumes.sh b/roles/sys-ctl-hlth-docker-volumes/files/script.sh similarity index 100% rename from roles/sys-ctl-hlth-docker-volumes/files/sys-ctl-hlth-docker-volumes.sh rename to roles/sys-ctl-hlth-docker-volumes/files/script.sh diff --git a/roles/sys-ctl-hlth-docker-volumes/handlers/main.yml b/roles/sys-ctl-hlth-docker-volumes/handlers/main.yml deleted file mode 100644 index 20da7a87..00000000 --- a/roles/sys-ctl-hlth-docker-volumes/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-docker-volumes service" - systemd: - name: sys-ctl-hlth-docker-volumes{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-hlth-docker-volumes/tasks/01_core.yml b/roles/sys-ctl-hlth-docker-volumes/tasks/01_core.yml index c2326a94..0cbfae01 100644 --- a/roles/sys-ctl-hlth-docker-volumes/tasks/01_core.yml +++ b/roles/sys-ctl-hlth-docker-volumes/tasks/01_core.yml @@ -3,29 +3,8 @@ name: sys-ctl-alm-compose when: run_once_sys_ctl_alm_compose is not defined -- name: "create {{health_docker_volumes_folder}}" - file: - path: "{{health_docker_volumes_folder}}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-docker-volumes.sh - copy: - src: sys-ctl-hlth-docker-volumes.sh - dest: "{{health_docker_volumes_folder}}sys-ctl-hlth-docker-volumes.sh" - -- name: create sys-ctl-hlth-docker-volumes{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-docker-volumes.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-docker-volumes{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-docker-volumes service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_DOCKER_VOLUMES}}" + systemctl_on_calendar: "{{SYS_SCHEDULE_HEALTH_DOCKER_VOLUMES}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-hlth-docker-volumes/templates/sys-ctl-hlth-docker-volumes.service.j2 b/roles/sys-ctl-hlth-docker-volumes/templates/sys-ctl-hlth-docker-volumes.service.j2 deleted file mode 100644 index d59a7c58..00000000 --- a/roles/sys-ctl-hlth-docker-volumes/templates/sys-ctl-hlth-docker-volumes.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Checking docker health -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{ health_docker_volumes_folder }}sys-ctl-hlth-docker-volumes.sh "{{ DOCKER_WHITELISTET_ANON_VOLUMES | join(' ') }}" diff --git a/roles/sys-ctl-hlth-docker-volumes/templates/systemctl.service.j2 b/roles/sys-ctl-hlth-docker-volumes/templates/systemctl.service.j2 new file mode 100644 index 00000000..438001b8 --- /dev/null +++ b/roles/sys-ctl-hlth-docker-volumes/templates/systemctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Checking docker health +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart=/bin/bash {{ systemctl_id | get_service_script_path('sh') }} "{{ DOCKER_WHITELISTET_ANON_VOLUMES | join(' ') }}" diff --git a/roles/sys-ctl-hlth-docker-volumes/vars/main.yml b/roles/sys-ctl-hlth-docker-volumes/vars/main.yml index 9184ef49..7472b87c 100644 --- a/roles/sys-ctl-hlth-docker-volumes/vars/main.yml +++ b/roles/sys-ctl-hlth-docker-volumes/vars/main.yml @@ -1 +1 @@ -health_docker_volumes_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-docker-volumes/' +systemctl_id: sys-ctl-hlth-docker-volumes \ No newline at end of file diff --git a/roles/sys-ctl-hlth-journalctl/files/sys-ctl-hlth-journalctl.sh b/roles/sys-ctl-hlth-journalctl/files/script.sh similarity index 100% rename from roles/sys-ctl-hlth-journalctl/files/sys-ctl-hlth-journalctl.sh rename to roles/sys-ctl-hlth-journalctl/files/script.sh diff --git a/roles/sys-ctl-hlth-journalctl/handlers/main.yml b/roles/sys-ctl-hlth-journalctl/handlers/main.yml deleted file mode 100644 index e85bda76..00000000 --- a/roles/sys-ctl-hlth-journalctl/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-journalctl service" - systemd: - name: sys-ctl-hlth-journalctl{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-hlth-journalctl/tasks/01_core.yml b/roles/sys-ctl-hlth-journalctl/tasks/01_core.yml index cd75ce17..b4ebc90f 100644 --- a/roles/sys-ctl-hlth-journalctl/tasks/01_core.yml +++ b/roles/sys-ctl-hlth-journalctl/tasks/01_core.yml @@ -3,29 +3,8 @@ name: sys-ctl-alm-compose when: run_once_sys_ctl_alm_compose is not defined -- name: "create {{health_journalctl_folder}}" - file: - path: "{{health_journalctl_folder}}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-journalctl.sh - copy: - src: sys-ctl-hlth-journalctl.sh - dest: "{{health_journalctl_folder}}sys-ctl-hlth-journalctl.sh" - -- name: create sys-ctl-hlth-journalctl{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-journalctl.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-journalctl{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-journalctl service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_JOURNALCTL}}" + systemctl_on_calendar: "{{SYS_SCHEDULE_HEALTH_JOURNALCTL}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-hlth-journalctl/templates/sys-ctl-hlth-journalctl.service.j2 b/roles/sys-ctl-hlth-journalctl/templates/sys-ctl-hlth-journalctl.service.j2 deleted file mode 100644 index c04365f3..00000000 --- a/roles/sys-ctl-hlth-journalctl/templates/sys-ctl-hlth-journalctl.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=checking journalctl health -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_journalctl_folder}}sys-ctl-hlth-journalctl.sh diff --git a/roles/sys-ctl-hlth-journalctl/vars/main.yml b/roles/sys-ctl-hlth-journalctl/vars/main.yml index 1518bf5e..47179033 100644 --- a/roles/sys-ctl-hlth-journalctl/vars/main.yml +++ b/roles/sys-ctl-hlth-journalctl/vars/main.yml @@ -1,2 +1 @@ -health_journalctl_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-journalctl/' - +systemctl_id: sys-ctl-hlth-journalctl \ No newline at end of file diff --git a/roles/sys-ctl-hlth-msmtp/handlers/main.yml b/roles/sys-ctl-hlth-msmtp/handlers/main.yml deleted file mode 100644 index 9fdb2c7f..00000000 --- a/roles/sys-ctl-hlth-msmtp/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: reload sys-ctl-hlth-msmtp service - systemd: - name: sys-ctl-hlth-msmtp{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-hlth-msmtp/tasks/01_core.yml b/roles/sys-ctl-hlth-msmtp/tasks/01_core.yml new file mode 100644 index 00000000..f6967c30 --- /dev/null +++ b/roles/sys-ctl-hlth-msmtp/tasks/01_core.yml @@ -0,0 +1,10 @@ +- name: Include dependency 'sys-ctl-alm-telegram' + include_role: + name: sys-ctl-alm-telegram + when: run_once_sys_ctl_alm_telegram is not defined + +- include_role: + name: sys-systemctl + vars: + systemctl_on_calendar: "{{ SYS_SCHEDULE_HEALTH_MSMTP }}" + systemctl_timer_enabled: true \ No newline at end of file diff --git a/roles/sys-ctl-hlth-msmtp/tasks/main.yml b/roles/sys-ctl-hlth-msmtp/tasks/main.yml index c636bdd4..257ddd53 100644 --- a/roles/sys-ctl-hlth-msmtp/tasks/main.yml +++ b/roles/sys-ctl-hlth-msmtp/tasks/main.yml @@ -1,35 +1,5 @@ - block: - - name: Include dependency 'sys-ctl-alm-telegram' - include_role: - name: sys-ctl-alm-telegram - when: run_once_sys_ctl_alm_telegram is not defined + - include_tasks: 01_core.yml - include_tasks: utils/run_once.yml when: run_once_sys_ctl_hlth_msmtp is not defined -- name: "create {{ health_msmtp_folder }}" - file: - path: "{{ health_msmtp_folder }}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-msmtp.sh - template: - src: sys-ctl-hlth-msmtp.sh.j2 - dest: "{{ health_msmtp_folder }}sys-ctl-hlth-msmtp.sh" - mode: '0755' - -- name: create sys-ctl-hlth-msmtp{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-msmtp.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-msmtp{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-msmtp service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: include role for sys-timer for {{ service_name }} - include_role: - name: sys-timer - vars: - on_calendar: "{{ SYS_SCHEDULE_HEALTH_MSMTP }}" diff --git a/roles/sys-ctl-hlth-msmtp/templates/sys-ctl-hlth-msmtp.sh.j2 b/roles/sys-ctl-hlth-msmtp/templates/script.sh.j2 similarity index 100% rename from roles/sys-ctl-hlth-msmtp/templates/sys-ctl-hlth-msmtp.sh.j2 rename to roles/sys-ctl-hlth-msmtp/templates/script.sh.j2 diff --git a/roles/sys-ctl-hlth-msmtp/templates/sys-ctl-hlth-msmtp.service.j2 b/roles/sys-ctl-hlth-msmtp/templates/sys-ctl-hlth-msmtp.service.j2 deleted file mode 100644 index b2f43c7e..00000000 --- a/roles/sys-ctl-hlth-msmtp/templates/sys-ctl-hlth-msmtp.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check msmtp liveliness -OnFailure=sys-ctl-alm-telegram.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{ health_msmtp_folder }}sys-ctl-hlth-msmtp.sh diff --git a/roles/sys-ctl-hlth-msmtp/vars/main.yml b/roles/sys-ctl-hlth-msmtp/vars/main.yml index c3d793df..8df898f3 100644 --- a/roles/sys-ctl-hlth-msmtp/vars/main.yml +++ b/roles/sys-ctl-hlth-msmtp/vars/main.yml @@ -1,2 +1,2 @@ -health_msmtp_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-msmtp/' +systemctl_id: sys-ctl-hlth-msmtp diff --git a/roles/sys-ctl-hlth-webserver/handlers/main.yml b/roles/sys-ctl-hlth-webserver/handlers/main.yml deleted file mode 100644 index b1da5979..00000000 --- a/roles/sys-ctl-hlth-webserver/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-hlth-webserver service" - systemd: - name: sys-ctl-hlth-webserver{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-hlth-webserver/tasks/01_core.yml b/roles/sys-ctl-hlth-webserver/tasks/01_core.yml index 339b1a2c..a9534f3f 100644 --- a/roles/sys-ctl-hlth-webserver/tasks/01_core.yml +++ b/roles/sys-ctl-hlth-webserver/tasks/01_core.yml @@ -13,29 +13,8 @@ name: python-requests state: present -- name: "create {{ health_nginx_folder }}" - file: - path: "{{ health_nginx_folder }}" - state: directory - mode: "0755" - -- name: create sys-ctl-hlth-webserver.py - template: - src: sys-ctl-hlth-webserver.py.j2 - dest: "{{ health_nginx_folder }}sys-ctl-hlth-webserver.py" - -- name: create sys-ctl-hlth-webserver{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-hlth-webserver.service.j2 - dest: /etc/systemd/system/sys-ctl-hlth-webserver{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-hlth-webserver service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_HEALTH_NGINX}}" + systemctl_on_calendar: "{{SYS_SCHEDULE_HEALTH_NGINX}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-hlth-webserver/templates/sys-ctl-hlth-webserver.py.j2 b/roles/sys-ctl-hlth-webserver/templates/script.py.j2 similarity index 100% rename from roles/sys-ctl-hlth-webserver/templates/sys-ctl-hlth-webserver.py.j2 rename to roles/sys-ctl-hlth-webserver/templates/script.py.j2 diff --git a/roles/sys-ctl-hlth-webserver/templates/sys-ctl-hlth-webserver.service.j2 b/roles/sys-ctl-hlth-webserver/templates/sys-ctl-hlth-webserver.service.j2 deleted file mode 100644 index 311b354b..00000000 --- a/roles/sys-ctl-hlth-webserver/templates/sys-ctl-hlth-webserver.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check nginx configuration status -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart=/usr/bin/python3 {{ health_nginx_folder }}sys-ctl-hlth-webserver.py diff --git a/roles/sys-ctl-hlth-webserver/vars/main.yml b/roles/sys-ctl-hlth-webserver/vars/main.yml index 1b108bee..fdc7f419 100644 --- a/roles/sys-ctl-hlth-webserver/vars/main.yml +++ b/roles/sys-ctl-hlth-webserver/vars/main.yml @@ -1 +1 @@ -health_nginx_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-hlth-webserver/' +systemctl_id: sys-ctl-hlth-webserver \ No newline at end of file diff --git a/roles/sys-ctl-mtn-cert-deploy/files/sys-ctl-mtn-cert-deploy.sh b/roles/sys-ctl-mtn-cert-deploy/files/script.sh similarity index 100% rename from roles/sys-ctl-mtn-cert-deploy/files/sys-ctl-mtn-cert-deploy.sh rename to roles/sys-ctl-mtn-cert-deploy/files/script.sh diff --git a/roles/sys-ctl-mtn-cert-deploy/handlers/main.yml b/roles/sys-ctl-mtn-cert-deploy/handlers/main.yml deleted file mode 100644 index 42d4c81b..00000000 --- a/roles/sys-ctl-mtn-cert-deploy/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: "restart tls deploy to docker service" - systemd: - name: "{{ CERT_SYNC_DOCKER_SERVICE_NAME_FULL }}" - state: restarted - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-mtn-cert-deploy/tasks/01_core.yml b/roles/sys-ctl-mtn-cert-deploy/tasks/01_core.yml index a439a06a..6c6bc885 100644 --- a/roles/sys-ctl-mtn-cert-deploy/tasks/01_core.yml +++ b/roles/sys-ctl-mtn-cert-deploy/tasks/01_core.yml @@ -3,11 +3,10 @@ name: sys-ctl-alm-compose when: run_once_sys_ctl_alm_compose is not defined -- name: "Install '{{ CERT_SYNC_DOCKER_SCRIPT_FILE }}'" - ansible.builtin.copy: - src: "{{ CERT_SYNC_DOCKER_SCRIPT_FILE }}" - dest: "{{ CERT_SYNC_DOCKER_SCRIPT_PATH }}" - mode: "0755" - owner: root - group: root - notify: restart tls deploy to docker service \ No newline at end of file +- include_role: + name: sys-systemctl + vars: + systemctl_state: restarted + systemctl_on_calendar: "{{ SYS_SCHEDULE_MAINTANANCE_LETSENCRYPT_DEPLOY }}" + persistent: "true" + systemctl_timer_enabled: true \ No newline at end of file diff --git a/roles/sys-ctl-mtn-cert-deploy/tasks/main.yml b/roles/sys-ctl-mtn-cert-deploy/tasks/main.yml index 2781c6a4..faed79fd 100644 --- a/roles/sys-ctl-mtn-cert-deploy/tasks/main.yml +++ b/roles/sys-ctl-mtn-cert-deploy/tasks/main.yml @@ -4,24 +4,4 @@ run_once_sys_ctl_mtn_cert_deploy: true when: run_once_sys_ctl_mtn_cert_deploy is not defined -- name: "create {{ cert_mount_directory }}" - file: - path: "{{ cert_mount_directory }}" - state: directory - mode: "0755" - notify: restart tls deploy to docker service - -- name: Copy {{ CERT_SYNC_DOCKER_SERVICE_NAME_FULL }} - template: - src: "{{ CERT_SYNC_DOCKER_BASE }}.service.j2" - dest: "/etc/systemd/system/{{ CERT_SYNC_DOCKER_SERVICE_NAME_FULL }}" - notify: restart tls deploy to docker service - -- name: "include role for sys-timer for {{ CERT_SYNC_DOCKER_SERVICE_NAME_FULL }}" - include_role: - name: sys-timer - vars: - on_calendar: "{{ SYS_SCHEDULE_MAINTANANCE_LETSENCRYPT_DEPLOY }}" - service_name: "{{ CERT_SYNC_DOCKER_SERVICE_NAME_BASE }}" - persistent: "true" diff --git a/roles/sys-ctl-mtn-cert-deploy/templates/sys-ctl-mtn-cert-deploy.service.j2 b/roles/sys-ctl-mtn-cert-deploy/templates/sys-ctl-mtn-cert-deploy.service.j2 deleted file mode 100644 index 1d8f5453..00000000 --- a/roles/sys-ctl-mtn-cert-deploy/templates/sys-ctl-mtn-cert-deploy.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Let's Encrypt deploy to {{ docker_compose.directories.instance }} -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStart={{ PATH_ADMINISTRATOR_SCRIPTS }}/{{ CERT_SYNC_DOCKER_SCRIPT_FILE }} {{ ssl_cert_folder }} {{ docker_compose.directories.instance }} {{ LETSENCRYPT_LIVE_PATH }} diff --git a/roles/sys-ctl-mtn-cert-deploy/templates/systemctl.service.j2 b/roles/sys-ctl-mtn-cert-deploy/templates/systemctl.service.j2 new file mode 100644 index 00000000..74ec50c1 --- /dev/null +++ b/roles/sys-ctl-mtn-cert-deploy/templates/systemctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Let's Encrypt deploy to {{ docker_compose.directories.instance }} +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart={{ systemctl_id | get_service_script_path('sh') }} {{ ssl_cert_folder }} {{ docker_compose.directories.instance }} {{ LETSENCRYPT_LIVE_PATH }} diff --git a/roles/sys-ctl-mtn-cert-deploy/vars/main.yml b/roles/sys-ctl-mtn-cert-deploy/vars/main.yml index f4261ff8..d9504d24 100644 --- a/roles/sys-ctl-mtn-cert-deploy/vars/main.yml +++ b/roles/sys-ctl-mtn-cert-deploy/vars/main.yml @@ -1,6 +1 @@ - -CERT_SYNC_DOCKER_BASE: "sys-ctl-mtn-cert-deploy" -CERT_SYNC_DOCKER_SCRIPT_FILE: "{{ CERT_SYNC_DOCKER_BASE }}.sh" -CERT_SYNC_DOCKER_SCRIPT_PATH: "{{ PATH_ADMINISTRATOR_SCRIPTS }}{{ CERT_SYNC_DOCKER_SCRIPT_FILE }}" -CERT_SYNC_DOCKER_SERVICE_NAME_BASE: "{{ application_id | get_entity_name }}.{{ CERT_SYNC_DOCKER_BASE }}" -CERT_SYNC_DOCKER_SERVICE_NAME_FULL: "{{ CERT_SYNC_DOCKER_SERVICE_NAME_BASE }}{{ SYS_SERVICE_SUFFIX }}" \ No newline at end of file +systemctl_id: "sys-ctl-mtn-cert-deploy" diff --git a/roles/sys-ctl-mtn-cert-renew/handlers/main.yml b/roles/sys-ctl-mtn-cert-renew/handlers/main.yml deleted file mode 100644 index 6fbf0df9..00000000 --- a/roles/sys-ctl-mtn-cert-renew/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: "reload certbot service" - systemd: - name: sys-ctl-mtn-cert-renew{{ SYS_SERVICE_SUFFIX }} - state: reloaded - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-mtn-cert-renew/tasks/01_core.yml b/roles/sys-ctl-mtn-cert-renew/tasks/01_core.yml index e5ef5a96..8bed7aab 100644 --- a/roles/sys-ctl-mtn-cert-renew/tasks/01_core.yml +++ b/roles/sys-ctl-mtn-cert-renew/tasks/01_core.yml @@ -12,19 +12,10 @@ - certbot-nginx state: present -- name: configure sys-ctl-mtn-cert-renew service - template: - src: sys-ctl-mtn-cert-renew.service.j2 - dest: /etc/systemd/system/sys-ctl-mtn-cert-renew{{ SYS_SERVICE_SUFFIX }} - notify: reload certbot service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{ SYS_SCHEDULE_MAINTANANCE_LETSENCRYPT_RENEW }}" + systemctl_copy_files: false + systemctl_on_calendar: "{{ SYS_SCHEDULE_MAINTANANCE_LETSENCRYPT_RENEW }}" persistent: "true" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-mtn-cert-renew/templates/sys-ctl-mtn-cert-renew.service.j2 b/roles/sys-ctl-mtn-cert-renew/templates/systemctl.service.j2 similarity index 80% rename from roles/sys-ctl-mtn-cert-renew/templates/sys-ctl-mtn-cert-renew.service.j2 rename to roles/sys-ctl-mtn-cert-renew/templates/systemctl.service.j2 index b4f0f0ef..3b8bc351 100644 --- a/roles/sys-ctl-mtn-cert-renew/templates/sys-ctl-mtn-cert-renew.service.j2 +++ b/roles/sys-ctl-mtn-cert-renew/templates/systemctl.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Let's Encrypt renewal -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} [Service] Type=oneshot diff --git a/roles/sys-ctl-mtn-cert-renew/vars/main.yml b/roles/sys-ctl-mtn-cert-renew/vars/main.yml new file mode 100644 index 00000000..00dec87b --- /dev/null +++ b/roles/sys-ctl-mtn-cert-renew/vars/main.yml @@ -0,0 +1 @@ +systemctl_id: sys-ctl-mtn-cert-renew \ No newline at end of file diff --git a/roles/sys-ctl-rpr-btrfs-balancer/handlers/main.yml b/roles/sys-ctl-rpr-btrfs-balancer/handlers/main.yml deleted file mode 100644 index ab075525..00000000 --- a/roles/sys-ctl-rpr-btrfs-balancer/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "reload sys-ctl-rpr-btrfs-balancer service" - systemd: - name: sys-ctl-rpr-btrfs-balancer{{ SYS_SERVICE_SUFFIX }} - daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml b/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml index 8afe2051..5e39e470 100644 --- a/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml +++ b/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml @@ -9,18 +9,9 @@ vars: package_name: btrfs-auto-balancer -- name: configure sys-ctl-rpr-btrfs-balancer{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-rpr-btrfs-balancer.service.j2 - dest: /etc/systemd/system/sys-ctl-rpr-btrfs-balancer{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-ctl-rpr-btrfs-balancer service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_REPAIR_BTRFS_AUTO_BALANCER}}" + systemctl_copy_files: false + systemctl_on_calendar: "{{SYS_SCHEDULE_REPAIR_BTRFS_AUTO_BALANCER}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-rpr-btrfs-balancer/templates/sys-ctl-rpr-btrfs-balancer.service.j2 b/roles/sys-ctl-rpr-btrfs-balancer/templates/systemctl.service.j2 similarity index 64% rename from roles/sys-ctl-rpr-btrfs-balancer/templates/sys-ctl-rpr-btrfs-balancer.service.j2 rename to roles/sys-ctl-rpr-btrfs-balancer/templates/systemctl.service.j2 index 4837b051..7996ce47 100644 --- a/roles/sys-ctl-rpr-btrfs-balancer/templates/sys-ctl-rpr-btrfs-balancer.service.j2 +++ b/roles/sys-ctl-rpr-btrfs-balancer/templates/systemctl.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=auto balance btrfs -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} [Service] Type=oneshot diff --git a/roles/sys-ctl-rpr-btrfs-balancer/vars/main.yml b/roles/sys-ctl-rpr-btrfs-balancer/vars/main.yml new file mode 100644 index 00000000..6b4b3cda --- /dev/null +++ b/roles/sys-ctl-rpr-btrfs-balancer/vars/main.yml @@ -0,0 +1 @@ +systemctl_id: sys-ctl-rpr-btrfs-balancer \ No newline at end of file diff --git a/roles/sys-ctl-rpr-docker-hard/files/sys-ctl-rpr-docker-hard.py b/roles/sys-ctl-rpr-docker-hard/files/script.py similarity index 100% rename from roles/sys-ctl-rpr-docker-hard/files/sys-ctl-rpr-docker-hard.py rename to roles/sys-ctl-rpr-docker-hard/files/script.py diff --git a/roles/sys-ctl-rpr-docker-hard/handlers/main.yml b/roles/sys-ctl-rpr-docker-hard/handlers/main.yml deleted file mode 100644 index e537764a..00000000 --- a/roles/sys-ctl-rpr-docker-hard/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload sys-ctl-rpr-docker-hard service" - systemd: - name: sys-ctl-rpr-docker-hard{{ SYS_SERVICE_SUFFIX }} - enabled: yes - daemon_reload: yes diff --git a/roles/sys-ctl-rpr-docker-hard/tasks/01_core.yml b/roles/sys-ctl-rpr-docker-hard/tasks/01_core.yml index afa5bed9..cd3dd87e 100644 --- a/roles/sys-ctl-rpr-docker-hard/tasks/01_core.yml +++ b/roles/sys-ctl-rpr-docker-hard/tasks/01_core.yml @@ -3,29 +3,8 @@ name: sys-lock when: run_once_sys_lock is not defined -- name: "create {{restart_docker_folder}}" - file: - path: "{{restart_docker_folder}}" - state: directory - mode: "0755" - -- name: create {{restart_docker_script}} - copy: - src: sys-ctl-rpr-docker-hard.py - dest: "{{restart_docker_script}}" - -- name: configure sys-ctl-rpr-docker-hard{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-rpr-docker-hard.service.j2 - dest: /etc/systemd/system/sys-ctl-rpr-docker-hard{{ SYS_SERVICE_SUFFIX }} - notify: "reload sys-ctl-rpr-docker-hard service" - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_HARD}}" + systemctl_on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_HARD}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-rpr-docker-hard/templates/sys-ctl-rpr-docker-hard.service.j2 b/roles/sys-ctl-rpr-docker-hard/templates/sys-ctl-rpr-docker-hard.service.j2 deleted file mode 100644 index 50d78e3f..00000000 --- a/roles/sys-ctl-rpr-docker-hard/templates/sys-ctl-rpr-docker-hard.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Restart Docker Instances -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP | join(' ') }} sys-ctl-rpr-docker-hard --timeout "{{SYS_TIMEOUT_RESTART_DOCKER}}"' -ExecStart=/bin/sh -c '/usr/bin/python {{restart_docker_script}} {{ PATH_DOCKER_COMPOSE_INSTANCES }}' \ No newline at end of file diff --git a/roles/sys-ctl-rpr-docker-hard/templates/systemctl.service.j2 b/roles/sys-ctl-rpr-docker-hard/templates/systemctl.service.j2 new file mode 100644 index 00000000..fb502723 --- /dev/null +++ b/roles/sys-ctl-rpr-docker-hard/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Restart Docker Instances +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP | join(' ') }} {{ SYS_SERVICE_REPAIR_DOCKER_HARD }} --timeout "{{ SYS_TIMEOUT_RESTART_DOCKER }}"' +ExecStart=/bin/sh -c '/usr/bin/python {{ systemctl_id | get_service_script_path('py') }}' \ No newline at end of file diff --git a/roles/sys-ctl-rpr-docker-hard/vars/main.yml b/roles/sys-ctl-rpr-docker-hard/vars/main.yml index 8115aa35..71be303a 100644 --- a/roles/sys-ctl-rpr-docker-hard/vars/main.yml +++ b/roles/sys-ctl-rpr-docker-hard/vars/main.yml @@ -1,3 +1,2 @@ -restart_docker_folder: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-rpr-docker-hard/' -restart_docker_script: '{{restart_docker_folder}}sys-ctl-rpr-docker-hard.py' +systemctl_id: sys-ctl-rpr-docker-hard diff --git a/roles/sys-ctl-rpr-docker-soft/handlers/main.yml b/roles/sys-ctl-rpr-docker-soft/handlers/main.yml deleted file mode 100644 index b2950f75..00000000 --- a/roles/sys-ctl-rpr-docker-soft/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: restart sys-ctl-rpr-docker-soft service - systemd: - name: sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} - state: restarted - daemon_reload: yes diff --git a/roles/sys-ctl-rpr-docker-soft/tasks/01_core.yml b/roles/sys-ctl-rpr-docker-soft/tasks/01_core.yml index e7f35fb5..a42efe06 100644 --- a/roles/sys-ctl-rpr-docker-soft/tasks/01_core.yml +++ b/roles/sys-ctl-rpr-docker-soft/tasks/01_core.yml @@ -3,30 +3,8 @@ name: sys-lock when: run_once_sys_lock is not defined -- name: "create {{heal_docker}}" - file: - path: "{{heal_docker}}" - state: directory - mode: "0755" - -- name: create sys-ctl-rpr-docker-soft.py - template: - src: sys-ctl-rpr-docker-soft.py.j2 - dest: "{{heal_docker}}sys-ctl-rpr-docker-soft.py" - notify: restart sys-ctl-rpr-docker-soft service - -- name: create sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} - template: - src: sys-ctl-rpr-docker-soft.service.j2 - dest: /etc/systemd/system/sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} - notify: restart sys-ctl-rpr-docker-soft service - -- name: "set 'service_name' to '{{ role_name }}'" - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for sys-timer for {{ service_name }}" - include_role: - name: sys-timer +- include_role: + name: sys-systemctl vars: - on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_SOFT}}" + systemctl_on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_SOFT}}" + systemctl_timer_enabled: true diff --git a/roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.py.j2 b/roles/sys-ctl-rpr-docker-soft/templates/script.py.j2 similarity index 93% rename from roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.py.j2 rename to roles/sys-ctl-rpr-docker-soft/templates/script.py.j2 index 949a44b5..6d640788 100644 --- a/roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.py.j2 +++ b/roles/sys-ctl-rpr-docker-soft/templates/script.py.j2 @@ -39,10 +39,11 @@ def main(base_directory): blocker_running = True while blocker_running: - try: - bash("systemctl is-active --quiet sys-ctl-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }}") - bash("systemctl is-active --quiet update-docker{{ SYS_SERVICE_SUFFIX }}") - print("Backup is running.") + try: +{% for manipulation_service in SYS_SERVICE_GROUP_MANIPULATION %} + bash("systemctl is-active --quiet {{ manipulation_service }}") +{% endfor %} + print("Manipulation service is running.") print(f"Trying again in {waiting_time} seconds.") time.sleep(waiting_time) except: diff --git a/roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.service.j2 b/roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.service.j2 deleted file mode 100644 index 7ae39452..00000000 --- a/roles/sys-ctl-rpr-docker-soft/templates/sys-ctl-rpr-docker-soft.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=restart unhealthy docker containers -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{SYS_TIMEOUT_HEAL_DOCKER}}"' -ExecStart=/bin/sh -c '/bin/python {{heal_docker}}sys-ctl-rpr-docker-soft.py {{ PATH_DOCKER_COMPOSE_INSTANCES }}' \ No newline at end of file diff --git a/roles/sys-ctl-rpr-docker-soft/templates/systemctl.service.j2 b/roles/sys-ctl-rpr-docker-soft/templates/systemctl.service.j2 new file mode 100644 index 00000000..974b445a --- /dev/null +++ b/roles/sys-ctl-rpr-docker-soft/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=restart unhealthy docker containers +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{ SYS_TIMEOUT_HEAL_DOCKER }}"' +ExecStart=/bin/sh -c '/bin/python {{ systemctl_id | get_service_script_path('py') }} {{ PATH_DOCKER_COMPOSE_INSTANCES }}' \ No newline at end of file diff --git a/roles/sys-ctl-rpr-docker-soft/vars/main.yml b/roles/sys-ctl-rpr-docker-soft/vars/main.yml index 4c7e11f1..4d830c57 100644 --- a/roles/sys-ctl-rpr-docker-soft/vars/main.yml +++ b/roles/sys-ctl-rpr-docker-soft/vars/main.yml @@ -1,2 +1 @@ -heal_docker: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-rpr-docker-soft/' - +systemctl_id: sys-ctl-rpr-docker-soft \ No newline at end of file diff --git a/roles/sys-rst-daemon/README.md b/roles/sys-daemon/README.md similarity index 94% rename from roles/sys-rst-daemon/README.md rename to roles/sys-daemon/README.md index 514bb95c..cfb1c453 100644 --- a/roles/sys-rst-daemon/README.md +++ b/roles/sys-daemon/README.md @@ -9,7 +9,7 @@ It is primarily used in maintenance or reset scenarios when a full service clean When the `MODE_RESET` flag is enabled, the role will: -1. **Run Once Per Play:** Guarded by `run_once_sys_rst_daemon` to avoid duplicate execution. +1. **Run Once Per Play:** Guarded by `run_once_sys_daemon` to avoid duplicate execution. 2. **Identify Service Units:** Finds all `/etc/systemd/system/*{{ SYS_SERVICE_SUFFIX }}` units. 3. **Stop and Disable Services:** Gracefully stops and disables matching services. 4. **Remove Unit Files:** Deletes the corresponding unit files from the system. diff --git a/roles/sys-daemon/handlers/main.yml b/roles/sys-daemon/handlers/main.yml new file mode 100644 index 00000000..a7bbe965 --- /dev/null +++ b/roles/sys-daemon/handlers/main.yml @@ -0,0 +1,4 @@ +- name: "reload system daemon" + command: systemctl daemon-reload + async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" + poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" \ No newline at end of file diff --git a/roles/sys-rst-daemon/meta/main.yml b/roles/sys-daemon/meta/main.yml similarity index 88% rename from roles/sys-rst-daemon/meta/main.yml rename to roles/sys-daemon/meta/main.yml index f598f802..c7565b35 100644 --- a/roles/sys-rst-daemon/meta/main.yml +++ b/roles/sys-daemon/meta/main.yml @@ -14,6 +14,6 @@ galaxy_info: - infinito repository: "https://s.infinito.nexus/code" issue_tracker_url: "https://s.infinito.nexus/issues" - documentation: "https://s.infinito.nexus/code/#sys-rst-daemon-role" + documentation: "https://s.infinito.nexus/code/#sys-daemon-role" dependencies: [] diff --git a/roles/sys-daemon/tasks/main.yml b/roles/sys-daemon/tasks/main.yml new file mode 100644 index 00000000..4002f657 --- /dev/null +++ b/roles/sys-daemon/tasks/main.yml @@ -0,0 +1,8 @@ +- name: "reset (if enabled)" + include_tasks: reset.yml + when: MODE_RESET | bool and run_once_sys_daemon is not defined + +- name: run {{ role_name }} once + set_fact: + run_once_sys_daemon: true + when: run_once_sys_daemon is not defined \ No newline at end of file diff --git a/roles/sys-daemon/tasks/reset.yml b/roles/sys-daemon/tasks/reset.yml new file mode 100644 index 00000000..e28dcdca --- /dev/null +++ b/roles/sys-daemon/tasks/reset.yml @@ -0,0 +1,3 @@ +- name: reload system daemon + command: /bin/true + notify: "reload system daemon" diff --git a/roles/sys-rst-daemon/tasks/main.yml b/roles/sys-rst-daemon/tasks/main.yml deleted file mode 100644 index 1a4869f1..00000000 --- a/roles/sys-rst-daemon/tasks/main.yml +++ /dev/null @@ -1,8 +0,0 @@ -- name: "reset (if enabled)" - include_tasks: reset.yml - when: MODE_RESET | bool and run_once_sys_rst_daemon is not defined - -- name: run {{ role_name }} once - set_fact: - run_once_sys_rst_daemon: true - when: run_once_sys_rst_daemon is not defined \ No newline at end of file diff --git a/roles/sys-rst-daemon/tasks/reset.yml b/roles/sys-rst-daemon/tasks/reset.yml deleted file mode 100644 index 483b9ba8..00000000 --- a/roles/sys-rst-daemon/tasks/reset.yml +++ /dev/null @@ -1,28 +0,0 @@ -- name: Find all infinito.service units - find: - paths: /etc/systemd/system - patterns: '*{{ SYS_SERVICE_SUFFIX }}' - register: infinito_services - -- name: Disable and stop each infinito service - become: true - systemd: - name: "{{ item.path | basename }}" - enabled: no - state: stopped - loop: "{{ infinito_services.files }}" - loop_control: - label: "{{ item.path | basename }}" - -- name: Remove all infinito.service files - become: true - file: - path: "{{ item.path }}" - state: absent - loop: "{{ infinito_services.files }}" - loop_control: - label: "{{ item.path | basename }}" - -- name: Reload systemd daemon - become: true - command: systemctl daemon-reload diff --git a/roles/sys-ctl-cln-anon-volumes/README.md b/roles/sys-svc-cln-anon-volumes/README.md similarity index 100% rename from roles/sys-ctl-cln-anon-volumes/README.md rename to roles/sys-svc-cln-anon-volumes/README.md diff --git a/roles/sys-ctl-cln-anon-volumes/meta/main.yml b/roles/sys-svc-cln-anon-volumes/meta/main.yml similarity index 95% rename from roles/sys-ctl-cln-anon-volumes/meta/main.yml rename to roles/sys-svc-cln-anon-volumes/meta/main.yml index 76ed043a..67161c05 100644 --- a/roles/sys-ctl-cln-anon-volumes/meta/main.yml +++ b/roles/sys-svc-cln-anon-volumes/meta/main.yml @@ -23,5 +23,3 @@ galaxy_info: repository: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner" issue_tracker_url: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner/issues" documentation: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner" - dependencies: - - sys-rst-daemon diff --git a/roles/sys-svc-cln-anon-volumes/tasks/main.yml b/roles/sys-svc-cln-anon-volumes/tasks/main.yml new file mode 100644 index 00000000..988eb17d --- /dev/null +++ b/roles/sys-svc-cln-anon-volumes/tasks/main.yml @@ -0,0 +1,24 @@ +- name: Check if docker is installed + ansible.builtin.stat: + path: /usr/bin/docker + register: docker_bin + +- block: + - name: "pkgmgr install" + include_role: + name: pkgmgr-install + vars: + package_name: dockreap + + - name: run dockreap with --no-confirmation + command: + cmd: "dockreap --no-confirmation" + async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" + poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" + + - name: mark dockreap as run + set_fact: + run_once_sys_svc_cln_anon_volumes: true + when: + - run_once_sys_svc_cln_anon_volumes is not defined + - docker_bin.stat.exists diff --git a/roles/sys-ctl-cln-domains/README.md b/roles/sys-svc-cln-domains/README.md similarity index 97% rename from roles/sys-ctl-cln-domains/README.md rename to roles/sys-svc-cln-domains/README.md index 33793ce8..9d1d82f2 100644 --- a/roles/sys-ctl-cln-domains/README.md +++ b/roles/sys-svc-cln-domains/README.md @@ -1,4 +1,4 @@ -# sys-ctl-cln-domains +# sys-svc-cln-domains ## Description diff --git a/roles/sys-ctl-cln-domains/meta/main.yml b/roles/sys-svc-cln-domains/meta/main.yml similarity index 100% rename from roles/sys-ctl-cln-domains/meta/main.yml rename to roles/sys-svc-cln-domains/meta/main.yml diff --git a/roles/sys-ctl-cln-domains/tasks/main.yml b/roles/sys-svc-cln-domains/tasks/main.yml similarity index 89% rename from roles/sys-ctl-cln-domains/tasks/main.yml rename to roles/sys-svc-cln-domains/tasks/main.yml index b53cefc1..d23ca641 100644 --- a/roles/sys-ctl-cln-domains/tasks/main.yml +++ b/roles/sys-svc-cln-domains/tasks/main.yml @@ -4,7 +4,6 @@ name: '{{ item }}' loop: - srv-web-7-4-core - - sys-rst-daemon - name: Include task to remove deprecated nginx configs include_tasks: remove_deprecated_nginx_configs.yml @@ -26,7 +25,7 @@ # label: "{{ item }}" # when: # - MODE_CLEANUP | bool -# - run_once_sys_ctl_cln_domains is not defined +# - run_once_sys_svc_cln_domains is not defined # register: certbot_revoke_result # failed_when: > # certbot_revoke_result.rc != 0 and @@ -44,7 +43,7 @@ # label: "{{ item }}" # when: # - MODE_CLEANUP | bool -# - run_once_sys_ctl_cln_domains is not defined +# - run_once_sys_svc_cln_domains is not defined # register: certbot_delete_result # failed_when: > # certbot_delete_result.rc != 0 and @@ -52,4 +51,4 @@ # changed_when: > # certbot_delete_result.rc == 0 - include_tasks: utils/run_once.yml - when: run_once_sys_ctl_cln_domains is not defined + when: run_once_sys_svc_cln_domains is not defined diff --git a/roles/sys-ctl-cln-domains/tasks/remove_deprecated_nginx_configs.yml b/roles/sys-svc-cln-domains/tasks/remove_deprecated_nginx_configs.yml similarity index 100% rename from roles/sys-ctl-cln-domains/tasks/remove_deprecated_nginx_configs.yml rename to roles/sys-svc-cln-domains/tasks/remove_deprecated_nginx_configs.yml diff --git a/roles/sys-svc-directory-validator/tasks/main.yml b/roles/sys-svc-directory-validator/tasks/main.yml index e9cc99c3..c71b37ba 100644 --- a/roles/sys-svc-directory-validator/tasks/main.yml +++ b/roles/sys-svc-directory-validator/tasks/main.yml @@ -1,11 +1,8 @@ -- name: "pkgmgr install" - include_role: - name: pkgmgr-install - vars: - package_name: directory-validator - when: run_once_sys_bkp_directory_validator is not defined - -- name: run the backup_directory_validator tasks once - set_fact: - run_once_sys_bkp_directory_validator: true - when: run_once_sys_bkp_directory_validator is not defined +- block: + - name: "pkgmgr install" + include_role: + name: pkgmgr-install + vars: + package_name: directory-validator + - include_tasks: utils/run_once.yml + when: run_once_sys_svc_directory_validator is not defined diff --git a/roles/sys-systemctl/filter_plugins/filetype.py b/roles/sys-systemctl/filter_plugins/filetype.py new file mode 100644 index 00000000..270c1403 --- /dev/null +++ b/roles/sys-systemctl/filter_plugins/filetype.py @@ -0,0 +1,35 @@ +import os + +def filetype(path, full=False): + """ + Extract file type (extension) from a given path. + + :param path: Path or filename + :param full: If True, return the full extension (e.g., 'sh.j2'), + else only the last extension (e.g., 'sh'). + :return: Extension string without leading dot, or empty string if none. + """ + if not path or not isinstance(path, str): + return "" + + basename = os.path.basename(path) + + if full: + # Full extension chain (e.g., "script.sh.j2" -> "sh.j2") + parts = basename.split('.', 1) + if len(parts) == 2: + return parts[1] + return "" + else: + # Last extension only (e.g., "script.sh.j2" -> "j2", "script.py" -> "py") + _, ext = os.path.splitext(basename) + return ext[1:] if ext else "" + + +class FilterModule(object): + """ Custom Jinja2 filters for Ansible """ + + def filters(self): + return { + "filetype": filetype + } diff --git a/roles/sys-systemctl/handlers/main.yml b/roles/sys-systemctl/handlers/main.yml new file mode 100644 index 00000000..ae8c327d --- /dev/null +++ b/roles/sys-systemctl/handlers/main.yml @@ -0,0 +1,8 @@ +- name: "refresh systemctl service" + systemd: + name: "{{ systemctl_id }}{{ SYS_SERVICE_SUFFIX }}" + daemon_reload: yes + enabled: yes + state: "{{ systemctl_state }}" + async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" + poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" diff --git a/roles/sys-systemctl/tasks/01_core.yml b/roles/sys-systemctl/tasks/01_core.yml new file mode 100644 index 00000000..84066247 --- /dev/null +++ b/roles/sys-systemctl/tasks/01_core.yml @@ -0,0 +1,8 @@ +- name: Include dependency 'sys-daemon' + include_role: + name: sys-daemon + when: run_once_sys_daemon is not defined + +- name: "reset (if enabled)" + include_tasks: 02_reset.yml + when: MODE_RESET | bool diff --git a/roles/sys-systemctl/tasks/01_reset.yml b/roles/sys-systemctl/tasks/02_reset.yml similarity index 67% rename from roles/sys-systemctl/tasks/01_reset.yml rename to roles/sys-systemctl/tasks/02_reset.yml index 719f5599..af484a55 100644 --- a/roles/sys-systemctl/tasks/01_reset.yml +++ b/roles/sys-systemctl/tasks/02_reset.yml @@ -1,4 +1,4 @@ -- name: "pkgmgr install '{{ SYS_SERVICE_SUFFIX }}'" +- name: "pkgmgr install '{{ UNIT_SUFFIX_REMOVER_PACKAGE }}'" include_role: name: pkgmgr-install vars: @@ -6,7 +6,5 @@ - name: Remove all '{{ SYS_SERVICE_SUFFIX }}' files with '{{ UNIT_SUFFIX_REMOVER_PACKAGE }}' command: "{{ UNIT_SUFFIX_REMOVER_PACKAGE }} -s '{{ SOFTWARE_NAME }}'" - -- name: Reload systemd daemon - command: systemctl daemon-reload - become: true \ No newline at end of file + notify: "reload system daemon" + \ No newline at end of file diff --git a/roles/sys-systemctl/tasks/03_base.yml b/roles/sys-systemctl/tasks/03_base.yml new file mode 100644 index 00000000..eb027b1d --- /dev/null +++ b/roles/sys-systemctl/tasks/03_base.yml @@ -0,0 +1,28 @@ +- name: "find best matching source for service script" + set_fact: + service_src: >- + {{ + lookup('first_found', { + 'files': [ + 'templates/script.sh.j2', + 'templates/script.py.j2', + 'files/script.sh', + 'files/script.py' + ] + }, errors='strict') + }} + when: + - systemctl_copy_files | bool + +- name: "Load file logic for '{{ systemctl_id }}'" + include_tasks: 04_files.yml + when: + - systemctl_copy_files | bool + - service_src + +- name: "Load systemctl logic for '{{ systemctl_id }}'" + include_tasks: 05_service.yml + +- name: "Load timer logic for '{{ systemctl_id }}'" + include_tasks: 06_timer.yml + when: systemctl_timer_enabled | bool \ No newline at end of file diff --git a/roles/sys-systemctl/tasks/04_files.yml b/roles/sys-systemctl/tasks/04_files.yml new file mode 100644 index 00000000..a0dcb22b --- /dev/null +++ b/roles/sys-systemctl/tasks/04_files.yml @@ -0,0 +1,23 @@ + +- name: "create {{ systemctl_script_dir }}" + file: + path: "{{ systemctl_script_dir }}" + state: directory + mode: "0755" + +- name: "template or copy script" + block: + - name: "render template" + template: + src: "{{ service_src }}" + dest: "{{ [systemctl_script_dir, (service_src | basename | regex_replace('\\.j2$', ''))] | path_join }}" + mode: "0755" + when: service_src.endswith('.j2') + + - name: "copy raw file" + copy: + src: "{{ service_src }}" + dest: "{{ [systemctl_script_dir, (service_src | basename)] | path_join }}" + mode: "0755" + when: not service_src.endswith('.j2') + when: systemctl_copy_files | bool diff --git a/roles/sys-systemctl/tasks/05_service.yml b/roles/sys-systemctl/tasks/05_service.yml new file mode 100644 index 00000000..20700a51 --- /dev/null +++ b/roles/sys-systemctl/tasks/05_service.yml @@ -0,0 +1,19 @@ +- name: "setup systemctl {{ item }} '{{ systemctl_id }}'" + template: + src: "{{ lookup( + 'first_found', + { + 'files': ['templates/systemctl' ~ item ~ '.service.j2'], + 'paths': [systemctl_role_dir, role_path] + }, + errors='strict' + ) }}" + dest: "{{ [ PATH_SYSTEM_SERVICE_DIR, systemctl_id ~ item ~ SYS_SERVICE_SUFFIX ] | path_join }}" + notify: "{{ 'reload system daemon' if item == '@' else 'refresh systemctl service' }}" + register: services_template + failed_when: + - services_template is failed + - "'Could not find or access' not in services_template.msg" + loop: + - "" + - "@" diff --git a/roles/sys-systemctl/tasks/06_timer.yml b/roles/sys-systemctl/tasks/06_timer.yml new file mode 100644 index 00000000..7c9024f8 --- /dev/null +++ b/roles/sys-systemctl/tasks/06_timer.yml @@ -0,0 +1,6 @@ +- set_fact: + systemctl_timer_service: "{{ systemctl_id }}" + +- name: "include role for sys-timer for {{ systemctl_timer_service }}" + include_role: + name: sys-timer \ No newline at end of file diff --git a/roles/sys-systemctl/tasks/main.yml b/roles/sys-systemctl/tasks/main.yml index 39fb8ef8..8a2b3a0e 100644 --- a/roles/sys-systemctl/tasks/main.yml +++ b/roles/sys-systemctl/tasks/main.yml @@ -1,6 +1,14 @@ - block: - - name: "reset (if enabled)" - include_tasks: 01_reset.yml - when: MODE_RESET | bool + - include_tasks: 01_core.yml - include_tasks: utils/run_once.yml - when: run_once_sys_systemctl is not defined \ No newline at end of file + when: run_once_sys_systemctl is not defined + +- name: "Execute service routines for '{{ systemctl_id }}'" + block: + - name: "Load base routine for '{{ systemctl_id }}'" + include_tasks: 03_base.yml + - include_tasks: utils/run_once.yml + vars: + # Necessary to flush after every service which uses an 'systemctl_id' otherwise wrong one will be used + flush_handlers: true + when: systemctl_id is defined \ No newline at end of file diff --git a/roles/sys-systemctl/templates/systemctl.service.j2 b/roles/sys-systemctl/templates/systemctl.service.j2 new file mode 100644 index 00000000..597500cc --- /dev/null +++ b/roles/sys-systemctl/templates/systemctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Service for {{ SOFTWARE_NAME }} role 'systemctl_id' (DEFAULT TEMPLATE) +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStart=/bin/bash {{ systemctl_id | get_service_script_path( service_src | filetype ) }} diff --git a/roles/sys-systemctl/vars/main.yml b/roles/sys-systemctl/vars/main.yml index c3478465..8d7eafd1 100644 --- a/roles/sys-systemctl/vars/main.yml +++ b/roles/sys-systemctl/vars/main.yml @@ -1 +1,6 @@ -UNIT_SUFFIX_REMOVER_PACKAGE: "unsure" \ No newline at end of file +UNIT_SUFFIX_REMOVER_PACKAGE: "unsure" +systemctl_script_dir: "{{ [ PATH_SYSTEMCTL_SCRIPTS, systemctl_id ] | path_join }}" +systemctl_role_dir: "{{ playbook_dir }}/roles/{{ systemctl_id }}" +systemctl_copy_files: true # When set to false file copying will be skipped +systemctl_timer_enabled: false # When set to true timmer will be loaded +systemctl_state: "{{ omit }}" \ No newline at end of file diff --git a/roles/sys-timer-cln-bkps/tasks/01_core.yml b/roles/sys-timer-cln-bkps/tasks/01_core.yml index 2618ab65..a509645a 100644 --- a/roles/sys-timer-cln-bkps/tasks/01_core.yml +++ b/roles/sys-timer-cln-bkps/tasks/01_core.yml @@ -3,14 +3,14 @@ name: '{{ item }}' loop: - sys-ctl-cln-bkps - - sys-rst-daemon + - sys-daemon -- name: set service_name to sys-ctl-cln-backups +- name: set systemctl_timer_service to sys-ctl-cln-backups set_fact: - service_name: "sys-ctl-cln-backups" + systemctl_timer_service: "sys-ctl-cln-backups" -- name: "include role for sys-timer for {{ service_name }}" +- name: "include role for sys-timer for {{ systemctl_timer_service }}" include_role: name: sys-timer vars: - on_calendar: "{{SYS_SCHEDULE_CLEANUP_BACKUPS}}" \ No newline at end of file + systemctl_on_calendar: "{{ SYS_SCHEDULE_CLEANUP_BACKUPS }}" \ No newline at end of file diff --git a/roles/sys-timer/README.md b/roles/sys-timer/README.md index f935e32c..e599afa0 100644 --- a/roles/sys-timer/README.md +++ b/roles/sys-timer/README.md @@ -7,9 +7,9 @@ This role configures a systemd timer to periodically start a corresponding servi ## Overview Optimized for automated task scheduling in a [systemd](https://en.wikipedia.org/wiki/Systemd) environment, this role: -- Generates a timer unit file for a given service (using the `service_name` variable). +- Generates a timer unit file for a given service (using the `systemctl_timer_service` variable). - Reloads and restarts the timer using systemd to ensure that changes take effect. -- Supports dynamic configuration of scheduling parameters via variables like `on_calendar` and `RANDOMIZED_DELAY_SEC`. +- Supports dynamic configuration of scheduling parameters via variables like `systemctl_on_calendar` and `RANDOMIZED_DELAY_SEC`. ## Purpose diff --git a/roles/sys-timer/tasks/main.yml b/roles/sys-timer/tasks/main.yml index 7373fe8d..29135074 100644 --- a/roles/sys-timer/tasks/main.yml +++ b/roles/sys-timer/tasks/main.yml @@ -1,15 +1,9 @@ -- block: - - name: "Include sys-systemctl" - include_role: - name: sys-systemctl - when: run_once_sys_systemctl is not defined - - include_tasks: utils/run_once.yml - when: run_once_sys_timer is not defined +# run_once_sys_timer: deactivated - name: create {{ sys_timer_file }} template: src: dummy.timer.j2 - dest: "/etc/systemd/system/{{ sys_timer_file }}" + dest: "{{ [ PATH_SYSTEM_SERVICE_DIR, sys_timer_file ] | path_join }}" register: dummy_timer - name: "restart timer" @@ -21,4 +15,3 @@ when: dummy_timer.changed or ACTIVATE_ALL_TIMERS | bool async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" - diff --git a/roles/sys-timer/templates/dummy.timer.j2 b/roles/sys-timer/templates/dummy.timer.j2 index d3c0f6af..7316feb3 100644 --- a/roles/sys-timer/templates/dummy.timer.j2 +++ b/roles/sys-timer/templates/dummy.timer.j2 @@ -1,8 +1,8 @@ [Unit] -Description=Timer to start {{ service_name }}{{ SYS_SERVICE_SUFFIX }} +Description=Timer to start {{ systemctl_timer_service }}{{ SYS_SERVICE_SUFFIX }} [Timer] -OnCalendar={{ on_calendar }} +OnCalendar={{ systemctl_on_calendar }} RandomizedDelaySec={{ RANDOMIZED_DELAY_SEC }} Persistent={{ persistent | default('false') }} diff --git a/roles/sys-timer/vars/main.yml b/roles/sys-timer/vars/main.yml index fd4c6129..dadef1c4 100644 --- a/roles/sys-timer/vars/main.yml +++ b/roles/sys-timer/vars/main.yml @@ -1 +1 @@ -sys_timer_file: "{{ service_name }}{{ SYS_TIMER_SUFFIX }}" \ No newline at end of file +sys_timer_file: "{{ systemctl_timer_service }}{{ SYS_TIMER_SUFFIX }}" \ No newline at end of file diff --git a/roles/update-docker/tasks/01_core.yml b/roles/update-docker/tasks/01_core.yml index 2528c4d2..38db75a8 100644 --- a/roles/update-docker/tasks/01_core.yml +++ b/roles/update-docker/tasks/01_core.yml @@ -10,19 +10,7 @@ when: - MODE_BACKUP | bool -- name: create {{update_docker_script}} - template: - src: update-docker.py.j2 - dest: "{{update_docker_script}}" - -- name: configure update-docker{{ SYS_SERVICE_SUFFIX }} - template: - src: update-docker.service.j2 - dest: /etc/systemd/system/update-docker{{ SYS_SERVICE_SUFFIX }} - -- name: "restart update-docker{{ SYS_SERVICE_SUFFIX }}" - systemd: - name: update-docker{{ SYS_SERVICE_SUFFIX }} - state: restarted - enabled: yes - daemon_reload: yes +- include_role: + name: sys-systemctl + vars: + systemctl_restarted: true diff --git a/roles/update-docker/templates/update-docker.py.j2 b/roles/update-docker/templates/script.py.j2 similarity index 100% rename from roles/update-docker/templates/update-docker.py.j2 rename to roles/update-docker/templates/script.py.j2 diff --git a/roles/update-docker/templates/systemctl.service.j2 b/roles/update-docker/templates/systemctl.service.j2 new file mode 100644 index 00000000..079ed682 --- /dev/null +++ b/roles/update-docker/templates/systemctl.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Updates Docker Instances +OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }} + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP | join(' ') }} update-docker --timeout "{{ SYS_TIMEOUT_HEAL_DOCKER }}"' +ExecStart=/bin/sh -c '/usr/bin/python {{ systemctl_id | get_service_script_path('py') }} \ No newline at end of file diff --git a/roles/update-docker/templates/update-docker.service.j2 b/roles/update-docker/templates/update-docker.service.j2 deleted file mode 100644 index 1037f60a..00000000 --- a/roles/update-docker/templates/update-docker.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Updates Docker Instances -OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP | join(' ') }} update-docker --timeout "{{SYS_TIMEOUT_HEAL_DOCKER}}"' -ExecStart=/bin/sh -c '/usr/bin/python {{update_docker_script}} {{ PATH_DOCKER_COMPOSE_INSTANCES }}' \ No newline at end of file diff --git a/roles/update-docker/vars/main.yml b/roles/update-docker/vars/main.yml index 5ad37d38..129aa889 100644 --- a/roles/update-docker/vars/main.yml +++ b/roles/update-docker/vars/main.yml @@ -1,2 +1,2 @@ -update_docker_script: '{{ PATH_ADMINISTRATOR_SCRIPTS }}update-docker.py' application_id: update-docker +systemctl_id: "{{ application_id }}" diff --git a/tasks/stages/01_constructor.yml b/tasks/stages/01_constructor.yml index d3e21f49..f060b28b 100644 --- a/tasks/stages/01_constructor.yml +++ b/tasks/stages/01_constructor.yml @@ -111,7 +111,7 @@ loop: - drv # 1. Load driver roles - gen # 2. Load generic roles - - net # 3. Load network roles + - svc-net # 3. Load network roles - svc-db # 4. Load database roles - svc-prx # 5. Load proxy roles loop_control: diff --git a/tests/integration/test_variable_definitions.py b/tests/integration/test_variable_definitions.py index efccb855..f48afcd0 100644 --- a/tests/integration/test_variable_definitions.py +++ b/tests/integration/test_variable_definitions.py @@ -218,7 +218,7 @@ class TestVariableDefinitions(unittest.TestCase): if var in ( 'lookup', 'role_name', 'domains', 'item', 'host_type', 'inventory_hostname', 'role_path', 'playbook_dir', - 'ansible_become_password', 'inventory_dir', 'ansible_memtotal_mb' + 'ansible_become_password', 'inventory_dir', 'ansible_memtotal_mb', 'omit' ): continue diff --git a/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py b/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py index a14284dc..adc4c4e4 100644 --- a/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py +++ b/tests/unit/roles/svc-opt-ssd-hdd/test_storage_optimizer.py @@ -8,7 +8,7 @@ import sys def load_optimizer_module(): module_path = os.path.abspath(os.path.join( os.path.dirname(__file__), - '..', "..", "..","..",'roles', 'svc-opt-ssd-hdd', 'files', 'svc-opt-ssd-hdd.py' + '..', "..", "..","..",'roles', 'svc-opt-ssd-hdd', 'files', 'script.py' )) spec = importlib.util.spec_from_file_location('storage_optimizer', module_path) optimizer = importlib.util.module_from_spec(spec)