diff --git a/docs/analysis/Features.md b/docs/analysis/Features.md index 848fcf23..f3c730a9 100644 --- a/docs/analysis/Features.md +++ b/docs/analysis/Features.md @@ -15,7 +15,7 @@ Every business is unique, and so is CyMaIS! With a modular architecture, it adap With automated updates, system health checks, and security audits, CyMaIS ensures your infrastructure is always up-to-date and running smoothly. Roles such as `mon-bot-docker-container`, `mon-bot-btrfs`, and `mon-bot-webserver` help monitor system integrity. ## Uncompromised Security 🔒 -Security is a top priority! CyMaIS includes robust security features like full-disk encryption recommendations, 2FA enforcement, encrypted server deployments (`web-app-keycloak`, `service-openldap`), and secure backup solutions (`backup-remote-to-local`, `backup-data-to-usb`). +Security is a top priority! CyMaIS includes robust security features like full-disk encryption recommendations, 2FA enforcement, encrypted server deployments (`web-app-keycloak`, `service-openldap`), and secure backup solutions (`bkp-remote-to-local`, `bkp-data-to-usb`). ## User-Friendly with Expert Support 👩‍💻 No need to be a Linux or Docker expert! CyMaIS simplifies deployment with intuitive role-based automation. Documentation and community support make IT administration accessible to all experience levels. diff --git a/docs/guides/administrator/Readme.md b/docs/guides/administrator/Readme.md index 16e9d4e6..5a45e63a 100644 --- a/docs/guides/administrator/Readme.md +++ b/docs/guides/administrator/Readme.md @@ -10,7 +10,7 @@ Follow these guides to install and configure CyMaIS: ## Key Responsibilities 🔧 - **User Management** - Configure LDAP, Keycloak, and user permissions. -- **Security & Backups** - Set up `backup-remote-to-local`, `backup-data-to-usb`, and `core-security` roles. +- **Security & Backups** - Set up `bkp-remote-to-local`, `bkp-data-to-usb`, and `core-security` roles. - **Application Hosting** - Deploy services like `Nextcloud`, `Matrix`, `Gitea`, and more. - **Networking & VPN** - Configure `WireGuard`, `OpenVPN`, and `Nginx Reverse Proxy`. diff --git a/group_vars/all/05_maintenace.yml b/group_vars/all/05_maintenace.yml index 8dd19dac..c57a518b 100644 --- a/group_vars/all/05_maintenace.yml +++ b/group_vars/all/05_maintenace.yml @@ -13,10 +13,10 @@ system_maintenance_lock_timeout_restart_docker: "{{system_maintenance_lock_ti ### Defined Services for Backup Tasks system_maintenance_backup_services: - - "backup-docker-to-local" - - "backup-remote-to-local" - - "backup-data-to-usb" - - "backup-docker-to-local-everything" + - "bkp-docker-to-local" + - "bkp-remote-to-local" + - "bkp-data-to-usb" + - "bkp-docker-to-local-everything" ### Defined Services for System Cleanup system_maintenance_cleanup_services: diff --git a/roles/README.md b/roles/README.md index 873d2331..25d468a3 100644 --- a/roles/README.md +++ b/roles/README.md @@ -85,7 +85,7 @@ For a complete list of role categories and detailed definitions, see: ## Backup & Restore -- **backup-*** +- **bkp-*** Local and remote backup strategies for files, Docker volumes, databases. --- @@ -113,7 +113,7 @@ For a complete list of role categories and detailed definitions, see: > **Tip:** To find a role quickly, search for its prefix: > `core-`, `generic-`, `desk-`, `webserver-`, `web-service-`, `web-app-`, > `network-`, `service-`, `monitor-`, `alert-`, `maint-`, `cleanup-`, -> `backup-`, `update-`, `pkgmgr-`, `user-`. +> `bkp-`, `update-`, `pkgmgr-`, `user-`. --- diff --git a/roles/backup-data-to-usb/handlers/main.yml b/roles/backup-data-to-usb/handlers/main.yml deleted file mode 100644 index 6128c5a2..00000000 --- a/roles/backup-data-to-usb/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload backup-data-to-usb.cymais.service" - systemd: - name: backup-data-to-usb.cymais.service - state: reloaded - daemon_reload: yes diff --git a/roles/backup-docker-to-local/handlers/main.yml b/roles/backup-docker-to-local/handlers/main.yml deleted file mode 100644 index 06980672..00000000 --- a/roles/backup-docker-to-local/handlers/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -- name: "reload backup-docker-to-local-everything.cymais.service" - systemd: - name: backup-docker-to-local-everything.cymais.service - daemon_reload: yes - -- name: "reload backup-docker-to-local.cymais.service" - systemd: - name: backup-docker-to-local.cymais.service - daemon_reload: yes \ No newline at end of file diff --git a/roles/backup-remote-to-local/handlers/main.yml b/roles/backup-remote-to-local/handlers/main.yml deleted file mode 100644 index f0c7b4b4..00000000 --- a/roles/backup-remote-to-local/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "reload backup-remote-to-local service" - systemd: - name: backup-remote-to-local.cymais.service - daemon_reload: yes diff --git a/roles/backup-data-to-usb/README.md b/roles/bkp-data-to-usb/README.md similarity index 100% rename from roles/backup-data-to-usb/README.md rename to roles/bkp-data-to-usb/README.md diff --git a/roles/backup-data-to-usb/files/backup-data-to-usb.python b/roles/bkp-data-to-usb/files/bkp-data-to-usb.python similarity index 98% rename from roles/backup-data-to-usb/files/backup-data-to-usb.python rename to roles/bkp-data-to-usb/files/bkp-data-to-usb.python index 8f130c4e..4cb0a069 100644 --- a/roles/backup-data-to-usb/files/backup-data-to-usb.python +++ b/roles/bkp-data-to-usb/files/bkp-data-to-usb.python @@ -21,7 +21,7 @@ def main(): machine_id = subprocess.run(["sha256sum", "/etc/machine-id"], capture_output=True, text=True).stdout.strip()[:64] print(f"machine id: {machine_id}") - versions_path = os.path.join(backup_to_usb_destination_path, f"{machine_id}/backup-data-to-usb/") + versions_path = os.path.join(backup_to_usb_destination_path, f"{machine_id}/bkp-data-to-usb/") print(f"versions path: {versions_path}") if not os.path.isdir(versions_path): diff --git a/roles/bkp-data-to-usb/handlers/main.yml b/roles/bkp-data-to-usb/handlers/main.yml new file mode 100644 index 00000000..84cd00a8 --- /dev/null +++ b/roles/bkp-data-to-usb/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload bkp-data-to-usb.cymais.service" + systemd: + name: bkp-data-to-usb.cymais.service + state: reloaded + daemon_reload: yes diff --git a/roles/backup-data-to-usb/meta/main.yml b/roles/bkp-data-to-usb/meta/main.yml similarity index 100% rename from roles/backup-data-to-usb/meta/main.yml rename to roles/bkp-data-to-usb/meta/main.yml diff --git a/roles/backup-data-to-usb/tasks/main.yml b/roles/bkp-data-to-usb/tasks/main.yml similarity index 58% rename from roles/backup-data-to-usb/tasks/main.yml rename to roles/bkp-data-to-usb/tasks/main.yml index e2b0dc1c..b520b21c 100644 --- a/roles/backup-data-to-usb/tasks/main.yml +++ b/roles/bkp-data-to-usb/tasks/main.yml @@ -1,6 +1,6 @@ - name: Copy backup script to the scripts directory copy: - src: backup-data-to-usb.python + src: bkp-data-to-usb.python dest: "{{ backup_to_usb_script_path }}" owner: root group: root @@ -8,9 +8,9 @@ - name: Copy systemd service to systemd directory template: - src: backup-data-to-usb.service.j2 - dest: /etc/systemd/system/backup-data-to-usb.cymais.service + src: bkp-data-to-usb.service.j2 + dest: /etc/systemd/system/bkp-data-to-usb.cymais.service owner: root group: root mode: '0644' - notify: reload backup-data-to-usb.cymais.service \ No newline at end of file + notify: reload bkp-data-to-usb.cymais.service \ No newline at end of file diff --git a/roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 b/roles/bkp-data-to-usb/templates/bkp-data-to-usb.service.j2 similarity index 100% rename from roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 rename to roles/bkp-data-to-usb/templates/bkp-data-to-usb.service.j2 diff --git a/roles/backup-data-to-usb/vars/main.yml b/roles/bkp-data-to-usb/vars/main.yml similarity index 77% rename from roles/backup-data-to-usb/vars/main.yml rename to roles/bkp-data-to-usb/vars/main.yml index 85c561d0..cfd70d61 100644 --- a/roles/backup-data-to-usb/vars/main.yml +++ b/roles/bkp-data-to-usb/vars/main.yml @@ -1,4 +1,4 @@ -backup_to_usb_script_path: "/usr/local/sbin/backup-data-to-usb.python" +backup_to_usb_script_path: "/usr/local/sbin/bkp-data-to-usb.python" backup_to_usb_destination: "{{backup_to_usb_mount}}{{backup_to_usb_destination_subdirectory}}" backups_folder_path: "{{backup_to_usb_destination}}" systemctl_mount_service_name: "{{ backup_to_usb_mount | trim('/') | replace('/', '-') }}.mount" \ No newline at end of file diff --git a/roles/backup-directory-validator/README.md b/roles/bkp-directory-validator/README.md similarity index 87% rename from roles/backup-directory-validator/README.md rename to roles/bkp-directory-validator/README.md index ee76189e..d2c6da4d 100644 --- a/roles/backup-directory-validator/README.md +++ b/roles/bkp-directory-validator/README.md @@ -2,7 +2,7 @@ ## Description -This Ansible role installs the [directory-validator](https://github.com/kevinveenbirkenbach/directory-validator.git). It is used by the backup-docker-to-local and cleanup-failed-docker-backups roles to verify whether backups have been successfully created. +This Ansible role installs the [directory-validator](https://github.com/kevinveenbirkenbach/directory-validator.git). It is used by the bkp-docker-to-local and cleanup-failed-docker-backups roles to verify whether backups have been successfully created. ## Overview @@ -16,5 +16,5 @@ The primary purpose of this role is to validate backup directories. By fetching - **Git Repository Pull:** Automatically pulls the latest version of the directory-validator from Git. - **Idempotent Execution:** Ensures that the repository is fetched only once per playbook run. -- **Backup Verification:** Serves as a validation step for other backup-related roles. +- **Backup Verification:** Serves as a validation step for other bkp-related roles. - **Configurable Destination:** The target folder is customizable via the `backup_directory_validator_folder` variable. diff --git a/roles/backup-directory-validator/meta/main.yml b/roles/bkp-directory-validator/meta/main.yml similarity index 100% rename from roles/backup-directory-validator/meta/main.yml rename to roles/bkp-directory-validator/meta/main.yml diff --git a/roles/backup-directory-validator/tasks/main.yml b/roles/bkp-directory-validator/tasks/main.yml similarity index 100% rename from roles/backup-directory-validator/tasks/main.yml rename to roles/bkp-directory-validator/tasks/main.yml diff --git a/roles/backup-directory-validator/vars/main.yml b/roles/bkp-directory-validator/vars/main.yml similarity index 100% rename from roles/backup-directory-validator/vars/main.yml rename to roles/bkp-directory-validator/vars/main.yml diff --git a/roles/backup-docker-to-local/README.md b/roles/bkp-docker-to-local/README.md similarity index 72% rename from roles/backup-docker-to-local/README.md rename to roles/bkp-docker-to-local/README.md index a5606c18..2d98321f 100644 --- a/roles/backup-docker-to-local/README.md +++ b/roles/bkp-docker-to-local/README.md @@ -2,15 +2,15 @@ ## Description -This Ansible role automates the process of backing up Docker volumes to a local folder. It pulls the [backup-docker-to-local repository](https://github.com/kevinveenbirkenbach/backup-docker-to-local.git), installs required software, configures systemd services for both standard and "everything" backup modes, and seeds backup database entries as needed. +This Ansible role automates the process of backing up Docker volumes to a local folder. It pulls the [bkp-docker-to-local repository](https://github.com/kevinveenbirkenbach/bkp-docker-to-local.git), installs required software, configures systemd services for both standard and "everything" backup modes, and seeds backup database entries as needed. ## Overview Optimized for Archlinux, this role ensures that Docker volume backups are performed reliably with minimal manual intervention. It integrates with several dependent roles to verify backup success and manage related tasks, including: -- [backup-directory-validator](../backup-directory-validator/) – Validates backup directories. +- [bkp-directory-validator](../bkp-directory-validator/) – Validates backup directories. - [cleanup-failed-docker-backups](../cleanup-failed-docker-backups/) – Cleans up unsuccessful backup attempts. - [generic-timer](../generic-timer/) – Schedules recurring backup tasks. -- [backup-provider](../backup-provider/) – Manages backup sources. +- [bkp-provider](../bkp-provider/) – Manages backup sources. - [maint-lock](../maint-lock/) – Ensures coordinated maintenance operations. ## Purpose @@ -20,7 +20,7 @@ Backup Docker Volumes to Local is a comprehensive solution that leverages rsync ## Features - **Required Software Installation:** Installs necessary packages (e.g., lsof, python-pandas) via pacman. -- **Git Repository Pull:** Automatically pulls the latest version of the [backup-docker-to-local repository](https://github.com/kevinveenbirkenbach/backup-docker-to-local.git). +- **Git Repository Pull:** Automatically pulls the latest version of the [bkp-docker-to-local repository](https://github.com/kevinveenbirkenbach/bkp-docker-to-local.git). - **Systemd Service Configuration:** Deploys and reloads two systemd service templates to manage backup tasks. - **Database Seeding:** Includes tasks to seed and manage a backup database (`databases.csv`) for tracking backup details. - **Dependency Integration:** Works in conjunction with the dependent roles listed above to verify and manage backups. diff --git a/roles/bkp-docker-to-local/handlers/main.yml b/roles/bkp-docker-to-local/handlers/main.yml new file mode 100644 index 00000000..a06a33a7 --- /dev/null +++ b/roles/bkp-docker-to-local/handlers/main.yml @@ -0,0 +1,9 @@ +- name: "reload bkp-docker-to-local-everything.cymais.service" + systemd: + name: bkp-docker-to-local-everything.cymais.service + daemon_reload: yes + +- name: "reload bkp-docker-to-local.cymais.service" + systemd: + name: bkp-docker-to-local.cymais.service + daemon_reload: yes \ No newline at end of file diff --git a/roles/backup-docker-to-local/meta/main.yml b/roles/bkp-docker-to-local/meta/main.yml similarity index 93% rename from roles/backup-docker-to-local/meta/main.yml rename to roles/bkp-docker-to-local/meta/main.yml index 90f06b9d..bdc18389 100644 --- a/roles/backup-docker-to-local/meta/main.yml +++ b/roles/bkp-docker-to-local/meta/main.yml @@ -23,8 +23,8 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - backup-provider + - bkp-provider - alert-compose - cleanup-failed-docker-backups - maint-lock - - backup-directory-validator \ No newline at end of file + - bkp-directory-validator \ No newline at end of file diff --git a/roles/backup-docker-to-local/tasks/main.yml b/roles/bkp-docker-to-local/tasks/main.yml similarity index 69% rename from roles/backup-docker-to-local/tasks/main.yml rename to roles/bkp-docker-to-local/tasks/main.yml index 9ae9bb20..f40fcad5 100644 --- a/roles/backup-docker-to-local/tasks/main.yml +++ b/roles/bkp-docker-to-local/tasks/main.yml @@ -2,11 +2,11 @@ include_role: name: pkgmgr-install vars: - package_name: backup-docker-to-local + package_name: bkp-docker-to-local when: run_once_backup_docker_to_local is not defined -- name: Retrieve backup-docker-to-local path from pkgmgr - command: pkgmgr path backup-docker-to-local +- name: Retrieve bkp-docker-to-local path from pkgmgr + command: pkgmgr path bkp-docker-to-local register: pkgmgr_output changed_when: false when: run_once_backup_docker_to_local is not defined @@ -17,18 +17,18 @@ changed_when: false when: run_once_backup_docker_to_local is not defined -- name: configure backup-docker-to-local-everything.cymais.service +- name: configure bkp-docker-to-local-everything.cymais.service template: - src: backup-docker-to-local-everything.service.j2 - dest: /etc/systemd/system/backup-docker-to-local-everything.cymais.service - notify: reload backup-docker-to-local-everything.cymais.service + src: bkp-docker-to-local-everything.service.j2 + dest: /etc/systemd/system/bkp-docker-to-local-everything.cymais.service + notify: reload bkp-docker-to-local-everything.cymais.service when: run_once_backup_docker_to_local is not defined -- name: configure backup-docker-to-local.cymais.service +- name: configure bkp-docker-to-local.cymais.service template: - src: backup-docker-to-local.service.j2 - dest: /etc/systemd/system/backup-docker-to-local.cymais.service - notify: reload backup-docker-to-local.cymais.service + src: bkp-docker-to-local.service.j2 + dest: /etc/systemd/system/bkp-docker-to-local.cymais.service + notify: reload bkp-docker-to-local.cymais.service when: run_once_backup_docker_to_local is not defined - name: set service_name to the name of the current role diff --git a/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml b/roles/bkp-docker-to-local/tasks/seed-database-to-backup.yml similarity index 100% rename from roles/backup-docker-to-local/tasks/seed-database-to-backup.yml rename to roles/bkp-docker-to-local/tasks/seed-database-to-backup.yml diff --git a/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 b/roles/bkp-docker-to-local/templates/bkp-docker-to-local-everything.service.j2 similarity index 76% rename from roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 rename to roles/bkp-docker-to-local/templates/bkp-docker-to-local-everything.service.j2 index f8879517..fcc0354b 100644 --- a/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 +++ b/roles/bkp-docker-to-local/templates/bkp-docker-to-local-everything.service.j2 @@ -4,6 +4,6 @@ OnFailure=alert-compose.cymais@%n.service cleanup-failed-docker-backups.cymais.s [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'backup-docker-to-local') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'bkp-docker-to-local') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' ExecStart=/bin/sh -c '/usr/bin/python {{backup_docker_to_local_folder}}backup-docker-to-local.py --compose-dir {{path_docker_compose_instances}} --everything' ExecStartPost=/bin/sh -c '/bin/systemctl start maint-docker-heal.cymais.service &' \ No newline at end of file diff --git a/roles/backup-docker-to-local/templates/backup-docker-to-local.service.j2 b/roles/bkp-docker-to-local/templates/bkp-docker-to-local.service.j2 similarity index 75% rename from roles/backup-docker-to-local/templates/backup-docker-to-local.service.j2 rename to roles/bkp-docker-to-local/templates/bkp-docker-to-local.service.j2 index 1ecabb71..1c3ea542 100644 --- a/roles/backup-docker-to-local/templates/backup-docker-to-local.service.j2 +++ b/roles/bkp-docker-to-local/templates/bkp-docker-to-local.service.j2 @@ -4,6 +4,6 @@ OnFailure=alert-compose.cymais@%n.service cleanup-failed-docker-backups.cymais.s [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'backup-docker-to-local-everything') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'bkp-docker-to-local-everything') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' ExecStart=/bin/sh -c '/usr/bin/python {{backup_docker_to_local_folder}}backup-docker-to-local.py --compose-dir {{path_docker_compose_instances}}' ExecStartPost=/bin/sh -c '/bin/systemctl start maint-docker-heal.cymais.service &' \ No newline at end of file diff --git a/roles/backup-provider-user/README.md b/roles/bkp-provider-user/README.md similarity index 100% rename from roles/backup-provider-user/README.md rename to roles/bkp-provider-user/README.md diff --git a/roles/backup-provider-user/files/backup b/roles/bkp-provider-user/files/backup similarity index 100% rename from roles/backup-provider-user/files/backup rename to roles/bkp-provider-user/files/backup diff --git a/roles/backup-provider-user/files/ssh-wrapper.sh b/roles/bkp-provider-user/files/ssh-wrapper.sh similarity index 84% rename from roles/backup-provider-user/files/ssh-wrapper.sh rename to roles/bkp-provider-user/files/ssh-wrapper.sh index a2733334..0d06b5b0 100644 --- a/roles/backup-provider-user/files/ssh-wrapper.sh +++ b/roles/bkp-provider-user/files/ssh-wrapper.sh @@ -12,8 +12,8 @@ hashed_machine_id="$($get_hashed_machine_id | head -c 64)" get_backup_types="find /Backups/$hashed_machine_id/ -maxdepth 1 -type d -execdir basename {} ;"; -# @todo This configuration is not scalable yet. If other backup services then backup-docker-to-local are integrated, this logic needs to be optimized -get_version_directories="ls -d /Backups/$hashed_machine_id/backup-docker-to-local/*" +# @todo This configuration is not scalable yet. If other backup services then bkp-docker-to-local are integrated, this logic needs to be optimized +get_version_directories="ls -d /Backups/$hashed_machine_id/bkp-docker-to-local/*" last_version_directory="$($get_version_directories | tail -1)" rsync_command="sudo rsync --server --sender -blogDtpre.iLsfxCIvu . $last_version_directory/" diff --git a/roles/backup-provider-user/meta/main.yml b/roles/bkp-provider-user/meta/main.yml similarity index 100% rename from roles/backup-provider-user/meta/main.yml rename to roles/bkp-provider-user/meta/main.yml diff --git a/roles/backup-provider-user/tasks/main.yml b/roles/bkp-provider-user/tasks/main.yml similarity index 100% rename from roles/backup-provider-user/tasks/main.yml rename to roles/bkp-provider-user/tasks/main.yml diff --git a/roles/backup-provider-user/templates/authorized_keys.j2 b/roles/bkp-provider-user/templates/authorized_keys.j2 similarity index 100% rename from roles/backup-provider-user/templates/authorized_keys.j2 rename to roles/bkp-provider-user/templates/authorized_keys.j2 diff --git a/roles/backup-provider-user/vars/main.yml b/roles/bkp-provider-user/vars/main.yml similarity index 100% rename from roles/backup-provider-user/vars/main.yml rename to roles/bkp-provider-user/vars/main.yml diff --git a/roles/backup-provider/README.md b/roles/bkp-provider/README.md similarity index 90% rename from roles/backup-provider/README.md rename to roles/bkp-provider/README.md index 50fd3b8f..4dfb0bf6 100644 --- a/roles/backup-provider/README.md +++ b/roles/bkp-provider/README.md @@ -8,7 +8,7 @@ This role sets up and manages the host as a backup provider. It establishes the Optimized for automated backup processes, this role: - Configures the host to provide backup services. -- Integrates seamlessly with the [backup-provider-user](../backup-provider-user/README.md) and [cleanup-backups-timer](../cleanup-backups-timer/README.md) roles. +- Integrates seamlessly with the [bkp-provider-user](../bkp-provider-user/README.md) and [cleanup-backups-timer](../cleanup-backups-timer/README.md) roles. - Lays the foundation for secure and extensible backup operations. ## Purpose diff --git a/roles/backup-provider/meta/main.yml b/roles/bkp-provider/meta/main.yml similarity index 96% rename from roles/backup-provider/meta/main.yml rename to roles/bkp-provider/meta/main.yml index be969fd1..cbbf9ed0 100644 --- a/roles/backup-provider/meta/main.yml +++ b/roles/bkp-provider/meta/main.yml @@ -23,5 +23,5 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - backup-provider-user + - bkp-provider-user - cleanup-backups-timer diff --git a/roles/backup-remote-to-local/Administration.md b/roles/bkp-remote-to-local/Administration.md similarity index 58% rename from roles/backup-remote-to-local/Administration.md rename to roles/bkp-remote-to-local/Administration.md index f5c104e6..8382a176 100644 --- a/roles/backup-remote-to-local/Administration.md +++ b/roles/bkp-remote-to-local/Administration.md @@ -9,17 +9,17 @@ To track what the service is doing, execute one of the following commands: #### Using systemctl ```bash -watch -n2 "systemctl status backup-remote-to-local.cymais.service" +watch -n2 "systemctl status bkp-remote-to-local.cymais.service" ``` #### Using journalctl ```bash -journalctl -fu backup-remote-to-local.cymais.service +journalctl -fu bkp-remote-to-local.cymais.service ``` ### Viewing History ```bash -sudo journalctl -u backup-remote-to-local.cymais.service +sudo journalctl -u bkp-remote-to-local.cymais.service ``` \ No newline at end of file diff --git a/roles/backup-remote-to-local/README.md b/roles/bkp-remote-to-local/README.md similarity index 82% rename from roles/backup-remote-to-local/README.md rename to roles/bkp-remote-to-local/README.md index 5de69f05..b88158a4 100644 --- a/roles/backup-remote-to-local/README.md +++ b/roles/bkp-remote-to-local/README.md @@ -17,14 +17,14 @@ Backup Remote to Local is a robust solution for retrieving backup data from remo - **Remote Backup Retrieval:** Pulls backups from a remote server using secure SSH connections. - **Incremental Backup with rsync:** Uses rsync with options for archive, backup, and hard linking to efficiently manage changes. - **Retry Logic:** Implements a retry mechanism to handle transient network issues or remote errors. -- **Integration with Other Roles:** Works alongside roles like backup-directory-validator, cleanup-failed-docker-backups, generic-timer, backup-provider, and maint-lock. +- **Integration with Other Roles:** Works alongside roles like bkp-directory-validator, cleanup-failed-docker-backups, generic-timer, bkp-provider, and maint-lock. - **Administrative Debugging:** Detailed debug instructions and administrative tasks are provided in a separate file. ## Other Resources - **Backup Scheme:** - ![backup scheme](https://www.veen.world/wp-content/uploads/2020/12/server-backup-768x567.jpg) - More details can be found in [this blog post](https://www.veen.world/2020/12/26/how-i-backup-dedicated-root-servers/). + ![backup scheme](https://blog.veen.world/wp-content/uploads/2020/12/server-backup-768x567.jpg) + More details can be found in [this blog post](https://blog.veen.world/2020/12/26/how-i-backup-dedicated-root-servers/). ## Administration & Debugging diff --git a/roles/backup-remote-to-local/files/backup-remote-to-local.sh b/roles/bkp-remote-to-local/files/bkp-remote-to-local.sh similarity index 100% rename from roles/backup-remote-to-local/files/backup-remote-to-local.sh rename to roles/bkp-remote-to-local/files/bkp-remote-to-local.sh diff --git a/roles/bkp-remote-to-local/handlers/main.yml b/roles/bkp-remote-to-local/handlers/main.yml new file mode 100644 index 00000000..7796ffc2 --- /dev/null +++ b/roles/bkp-remote-to-local/handlers/main.yml @@ -0,0 +1,4 @@ +- name: "reload bkp-remote-to-local service" + systemd: + name: bkp-remote-to-local.cymais.service + daemon_reload: yes diff --git a/roles/backup-remote-to-local/meta/main.yml b/roles/bkp-remote-to-local/meta/main.yml similarity index 100% rename from roles/backup-remote-to-local/meta/main.yml rename to roles/bkp-remote-to-local/meta/main.yml diff --git a/roles/backup-remote-to-local/tasks/main.yml b/roles/bkp-remote-to-local/tasks/main.yml similarity index 64% rename from roles/backup-remote-to-local/tasks/main.yml rename to roles/bkp-remote-to-local/tasks/main.yml index d0b808eb..1635519c 100644 --- a/roles/backup-remote-to-local/tasks/main.yml +++ b/roles/bkp-remote-to-local/tasks/main.yml @@ -4,17 +4,17 @@ state: directory mode: 0755 -- name: create backup-remote-to-local.sh +- name: create bkp-remote-to-local.sh copy: - src: backup-remote-to-local.sh - dest: "{{docker_backup_remote_to_local_folder}}backup-remote-to-local.sh" + src: bkp-remote-to-local.sh + dest: "{{docker_backup_remote_to_local_folder}}bkp-remote-to-local.sh" mode: 0755 -- name: create backup-remote-to-local.cymais.service +- name: create bkp-remote-to-local.cymais.service template: - src: backup-remote-to-local.service.j2 - dest: /etc/systemd/system/backup-remote-to-local.cymais.service - notify: reload backup-remote-to-local service + src: bkp-remote-to-local.service.j2 + dest: /etc/systemd/system/bkp-remote-to-local.cymais.service + notify: reload bkp-remote-to-local service - name: create backups-remote-to-local.sh template: diff --git a/roles/backup-remote-to-local/templates/backups-remote-to-local.sh.j2 b/roles/bkp-remote-to-local/templates/backups-remote-to-local.sh.j2 similarity index 61% rename from roles/backup-remote-to-local/templates/backups-remote-to-local.sh.j2 rename to roles/bkp-remote-to-local/templates/backups-remote-to-local.sh.j2 index 654f1dd1..0aeb4665 100644 --- a/roles/backup-remote-to-local/templates/backups-remote-to-local.sh.j2 +++ b/roles/bkp-remote-to-local/templates/backups-remote-to-local.sh.j2 @@ -3,6 +3,6 @@ hosts="{{ pull_remote_backups | join(' ') }}"; errors=0 for host in $hosts; do - bash {{ docker_backup_remote_to_local_folder }}backup-remote-to-local.sh $host || ((errors+=1)); + bash {{ docker_backup_remote_to_local_folder }}bkp-remote-to-local.sh $host || ((errors+=1)); done; exit $errors; diff --git a/roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 b/roles/bkp-remote-to-local/templates/bkp-remote-to-local.service.j2 similarity index 100% rename from roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 rename to roles/bkp-remote-to-local/templates/bkp-remote-to-local.service.j2 diff --git a/roles/backup-remote-to-local/vars/main.yml b/roles/bkp-remote-to-local/vars/main.yml similarity index 68% rename from roles/backup-remote-to-local/vars/main.yml rename to roles/bkp-remote-to-local/vars/main.yml index a0582295..e13b116b 100644 --- a/roles/backup-remote-to-local/vars/main.yml +++ b/roles/bkp-remote-to-local/vars/main.yml @@ -1 +1 @@ -docker_backup_remote_to_local_folder: "{{path_administrator_scripts}}backup-remote-to-local/" \ No newline at end of file +docker_backup_remote_to_local_folder: "{{path_administrator_scripts}}bkp-remote-to-local/" \ No newline at end of file diff --git a/roles/cleanup-failed-docker-backups/README.md b/roles/cleanup-failed-docker-backups/README.md index 61de434b..5a9badd6 100644 --- a/roles/cleanup-failed-docker-backups/README.md +++ b/roles/cleanup-failed-docker-backups/README.md @@ -10,7 +10,7 @@ Optimized for backup maintenance, this role: - Clones the cleanup-failed-docker-backups repository. - Configures a systemd service to run the cleanup script. - Integrates with the [generic-timer](../generic-timer/README.md) role to schedule periodic cleanup. -- Works in conjunction with the backup-directory-validator role for additional verification. +- Works in conjunction with the bkp-directory-validator role for additional verification. ## Purpose @@ -21,4 +21,4 @@ The primary purpose of this role is to remove failed Docker backups automaticall - **Repository Cloning:** Retrieves the latest cleanup scripts from a Git repository. - **Service Configuration:** Sets up a systemd service to run the cleanup tasks. - **Timer Integration:** Schedules periodic cleanup through a systemd timer. -- **Dependency Integration:** Works with backup-directory-validator to enhance backup integrity. \ No newline at end of file +- **Dependency Integration:** Works with bkp-directory-validator to enhance backup integrity. \ No newline at end of file diff --git a/roles/cleanup-failed-docker-backups/meta/main.yml b/roles/cleanup-failed-docker-backups/meta/main.yml index eaa442fa..368ec6cf 100644 --- a/roles/cleanup-failed-docker-backups/meta/main.yml +++ b/roles/cleanup-failed-docker-backups/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: dependencies: - alert-compose - maint-lock - - backup-directory-validator + - bkp-directory-validator diff --git a/roles/cleanup-failed-docker-backups/tasks/main.yml b/roles/cleanup-failed-docker-backups/tasks/main.yml index e204a739..6107055a 100644 --- a/roles/cleanup-failed-docker-backups/tasks/main.yml +++ b/roles/cleanup-failed-docker-backups/tasks/main.yml @@ -5,7 +5,7 @@ package_name: cleanup-failed-docker-backups when: run_once_cleanup_failed_docker_backups is not defined -- name: Retrieve backup-docker-to-local path from pkgmgr +- name: Retrieve bkp-docker-to-local path from pkgmgr command: pkgmgr path cleanup-failed-docker-backups register: pkgmgr_output changed_when: false diff --git a/roles/desk-nextcloud/README.md b/roles/desk-nextcloud/README.md index 74abb49b..cc618e21 100644 --- a/roles/desk-nextcloud/README.md +++ b/roles/desk-nextcloud/README.md @@ -10,7 +10,7 @@ Targeting user environments on Arch Linux (e.g., Manjaro), this role sets up the ## Purpose -The purpose of this role is to automate the configuration of cloud-integrated user directories by ensuring that common folders like `Downloads`, `Music`, and `Workspaces` are transparently redirected into a centralized cloud structure. This makes it easier to maintain backup-friendly, cloud-ready setups for homelab and professional workflows. +The purpose of this role is to automate the configuration of cloud-integrated user directories by ensuring that common folders like `Downloads`, `Music`, and `Workspaces` are transparently redirected into a centralized cloud structure. This makes it easier to maintain bkp-friendly, cloud-ready setups for homelab and professional workflows. ## Features diff --git a/roles/docker/meta/main.yml b/roles/docker/meta/main.yml index effc5034..283188dd 100644 --- a/roles/docker/meta/main.yml +++ b/roles/docker/meta/main.yml @@ -27,7 +27,7 @@ galaxy_info: documentation: "https://s.veen.world/cymais/docker" dependencies: - - backup-docker-to-local + - bkp-docker-to-local - user-administrator - mon-bot-docker-container - mon-bot-docker-volumes diff --git a/roles/maint-docker-heal/files/maint-docker-heal.py b/roles/maint-docker-heal/files/maint-docker-heal.py index e6b52979..af883d63 100644 --- a/roles/maint-docker-heal/files/maint-docker-heal.py +++ b/roles/maint-docker-heal/files/maint-docker-heal.py @@ -40,7 +40,7 @@ def main(base_directory): while blocker_running: try: - bash("systemctl is-active --quiet backup-docker-to-local.cymais.service") + bash("systemctl is-active --quiet bkp-docker-to-local.cymais.service") bash("systemctl is-active --quiet update-docker.cymais.service") print("Backup is running.") print(f"Trying again in {waiting_time} seconds.") diff --git a/roles/maint-docker-storage-optimizer/templates/maint-docker-storage-optimizer.service.j2 b/roles/maint-docker-storage-optimizer/templates/maint-docker-storage-optimizer.service.j2 index e71ccf51..8c9ca788 100644 --- a/roles/maint-docker-storage-optimizer/templates/maint-docker-storage-optimizer.service.j2 +++ b/roles/maint-docker-storage-optimizer/templates/maint-docker-storage-optimizer.service.j2 @@ -4,5 +4,5 @@ OnFailure=alert-compose.cymais@%n.service [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore maint-docker-storage-optimizer backup-remote-to-local --timeout "{{system_maintenance_lock_timeout_storage_optimizer}}"' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore maint-docker-storage-optimizer bkp-remote-to-local --timeout "{{system_maintenance_lock_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/service-rdbms-central/tasks/main.yml b/roles/service-rdbms-central/tasks/main.yml index b6e07ace..ee3145e5 100644 --- a/roles/service-rdbms-central/tasks/main.yml +++ b/roles/service-rdbms-central/tasks/main.yml @@ -28,4 +28,4 @@ when: applications | is_feature_enabled('central_database',application_id) - name: "Add database to backup" - include_tasks: "{{ playbook_dir }}/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml" \ No newline at end of file + include_tasks: "{{ playbook_dir }}/roles/bkp-docker-to-local/tasks/seed-database-to-backup.yml" \ No newline at end of file diff --git a/roles/update-docker/tasks/main.yml b/roles/update-docker/tasks/main.yml index 51c50e44..5da0f739 100644 --- a/roles/update-docker/tasks/main.yml +++ b/roles/update-docker/tasks/main.yml @@ -1,6 +1,6 @@ -- name: "start backup-docker-to-local-everything.cymais.service" +- name: "start bkp-docker-to-local-everything.cymais.service" systemd: - name: backup-docker-to-local-everything.cymais.service + name: bkp-docker-to-local-everything.cymais.service state: started when: mode_backup | bool diff --git a/roles/web-app-bigbluebutton/tasks/main.yml b/roles/web-app-bigbluebutton/tasks/main.yml index 0b877ec6..d8a63ec0 100644 --- a/roles/web-app-bigbluebutton/tasks/main.yml +++ b/roles/web-app-bigbluebutton/tasks/main.yml @@ -10,7 +10,7 @@ database_name: "" # Multiple databases - name: "Seed BigBlueButton Database for Backup" - include_tasks: "{{ playbook_dir }}/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml" + include_tasks: "{{ playbook_dir }}/roles/bkp-docker-to-local/tasks/seed-database-to-backup.yml" vars: database_instance: "{{ application_id }}" database_password: "{{ applications[application_id].credentials.postgresql_secret }}" diff --git a/roles/web-app-matrix/tasks/create-and-seed-database.yml b/roles/web-app-matrix/tasks/create-and-seed-database.yml index 6d8a16a7..d73278d4 100644 --- a/roles/web-app-matrix/tasks/create-and-seed-database.yml +++ b/roles/web-app-matrix/tasks/create-and-seed-database.yml @@ -10,4 +10,4 @@ when: applications | is_feature_enabled('central_database',application_id) - name: "include seed-database-to-backup.yml" - include_tasks: "{{ playbook_dir }}/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml" \ No newline at end of file + include_tasks: "{{ playbook_dir }}/roles/bkp-docker-to-local/tasks/seed-database-to-backup.yml" \ No newline at end of file diff --git a/roles/web-app-nextcloud/docs/Update.md b/roles/web-app-nextcloud/docs/Update.md index c07606e8..3256f78d 100644 --- a/roles/web-app-nextcloud/docs/Update.md +++ b/roles/web-app-nextcloud/docs/Update.md @@ -43,8 +43,8 @@ and disable any non-functioning apps. ```bash cd {{path_docker_compose_instances}}nextcloud && docker-compose down && -docker-compose exec -i database mysql -u nextcloud -pPASSWORT nextcloud < "/Backups/$(sha256sum /etc/machine-id | head -c 64)/backup-docker-to-local/latest/nextcloud_database/sql/backup.sql" && -cd {{path_administrator_scripts}}backup-docker-to-local && +docker-compose exec -i database mysql -u nextcloud -pPASSWORT nextcloud < "/Backups/$(sha256sum /etc/machine-id | head -c 64)/bkp-docker-to-local/latest/nextcloud_database/sql/backup.sql" && +cd {{path_administrator_scripts}}bkp-docker-to-local && bash ./recover-web-app-from-local.sh "nextcloud_data" "$(sha256sum /etc/machine-id | head -c 64)" ``` diff --git a/tasks/plays/01_constructor.yml b/tasks/plays/01_constructor.yml index 067f60c4..d60ff3db 100644 --- a/tasks/plays/01_constructor.yml +++ b/tasks/plays/01_constructor.yml @@ -120,12 +120,12 @@ ## backup setup - name: setup replica backup hosts when: ('backup_remote_to_local' | application_allowed(group_names, allowed_applications)) - include_role: backup-remote-to-local + include_role: bkp-remote-to-local - name: setup backup to swappable when: ('backup_to_usb' | application_allowed(group_names, allowed_applications)) include_role: - name: backup-data-to-usb + name: bkp-data-to-usb ## driver setup - name: driver-intel