diff --git a/Makefile b/Makefile index 1db4cffe..9f01d45b 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ APPLICATIONS_OUT := ./group_vars/all/04_applications.yml APPLICATIONS_SCRIPT := ./cli/generate_applications.py USERS_OUT := ./group_vars/all/03_users.yml USERS_SCRIPT := ./cli/generate_users.py -INCLUDES_OUT := ./tasks/utils/docker-roles.yml +INCLUDES_OUT := ./tasks/utils/web-app-roles.yml INCLUDES_SCRIPT := ./cli/generate_playbook.py EXTRA_USERS := $(shell \ @@ -24,7 +24,7 @@ build: @echo "🔧 Generating users defaults → $(USERS_OUT) from roles in $(ROLES_DIR)…" @echo "🔧 Generating Docker role includes → $(INCLUDES_OUT)…" @mkdir -p $(dir $(INCLUDES_OUT)) - python3 $(INCLUDES_SCRIPT) $(ROLES_DIR) -o $(INCLUDES_OUT) -p docker- + python3 $(INCLUDES_SCRIPT) $(ROLES_DIR) -o $(INCLUDES_OUT) -p web-app- @echo "✅ Docker role includes written to $(INCLUDES_OUT)" install: build diff --git a/cli/create_docker_role.py b/cli/create_web_app.py similarity index 98% rename from cli/create_docker_role.py rename to cli/create_web_app.py index f6f89690..b8f86b17 100644 --- a/cli/create_docker_role.py +++ b/cli/create_web_app.py @@ -11,7 +11,7 @@ from ruamel.yaml import YAML # Paths to the group-vars files PORTS_FILE = './group_vars/all/09_ports.yml' NETWORKS_FILE = './group_vars/all/10_networks.yml' -ROLE_TEMPLATE_DIR = './templates/docker_role' +ROLE_TEMPLATE_DIR = './templates/roles/web-app' ROLES_DIR = './roles' yaml = YAML() @@ -117,7 +117,7 @@ def main(): args = parser.parse_args() app = args.application_id - role = f"docker-{app}" + role = f"web-app-{app}" role_dir = os.path.join(ROLES_DIR, role) if os.path.exists(role_dir): diff --git a/cli/generate_playbook.py b/cli/generate_playbook.py index cb722829..bb5079ad 100644 --- a/cli/generate_playbook.py +++ b/cli/generate_playbook.py @@ -136,7 +136,7 @@ def main(): ) parser.add_argument( '-p', '--prefix', - help='Only include roles whose names start with this prefix (e.g. docker-, client-)', + help='Only include roles whose names start with this prefix (e.g. web-app-, desktop-)', default=None ) parser.add_argument( diff --git a/docs/analysis/Features.md b/docs/analysis/Features.md index 97598a71..049fb64a 100644 --- a/docs/analysis/Features.md +++ b/docs/analysis/Features.md @@ -12,10 +12,10 @@ CyMaIS covers everything from essential system setups to advanced configurations Every business is unique, and so is CyMaIS! With a modular architecture, it adapts to specific requirements, whether for startups, growing businesses, NGOs, or large enterprises. ## Proactive Monitoring & Maintenance 🔍 -With automated updates, system health checks, and security audits, CyMaIS ensures your infrastructure is always up-to-date and running smoothly. Roles such as `health-docker-container`, `health-btrfs`, and `health-nginx` help monitor system integrity. +With automated updates, system health checks, and security audits, CyMaIS ensures your infrastructure is always up-to-date and running smoothly. Roles such as `monitor-bot-docker-container`, `monitor-bot-btrfs`, and `monitor-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 (`docker-keycloak`, `docker-ldap`), 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 (`backup-remote-to-local`, `backup-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 c69da29c..19631460 100644 --- a/docs/guides/administrator/Readme.md +++ b/docs/guides/administrator/Readme.md @@ -10,13 +10,13 @@ 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 `system-security` roles. +- **Security & Backups** - Set up `backup-remote-to-local`, `backup-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`. ## Managing & Updating CyMaIS 🔄 - Regularly update services using `update-docker`, `update-pacman`, or `update-apt`. -- Monitor system health with `health-btrfs`, `health-nginx`, and `health-docker-container`. -- Automate system maintenance with `system-maintenance-lock`, `cleanup-backups-service`, and `restart-docker`. +- Monitor system health with `monitor-bot-btrfs`, `monitor-bot-webserver`, and `monitor-bot-docker-container`. +- Automate system maintenance with `maintenance-lock`, `cleanup-backups-service`, and `maintenance-docker-restart`. For more details, refer to the specific guides above. \ No newline at end of file diff --git a/docs/guides/developer/Role_Creation.md b/docs/guides/developer/Role_Creation.md index 8f966249..0dc8f271 100644 --- a/docs/guides/developer/Role_Creation.md +++ b/docs/guides/developer/Role_Creation.md @@ -65,8 +65,8 @@ application_id: "my_service" # Set the application ID for the service Now that you have defined the application settings, domain, and application ID, you need to create a Docker role that will build and run the containerized version of `my_service`. #### **Steps:** -- Create a new directory under the `roles` directory, e.g., `roles/docker-my_service`. -- Inside the `docker-my_service` role, create the following files: +- Create a new directory under the `roles` directory, e.g., `roles/web-app-my_service`. +- Inside the `web-app-my_service` role, create the following files: 1. **`README.md`**: - Provide documentation on the new service and how it works within CyMaIS. @@ -91,9 +91,9 @@ Now that you have defined the application settings, domain, and application ID, command: pkgmgr path cymais-my_service register: path_cymais_my_service_output - - name: "include role nginx-domain-setup for {{ application_id }}" + - name: "include role webserver-proxy-domain for {{ application_id }}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/group_vars/all/05_maintenace.yml b/group_vars/all/05_maintenace.yml index 10f04e9d..54e7e0c7 100644 --- a/group_vars/all/05_maintenace.yml +++ b/group_vars/all/05_maintenace.yml @@ -26,10 +26,10 @@ system_maintenance_cleanup_services: ### Services that Manipulate the System system_maintenance_manipulation_services: - - "heal-docker" + - "maintenance-docker-heal" - "update-docker" - - "system-storage-optimizer" - - "restart-docker" + - "maintenance-docker-storage-optimizer" + - "maintenance-docker-restart" ## Total System Maintenance Services system_maintenance_services: "{{ system_maintenance_backup_services + system_maintenance_cleanup_services + system_maintenance_manipulation_services }}" diff --git a/group_vars/all/07_paths.yml b/group_vars/all/07_paths.yml index 6bd498cf..bbda1b19 100644 --- a/group_vars/all/07_paths.yml +++ b/group_vars/all/07_paths.yml @@ -3,4 +3,4 @@ path_administrator_home: "/home/administrator/" path_administrator_scripts: "/opt/scripts/" path_docker_compose_instances: "/opt/docker/" -path_system_lock_script: "/opt/scripts/system-maintenance-lock.py" \ No newline at end of file +path_system_lock_script: "/opt/scripts/maintenance-lock.py" \ No newline at end of file diff --git a/group_vars/all/09_ports.yml b/group_vars/all/09_ports.yml index c3282825..e2099040 100644 --- a/group_vars/all/09_ports.yml +++ b/group_vars/all/09_ports.yml @@ -63,8 +63,10 @@ ports: mobilizon: 8043 simpleicons: 8044 libretranslate: 8055 + pretix: 8056 bigbluebutton: 48087 # This port is predefined by bbb. @todo Try to change this to a 8XXX port # Ports which are exposed to the World Wide Web + public: # The following ports should be changed to 22 on the subdomain via stream mapping ssh: diff --git a/group_vars/all/10_networks.yml b/group_vars/all/10_networks.yml index 4d01d10f..b422b24d 100644 --- a/group_vars/all/10_networks.yml +++ b/group_vars/all/10_networks.yml @@ -90,7 +90,9 @@ defaults_networks: subnet: 192.168.103.112/28 libretranslate: subnet: 192.168.103.128/28 - + pretix: + subnet: 192.168.103.144/28 + # /24 Networks / 254 Usable Clients bigbluebutton: subnet: 10.7.7.0/24 # This variable does not have an impact. It's just there for documentation reasons, because this network is used in bbb @@ -99,4 +101,4 @@ defaults_networks: mariadb: subnet: 192.168.201.0/24 central_ldap: - subnet: 192.168.202.0/24 \ No newline at end of file + subnet: 192.168.202.0/24 diff --git a/roles/README.md b/roles/README.md index 95a550c6..8bd536b0 100644 --- a/roles/README.md +++ b/roles/README.md @@ -1,13 +1,120 @@ -# Applications and Roles -CyMaIS offers a variety of applications to simplify your daily tasks. +# Roles + +This directory contains all of the Ansible roles used throughout the CyMaIS project. Roles are organized by function and prefixed accordingly. + +For a complete list of role categories and detailed definitions, see: -## For Users -Discover the solutions CyMaIS provides for you: - [Application Glossary](application_glosar.rst) -- [Application Categories](application_categories.rst) +- [Application Categories](application_categories.rst) -## For Developers -Explore the technical details of our roles: -- [Ansible Role Glossary](ansible_role_glosar.rst) +--- -Want to dive deeper into the source code or our ansible roles? Check out our [GitHub repository](https://github.com/kevinveenbirkenbach/cymais/tree/master/roles). \ No newline at end of file +## Core & System + +- **core-*** + Fundamental system configuration (SSH, journald, sudo, etc.) + +- **generic-*** + Generic helpers and language/tool installers (e.g. `generic-git`, `generic-locales`, `generic-timer`) + +- **desktop-*** + Desktop environment and application roles (e.g. `desktop-gnome`, `desktop-browser`, `desktop-libreoffice`) + +--- + +## Webserver & HTTP + +- **webserver-core** + Installs and configures the base Nginx server. + +- **webserver-tls-*** + Manages TLS certificates and renewal (formerly “https”). + +- **webserver-proxy-*** + Proxy and vhost orchestration roles (domain setup, OAuth2 proxy, etc.) + +- **webserver-injector-*** + HTML response modifiers: CSS, JS, Matomo tracking, iframe notifier. + +- **webserver-composer** + Aggregates multiple sub-filters into one include for your vhost. + +- **web-service-*** + Static‐content servers (assets, HTML, legal pages, file hosting). + +- **web-app-*** + Application-specific Docker/Compose roles (e.g. GitLab, Nextcloud, Mastodon). + +--- + +## Network + +- **network-*** + Network infrastructure (DNS records, WireGuard, Let’s Encrypt entrypoints). + +- **service-*** + Docker‐deployed services that aren’t “apps” (RDBMS, LDAP, Redis, OpenLDAP). + +--- + +## Monitoring & Alerting + +- **monitor-bot-*** + “Bot”-style health checks with alerts via Telegram, email, etc. + +- **monitor-core-*** + Low-level system monitors (journalctl, Docker containers, disk space). + +- **alert-*** + Failure or status notification handlers (core, email, Telegram). + +--- + +## Maintenance & Healing + +- **maintenance-*** + Periodic maintenance tasks (Btrfs balancing, swapfile management). + +- **maintenance-docker-*** + Automated recovery and restarts for Docker Compose workloads. + +- **cleanup-*** + Housekeeping tasks (old backups, certs, log rotation). + +--- + +## Backup & Restore + +- **backup-*** + Local and remote backup strategies for files, Docker volumes, databases. + +--- + +## Updates & Package Management + +- **update-*** + Keeps OS and language packages up to date (`update-apt`, `update-docker`, `update-pip`, etc.) + +- **pkgmgr-*** + Language or platform package managers (npm, pip, AUR helper). + +--- + +## Users & Access + +- **user-*** + Creates user accounts and SSH keys. + +- **user-administrator**, **user-root** + Specialized account configurations for privileged users. + +--- + +> **Tip:** To find a role quickly, search for its prefix: +> `core-`, `generic-`, `desktop-`, `webserver-`, `web-service-`, `web-app-`, +> `network-`, `service-`, `monitor-`, `alert-`, `maintenance-`, `cleanup-`, +> `backup-`, `update-`, `pkgmgr-`, `user-`. + +--- + +_For more details on which applications each role supports, see the [Application Categories](application_categories.rst) and the full [Application Glossary](application_glosar.rst)._ diff --git a/roles/TODO.md b/roles/TODO.md deleted file mode 100644 index 0fb47ec1..00000000 --- a/roles/TODO.md +++ /dev/null @@ -1,44 +0,0 @@ -# Todo - -Implement the following naming conventions. - -# Naming Conventions - -## Prefix Structure - -All roles follow a consistent naming convention using a *primary prefix* and a *secondary prefix*. - -### Format - -``` --- -``` - -### Primary Prefix - -| Prefix | Purpose / Description | -|---------|-----------------------| -| srv- | Roles that install or configure applications running on servers (services, daemons, infrastructure components) | -| pc- | Roles that install or configure applications running on personal computers or workstations (GUI apps, desktop tools) | -| pkg- | Roles responsible for installing general-purpose software packages or development tools | -| prs- | Roles that define personas — collections of roles describing a user-centric environment or system profile | -| drv- | Roles that install or configure hardware drivers (GPU, printer, kernel modules) | - ---- - -### Secondary Prefix - -| Prefix | Purpose / Description | -|----------|-----------------------| -| backup- | Roles responsible for backup tasks (data backup, snapshots, remote sync) | -| cleanup- | Roles that clean up the system (temporary files, unused volumes, old backups) | -| docker- | Roles that manage server applications running in a Dockerized environment (services, infrastructure containers) | -| driver- | Roles that manage hardware drivers (kernel modules, printers, GPU, peripherals) | -| health- | Roles for health checks, system monitoring, and metric collection (disk space, containers, service status) | -| heal- | Roles responsible for auto-repair or healing of system states (service recovery, resource fixes) | -| system- | Roles for system configuration, hardening, and operating system tuning (security, storage optimization, timers) | -| update- | Roles managing software update processes (package updates, Docker updates, repository management) | -| user- | Roles managing system users, accounts, and user-specific configuration (home directories, permissions) | - -# Implement the following roles -- Implement docker role for [radicle](https://radicle.xyz/) \ No newline at end of file diff --git a/roles/systemd-notifier/README.md b/roles/alert-core/README.md similarity index 74% rename from roles/systemd-notifier/README.md rename to roles/alert-core/README.md index 444a9f61..ff183c68 100644 --- a/roles/systemd-notifier/README.md +++ b/roles/alert-core/README.md @@ -2,7 +2,7 @@ ## Description -This role installs a systemd service that sends notifications via both [systemd-notifier-telegram](../systemd-notifier-telegram/README.md) and [systemd-notifier-email](../systemd-notifier-email/README.md) when any service fails. +This role installs a systemd service that sends notifications via both [alert-telegram](../alert-telegram/README.md) and [alert-email](../alert-email/README.md) when any service fails. ## Overview @@ -15,6 +15,6 @@ The primary purpose of this role is to provide a centralized mechanism for servi ## Features - **Unified Notification Service:** Installs a systemd service that triggers both Telegram and Email alerts. -- **Dependency Integration:** Works seamlessly with the [systemd-notifier-telegram](../systemd-notifier-telegram/README.md) and [systemd-notifier-email](../systemd-notifier-email/README.md) roles. +- **Dependency Integration:** Works seamlessly with the [alert-telegram](../alert-telegram/README.md) and [alert-email](../alert-email/README.md) roles. - **Automated Service Management:** Automatically restarts the notifier service upon configuration changes. - **Centralized Alerting:** Provides a unified approach to monitor and notify about service failures. \ No newline at end of file diff --git a/roles/systemd-notifier/handlers/main.yml b/roles/alert-core/handlers/main.yml similarity index 75% rename from roles/systemd-notifier/handlers/main.yml rename to roles/alert-core/handlers/main.yml index 1a91fd71..5f9b50f6 100644 --- a/roles/systemd-notifier/handlers/main.yml +++ b/roles/alert-core/handlers/main.yml @@ -1,6 +1,6 @@ -- name: "restart systemd-notifier service" +- name: "restart alert-core service" systemd: - name: systemd-notifier.cymais.service + name: alert-core.cymais.service daemon_reload: yes when: run_once_systemd_notifier_service is not defined diff --git a/roles/systemd-notifier/meta/main.yml b/roles/alert-core/meta/main.yml similarity index 92% rename from roles/systemd-notifier/meta/main.yml rename to roles/alert-core/meta/main.yml index bc7acab3..22cf513d 100644 --- a/roles/systemd-notifier/meta/main.yml +++ b/roles/alert-core/meta/main.yml @@ -23,5 +23,5 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier-telegram - - systemd-notifier-email + - alert-telegram + - alert-email diff --git a/roles/systemd-notifier/tasks/main.yml b/roles/alert-core/tasks/main.yml similarity index 54% rename from roles/systemd-notifier/tasks/main.yml rename to roles/alert-core/tasks/main.yml index 738990e8..b2ee5afc 100644 --- a/roles/systemd-notifier/tasks/main.yml +++ b/roles/alert-core/tasks/main.yml @@ -1,9 +1,9 @@ --- -- name: configure systemd-notifier.cymais@.service +- name: configure alert-core.cymais@.service template: - src: systemd-notifier@.service.j2 - dest: "/etc/systemd/system/systemd-notifier.cymais@.service" - notify: "restart systemd-notifier service" + src: alert-core@.service.j2 + dest: "/etc/systemd/system/alert-core.cymais@.service" + notify: "restart alert-core service" when: run_once_systemd_notifier_service is not defined - name: run the systemd_notifier_service tasks once diff --git a/roles/alert-core/templates/alert-core@.service.j2 b/roles/alert-core/templates/alert-core@.service.j2 new file mode 100644 index 00000000..ea5605f6 --- /dev/null +++ b/roles/alert-core/templates/alert-core@.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=Notifier for %i + +[Service] +Type=oneshot +ExecStart=/usr/bin/systemctl start alert-telegram.cymais@%i.service alert-email.cymais@%i.service +User=root +Group=systemd-journal diff --git a/roles/systemd-notifier-email/README.md b/roles/alert-email/README.md similarity index 71% rename from roles/systemd-notifier-email/README.md rename to roles/alert-email/README.md index a31fc144..640cb6fa 100644 --- a/roles/systemd-notifier-email/README.md +++ b/roles/alert-email/README.md @@ -2,11 +2,11 @@ ## Description -This role installs and configures the necessary components for sending email notifications via systemd when a service fails. It sets up the `systemd-notifier-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 `alert-email` service and configures email parameters and templates using msmtp. ## Overview -Optimized for secure and reliable service failure notifications, this role is an integral part of the overall `systemd-notifier` suite. It ensures that, upon failure of a critical service, an email alert is sent automatically to enable prompt troubleshooting. +Optimized for secure and reliable service failure notifications, this role is an integral part of the overall `alert-core` suite. It ensures that, upon failure of a critical service, an email alert is sent automatically to enable prompt troubleshooting. ## Purpose @@ -17,7 +17,7 @@ The primary purpose of this role is to provide a comprehensive solution for auto - **Service Installation & Configuration:** Installs msmtp and configures the email sending service. - **Customizable Templates:** Supports tailoring email templates for service failure notifications. - **Secure Notifications:** Integrates with systemd to trigger email alerts when services fail. -- **Suite Integration:** Part of the `systemd-notifier` suite, offering a unified approach to service failure notifications. +- **Suite Integration:** Part of the `alert-core` suite, offering a unified approach to service failure notifications. ## Other Resources diff --git a/roles/alert-email/handlers/main.yml b/roles/alert-email/handlers/main.yml new file mode 100644 index 00000000..7b9e759e --- /dev/null +++ b/roles/alert-email/handlers/main.yml @@ -0,0 +1,4 @@ +- name: "restart alert-email service" + systemd: + name: alert-email.cymais.service + daemon_reload: yes diff --git a/roles/systemd-notifier-email/meta/main.yml b/roles/alert-email/meta/main.yml similarity index 83% rename from roles/systemd-notifier-email/meta/main.yml rename to roles/alert-email/meta/main.yml index a605e062..a5b12a12 100644 --- a/roles/systemd-notifier-email/meta/main.yml +++ b/roles/alert-email/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: "Kevin Veen-Birkenbach" - description: "Installs and configures components for sending email notifications. This role is part of the systemd-notifier suite, providing automated alerts when services fail." + description: "Installs and configures components for sending email notifications. This role is part of the alert-core suite, providing automated alerts when services fail." license: "CyMaIS NonCommercial License (CNCL)" license_url: "https://s.veen.world/cncl" company: | @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - msmtp + - generic-msmtp diff --git a/roles/systemd-notifier-email/tasks/main.yml b/roles/alert-email/tasks/main.yml similarity index 56% rename from roles/systemd-notifier-email/tasks/main.yml rename to roles/alert-email/tasks/main.yml index 22d8c1f3..7f5ebe3c 100644 --- a/roles/systemd-notifier-email/tasks/main.yml +++ b/roles/alert-email/tasks/main.yml @@ -5,17 +5,17 @@ mode: 0755 when: run_once_systemd_notifier_email is not defined -- name: configure systemd-notifier-email.sh +- name: configure alert-email.sh template: - src: systemd-notifier-email.sh.j2 - dest: "{{systemd_notifier_email_folder}}systemd-notifier-email.sh" + src: alert-email.sh.j2 + dest: "{{systemd_notifier_email_folder}}alert-email.sh" when: run_once_systemd_notifier_email is not defined -- name: configure systemd-notifier-email.cymais.service +- name: configure alert-email.cymais.service template: - src: systemd-notifier-email@.service.j2 - dest: /etc/systemd/system/systemd-notifier-email.cymais@.service - notify: restart systemd-notifier-email service + src: alert-email@.service.j2 + dest: /etc/systemd/system/alert-email.cymais@.service + notify: restart alert-email service when: run_once_systemd_notifier_email is not defined - name: run the systemd_notifier_email tasks once diff --git a/roles/systemd-notifier-email/templates/systemd-notifier-email.sh.j2 b/roles/alert-email/templates/alert-email.sh.j2 similarity index 100% rename from roles/systemd-notifier-email/templates/systemd-notifier-email.sh.j2 rename to roles/alert-email/templates/alert-email.sh.j2 diff --git a/roles/systemd-notifier-email/templates/systemd-notifier-email@.service.j2 b/roles/alert-email/templates/alert-email@.service.j2 similarity index 55% rename from roles/systemd-notifier-email/templates/systemd-notifier-email@.service.j2 rename to roles/alert-email/templates/alert-email@.service.j2 index 2f963a6f..7199533f 100644 --- a/roles/systemd-notifier-email/templates/systemd-notifier-email@.service.j2 +++ b/roles/alert-email/templates/alert-email@.service.j2 @@ -3,6 +3,6 @@ Description=status email for %i to user [Service] Type=oneshot -ExecStart=/bin/bash {{systemd_notifier_email_folder}}systemd-notifier-email.sh %i +ExecStart=/bin/bash {{systemd_notifier_email_folder}}alert-email.sh %i User=root Group=systemd-journal diff --git a/roles/alert-email/vars/main.yml b/roles/alert-email/vars/main.yml new file mode 100644 index 00000000..767c8f76 --- /dev/null +++ b/roles/alert-email/vars/main.yml @@ -0,0 +1 @@ +systemd_notifier_email_folder: "{{path_administrator_scripts}}alert-email/" \ No newline at end of file diff --git a/roles/systemd-notifier-telegram/README.md b/roles/alert-telegram/README.md similarity index 68% rename from roles/systemd-notifier-telegram/README.md rename to roles/alert-telegram/README.md index 09f0db2c..bc3c2355 100644 --- a/roles/systemd-notifier-telegram/README.md +++ b/roles/alert-telegram/README.md @@ -2,11 +2,11 @@ ## Description -This role installs and configures the necessary components for sending notifications via systemd when a service fails. It sets up the `systemd-notifier-telegram` service and configures parameters and customizable templates for sending messages through [Telegram](https://telegram.org). +This role installs and configures the necessary components for sending notifications via systemd when a service fails. It sets up the `alert-telegram` service and configures parameters and customizable templates for sending messages through [Telegram](https://telegram.org). ## Overview -Optimized for real-time alerts, this role is a key component of the overall [`systemd-notifier` suite](../). It ensures that, upon failure of a critical service, a Telegram message is automatically sent to notify administrators and enable prompt troubleshooting. +Optimized for real-time alerts, this role is a key component of the overall [`alert-core` suite](../). It ensures that, upon failure of a critical service, a Telegram message is automatically sent to notify administrators and enable prompt troubleshooting. ## Purpose @@ -17,7 +17,7 @@ The primary purpose of this role is to provide a robust solution for automated T - **Service Installation & Configuration:** Installs and configures necessary components (including the `curl` package). - **Customizable Templates:** Supports tailored Telegram message templates for service failure notifications. - **Secure Notifications:** Leverages systemd to trigger alerts automatically when services fail. -- **Suite Integration:** Part of the [`systemd-notifier` suite](../) which includes related roles such as [systemd-notifier-email](../systemd-notifier-email/README.md) and others. +- **Suite Integration:** Part of the [`alert-core` suite](../) which includes related roles such as [alert-email](../alert-email/README.md) and others. ## Other Resources diff --git a/roles/alert-telegram/handlers/main.yml b/roles/alert-telegram/handlers/main.yml new file mode 100644 index 00000000..27aa8986 --- /dev/null +++ b/roles/alert-telegram/handlers/main.yml @@ -0,0 +1,4 @@ +- name: "restart alert-telegram service" + systemd: + name: alert-telegram.cymais.service + daemon_reload: yes diff --git a/roles/systemd-notifier-telegram/meta/main.yml b/roles/alert-telegram/meta/main.yml similarity index 91% rename from roles/systemd-notifier-telegram/meta/main.yml rename to roles/alert-telegram/meta/main.yml index 9b165995..1049f78d 100644 --- a/roles/systemd-notifier-telegram/meta/main.yml +++ b/roles/alert-telegram/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: "Kevin Veen-Birkenbach" - description: "Installs and configures components for sending Telegram notifications through systemd. This role is part of the systemd-notifier suite, providing automated alerts when services fail." + description: "Installs and configures components for sending Telegram notifications through systemd. This role is part of the alert-core suite, providing automated alerts when services fail." license: "CyMaIS NonCommercial License (CNCL)" license_url: "https://s.veen.world/cncl" company: | diff --git a/roles/systemd-notifier-telegram/tasks/main.yml b/roles/alert-telegram/tasks/main.yml similarity index 67% rename from roles/systemd-notifier-telegram/tasks/main.yml rename to roles/alert-telegram/tasks/main.yml index 103f48d6..fee0facc 100644 --- a/roles/systemd-notifier-telegram/tasks/main.yml +++ b/roles/alert-telegram/tasks/main.yml @@ -11,17 +11,17 @@ mode: '0755' when: run_once_systemd_notifier_telegram is not defined -- name: configure systemd-notifier-telegram.sh +- name: configure alert-telegram.sh template: - src: systemd-notifier-telegram.sh.j2 + src: alert-telegram.sh.j2 dest: "{{ systemd_telegram_script }}" when: run_once_systemd_notifier_telegram is not defined -- name: configure systemd-notifier-telegram.cymais.service +- name: configure alert-telegram.cymais.service template: - src: systemd-notifier-telegram@.service.j2 - dest: "/etc/systemd/system/systemd-notifier-telegram.cymais@.service" - notify: "restart systemd-notifier-telegram service" + src: alert-telegram@.service.j2 + dest: "/etc/systemd/system/alert-telegram.cymais@.service" + notify: "restart alert-telegram service" when: run_once_systemd_notifier_telegram is not defined - name: run the systemd_notifier_telegram tasks once diff --git a/roles/systemd-notifier-telegram/templates/systemd-notifier-telegram.sh.j2 b/roles/alert-telegram/templates/alert-telegram.sh.j2 similarity index 100% rename from roles/systemd-notifier-telegram/templates/systemd-notifier-telegram.sh.j2 rename to roles/alert-telegram/templates/alert-telegram.sh.j2 diff --git a/roles/systemd-notifier-telegram/templates/systemd-notifier-telegram@.service.j2 b/roles/alert-telegram/templates/alert-telegram@.service.j2 similarity index 100% rename from roles/systemd-notifier-telegram/templates/systemd-notifier-telegram@.service.j2 rename to roles/alert-telegram/templates/alert-telegram@.service.j2 diff --git a/roles/alert-telegram/vars/main.yml b/roles/alert-telegram/vars/main.yml new file mode 100644 index 00000000..d557ab3a --- /dev/null +++ b/roles/alert-telegram/vars/main.yml @@ -0,0 +1,2 @@ +systemd_telegram_folder: "/opt/ansible-roles/alert-telegram/" +systemd_telegram_script: "{{systemd_telegram_folder}}alert-telegram.sh" diff --git a/roles/backup-data-to-usb/meta/main.yml b/roles/backup-data-to-usb/meta/main.yml index bd8773c9..0f94c95b 100644 --- a/roles/backup-data-to-usb/meta/main.yml +++ b/roles/backup-data-to-usb/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: documentation: https://s.veen.world/cymais dependencies: - cleanup-backups-service - - system-maintenance-lock + - maintenance-lock diff --git a/roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 b/roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 index 194774ce..accb931c 100644 --- a/roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 +++ b/roles/backup-data-to-usb/templates/backup-data-to-usb.service.j2 @@ -1,7 +1,7 @@ [Unit] Description=Backup to USB when mounted to {{ backup_to_usb_mount }} Wants={{systemctl_mount_service_name}} -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/backup-docker-to-local/README.md b/roles/backup-docker-to-local/README.md index a21883cc..dd4d80a4 100644 --- a/roles/backup-docker-to-local/README.md +++ b/roles/backup-docker-to-local/README.md @@ -9,9 +9,9 @@ This Ansible role automates the process of backing up Docker volumes to a local 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. - [cleanup-failed-docker-backups](../cleanup-failed-docker-backups/) – Cleans up unsuccessful backup attempts. -- [systemd-timer](../systemd-timer/) – Schedules recurring backup tasks. +- [generic-timer](../generic-timer/) – Schedules recurring backup tasks. - [backup-provider](../backup-provider/) – Manages backup sources. -- [system-maintenance-lock](../system-maintenance-lock/) – Ensures coordinated maintenance operations. +- [maintenance-lock](../maintenance-lock/) – Ensures coordinated maintenance operations. ## Purpose diff --git a/roles/backup-docker-to-local/meta/main.yml b/roles/backup-docker-to-local/meta/main.yml index d438859c..8356ff2d 100644 --- a/roles/backup-docker-to-local/meta/main.yml +++ b/roles/backup-docker-to-local/meta/main.yml @@ -24,7 +24,7 @@ galaxy_info: documentation: "https://s.veen.world/cymais" dependencies: - backup-provider - - systemd-notifier + - alert-core - cleanup-failed-docker-backups - - system-maintenance-lock + - maintenance-lock - backup-directory-validator \ No newline at end of file diff --git a/roles/backup-docker-to-local/tasks/main.yml b/roles/backup-docker-to-local/tasks/main.yml index d4671e4d..9ae9bb20 100644 --- a/roles/backup-docker-to-local/tasks/main.yml +++ b/roles/backup-docker-to-local/tasks/main.yml @@ -36,9 +36,9 @@ service_name: "{{ role_name }}" when: run_once_backup_docker_to_local is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_backup_docker_to_local}}" when: run_once_backup_docker_to_local is not defined diff --git a/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml b/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml index c3cb771e..6a186e91 100644 --- a/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml +++ b/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml @@ -1,4 +1,4 @@ -# This file is also used by docker-matrix +# This file is also used by web-app-matrix - name: "Display all database variables" debug: diff --git a/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 b/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 index f2de6fda..661ec2e1 100644 --- a/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 +++ b/roles/backup-docker-to-local/templates/backup-docker-to-local-everything.service.j2 @@ -1,9 +1,9 @@ [Unit] Description=backup docker volumes to local folder -OnFailure=systemd-notifier.cymais@%n.service cleanup-failed-docker-backups.cymais.service +OnFailure=alert-core.cymais@%n.service cleanup-failed-docker-backups.cymais.service [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}}"' 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 heal-docker.cymais.service &' \ No newline at end of file +ExecStartPost=/bin/sh -c '/bin/systemctl start maintenance-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/backup-docker-to-local/templates/backup-docker-to-local.service.j2 index 3cf1c25c..5ca649b0 100644 --- a/roles/backup-docker-to-local/templates/backup-docker-to-local.service.j2 +++ b/roles/backup-docker-to-local/templates/backup-docker-to-local.service.j2 @@ -1,9 +1,9 @@ [Unit] Description=backup docker volumes to local folder -OnFailure=systemd-notifier.cymais@%n.service cleanup-failed-docker-backups.cymais.service +OnFailure=alert-core.cymais@%n.service cleanup-failed-docker-backups.cymais.service [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}}"' 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 heal-docker.cymais.service &' \ No newline at end of file +ExecStartPost=/bin/sh -c '/bin/systemctl start maintenance-docker-heal.cymais.service &' \ No newline at end of file diff --git a/roles/backup-provider-user/meta/main.yml b/roles/backup-provider-user/meta/main.yml index 2d9e20f0..c8ae8112 100644 --- a/roles/backup-provider-user/meta/main.yml +++ b/roles/backup-provider-user/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - sshd + - core-sshd diff --git a/roles/backup-remote-to-local/README.md b/roles/backup-remote-to-local/README.md index 2bc40045..a625050e 100644 --- a/roles/backup-remote-to-local/README.md +++ b/roles/backup-remote-to-local/README.md @@ -17,7 +17,7 @@ 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, systemd-timer, backup-provider, and system-maintenance-lock. +- **Integration with Other Roles:** Works alongside roles like backup-directory-validator, cleanup-failed-docker-backups, generic-timer, backup-provider, and maintenance-lock. - **Administrative Debugging:** Detailed debug instructions and administrative tasks are provided in a separate file. ## Other Resources diff --git a/roles/backup-remote-to-local/meta/main.yml b/roles/backup-remote-to-local/meta/main.yml index e71e0ce6..b47ec69a 100644 --- a/roles/backup-remote-to-local/meta/main.yml +++ b/roles/backup-remote-to-local/meta/main.yml @@ -25,9 +25,9 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - git - - systemd-notifier + - generic-git + - alert-core - cleanup-backups-timer - cleanup-failed-docker-backups - - system-maintenance-lock + - maintenance-lock - user-root diff --git a/roles/backup-remote-to-local/tasks/main.yml b/roles/backup-remote-to-local/tasks/main.yml index 6722666b..d0b808eb 100644 --- a/roles/backup-remote-to-local/tasks/main.yml +++ b/roles/backup-remote-to-local/tasks/main.yml @@ -26,9 +26,9 @@ set_fact: service_name: "{{ role_name }}" -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_backup_remote_to_local}}" diff --git a/roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 b/roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 index c380712c..8ce3e189 100644 --- a/roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 +++ b/roles/backup-remote-to-local/templates/backup-remote-to-local.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=pull remote backups -OnFailure=systemd-notifier.cymais@%n.service cleanup-failed-docker-backups.cymais.service +OnFailure=alert-core.cymais@%n.service cleanup-failed-docker-backups.cymais.service [Service] Type=oneshot diff --git a/roles/cleanup-backups-service/README.md b/roles/cleanup-backups-service/README.md index d7eb729f..cf910cdd 100644 --- a/roles/cleanup-backups-service/README.md +++ b/roles/cleanup-backups-service/README.md @@ -10,7 +10,7 @@ Optimized for effective disk space management, this role: - Installs required packages (e.g. [lsof](https://en.wikipedia.org/wiki/Lsof) and [psutil](https://pypi.org/project/psutil/)) using pacman. - Creates a directory for storing cleanup scripts. - Deploys a Python script that deletes old backup directories when disk usage is too high. -- Configures a systemd service to run the cleanup script, with notifications via [systemd-notifier](../systemd-notifier/README.md). +- Configures a systemd service to run the cleanup script, with notifications via [alert-core](../alert-core/README.md). ## Purpose diff --git a/roles/cleanup-backups-service/meta/main.yml b/roles/cleanup-backups-service/meta/main.yml index 529aae13..4715a24d 100644 --- a/roles/cleanup-backups-service/meta/main.yml +++ b/roles/cleanup-backups-service/meta/main.yml @@ -22,6 +22,6 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - python-pip - - systemd-notifier - - system-maintenance-lock + - generic-python-pip + - alert-core + - maintenance-lock diff --git a/roles/cleanup-backups-service/templates/cleanup-backups.service.j2 b/roles/cleanup-backups-service/templates/cleanup-backups.service.j2 index 57f303ab..db493aff 100644 --- a/roles/cleanup-backups-service/templates/cleanup-backups.service.j2 +++ b/roles/cleanup-backups-service/templates/cleanup-backups.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=delete old backups -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/cleanup-backups-timer/README.md b/roles/cleanup-backups-timer/README.md index 380cd458..aa0415f4 100644 --- a/roles/cleanup-backups-timer/README.md +++ b/roles/cleanup-backups-timer/README.md @@ -8,7 +8,7 @@ This role sets up a systemd timer to schedule the periodic cleanup of old backup Optimized for automated maintenance, this role: - Sets a fact for the service name. -- Integrates with the [systemd-timer](../systemd-timer/README.md) role to schedule cleanup-backups tasks at defined intervals. +- Integrates with the [generic-timer](../generic-timer/README.md) role to schedule cleanup-backups tasks at defined intervals. ## Purpose diff --git a/roles/cleanup-backups-timer/tasks/main.yml b/roles/cleanup-backups-timer/tasks/main.yml index 566fd2a8..7fa96413 100644 --- a/roles/cleanup-backups-timer/tasks/main.yml +++ b/roles/cleanup-backups-timer/tasks/main.yml @@ -3,9 +3,9 @@ service_name: "cleanup-backups" when: run_once_cleanup_backups_timer is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_cleanup_backups}}" when: run_once_cleanup_backups_timer is not defined diff --git a/roles/cleanup-certs/README.md b/roles/cleanup-certs/README.md index d256578a..656405ed 100644 --- a/roles/cleanup-certs/README.md +++ b/roles/cleanup-certs/README.md @@ -8,8 +8,8 @@ This Ansible role automates the detection, revocation and deletion of unused Let - Installs the `certreap` cleanup tool using the `pkgmgr-install` role - Deploys and configures a `cleanup-certs.cymais.service` systemd unit -- (Optionally) Sets up a recurring cleanup via a systemd timer using the `systemd-timer` role -- Integrates with `systemd-notifier` to send failure notifications +- (Optionally) Sets up a recurring cleanup via a systemd timer using the `generic-timer` role +- Integrates with `alert-core` to send failure notifications - Ensures idempotent execution with a `run_once_cleanup_certs` flag ## Features @@ -21,13 +21,13 @@ This Ansible role automates the detection, revocation and deletion of unused Let Deploys `cleanup-certs.cymais.service` and reloads/restarts it on changes. - **Systemd Timer Scheduling** - Optionally wires in a timer via the `systemd-timer` role, controlled by the `on_calendar_cleanup_certs` variable. + Optionally wires in a timer via the `generic-timer` role, controlled by the `on_calendar_cleanup_certs` variable. - **Smart Execution Logic** Prevents multiple runs in one play by setting a `run_once_cleanup_certs` fact. - **Failure Notification** - Triggers `systemd-notifier.cymais@cleanup-certs.cymais.service` on failure. + Triggers `alert-core.cymais@cleanup-certs.cymais.service` on failure. ## Further Resources diff --git a/roles/cleanup-certs/meta/main.yml b/roles/cleanup-certs/meta/main.yml index c4c86b29..d3d587e3 100644 --- a/roles/cleanup-certs/meta/main.yml +++ b/roles/cleanup-certs/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: documentation: "https://github.com/kevinveenbirkenbach/certreap#readme" dependencies: - - systemd-notifier + - alert-core diff --git a/roles/cleanup-certs/tasks/main.yml b/roles/cleanup-certs/tasks/main.yml index 76b27220..49ce6eec 100644 --- a/roles/cleanup-certs/tasks/main.yml +++ b/roles/cleanup-certs/tasks/main.yml @@ -17,9 +17,9 @@ service_name: "{{ role_name }}" when: run_once_cleanup_certs is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{ on_calendar_cleanup_certs }}" when: run_once_cleanup_certs is not defined diff --git a/roles/cleanup-certs/templates/cleanup-certs.service.j2 b/roles/cleanup-certs/templates/cleanup-certs.service.j2 index d13de449..a1c5c95a 100644 --- a/roles/cleanup-certs/templates/cleanup-certs.service.j2 +++ b/roles/cleanup-certs/templates/cleanup-certs.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Detect, revoke, and delete unused Let's Encrypt certificates based on active NGINX configuration files. -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/cleanup-disc-space/meta/main.yml b/roles/cleanup-disc-space/meta/main.yml index 2248a352..d7038e2a 100644 --- a/roles/cleanup-disc-space/meta/main.yml +++ b/roles/cleanup-disc-space/meta/main.yml @@ -22,5 +22,5 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier - - system-maintenance-lock + - alert-core + - maintenance-lock diff --git a/roles/cleanup-disc-space/tasks/main.yml b/roles/cleanup-disc-space/tasks/main.yml index 1e336ee3..b9f1bab5 100644 --- a/roles/cleanup-disc-space/tasks/main.yml +++ b/roles/cleanup-disc-space/tasks/main.yml @@ -19,8 +19,8 @@ set_fact: service_name: "{{ role_name }}" -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_cleanup_disc_space}}" \ No newline at end of file diff --git a/roles/cleanup-disc-space/templates/cleanup-disc-space.service.j2 b/roles/cleanup-disc-space/templates/cleanup-disc-space.service.j2 index e6a0ed4f..09216316 100644 --- a/roles/cleanup-disc-space/templates/cleanup-disc-space.service.j2 +++ b/roles/cleanup-disc-space/templates/cleanup-disc-space.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=freeing disc space -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/cleanup-docker-anonymous-volumes/README.md b/roles/cleanup-docker-anonymous-volumes/README.md index 94dc8727..a6246e57 100644 --- a/roles/cleanup-docker-anonymous-volumes/README.md +++ b/roles/cleanup-docker-anonymous-volumes/README.md @@ -2,7 +2,7 @@ ## Description -This Ansible role installs and executes [`dockreap`](https://github.com/kevinveenbirkenbach/docker-volume-cleaner), a tool designed to clean up unused anonymous Docker volumes (including symlinks and their targets) to maintain a tidy Docker environment. +This Ansible role installs and executes [`dockreap`](https://github.com/kevinveenbirkenbach/web-app-volume-cleaner), a tool designed to clean up unused anonymous Docker volumes (including symlinks and their targets) to maintain a tidy Docker environment. ## Overview diff --git a/roles/cleanup-docker-anonymous-volumes/meta/main.yml b/roles/cleanup-docker-anonymous-volumes/meta/main.yml index d67cee63..f938690c 100644 --- a/roles/cleanup-docker-anonymous-volumes/meta/main.yml +++ b/roles/cleanup-docker-anonymous-volumes/meta/main.yml @@ -20,6 +20,6 @@ galaxy_info: - maintenance - volumes - pkgmgr - repository: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner" - issue_tracker_url: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner/issues" - documentation: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner#readme" + 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#readme" diff --git a/roles/cleanup-domains/meta/main.yml b/roles/cleanup-domains/meta/main.yml index eb64811a..963a93f8 100644 --- a/roles/cleanup-domains/meta/main.yml +++ b/roles/cleanup-domains/meta/main.yml @@ -21,4 +21,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - nginx \ No newline at end of file + - webserver-core \ 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 906904cc..61de434b 100644 --- a/roles/cleanup-failed-docker-backups/README.md +++ b/roles/cleanup-failed-docker-backups/README.md @@ -9,7 +9,7 @@ This role cleans up failed Docker backups by pulling a [Git repository](https:// 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 [systemd-timer](../systemd-timer/README.md) role to schedule periodic cleanup. +- 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. ## Purpose diff --git a/roles/cleanup-failed-docker-backups/meta/main.yml b/roles/cleanup-failed-docker-backups/meta/main.yml index 36d98dae..59180d5d 100644 --- a/roles/cleanup-failed-docker-backups/meta/main.yml +++ b/roles/cleanup-failed-docker-backups/meta/main.yml @@ -22,6 +22,6 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier - - system-maintenance-lock + - alert-core + - maintenance-lock - backup-directory-validator diff --git a/roles/cleanup-failed-docker-backups/tasks/main.yml b/roles/cleanup-failed-docker-backups/tasks/main.yml index 7c48b57d..e204a739 100644 --- a/roles/cleanup-failed-docker-backups/tasks/main.yml +++ b/roles/cleanup-failed-docker-backups/tasks/main.yml @@ -29,9 +29,9 @@ service_name: "{{ role_name }}" when: run_once_cleanup_failed_docker_backups is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_cleanup_failed_docker}}" when: run_once_cleanup_failed_docker_backups is not defined diff --git a/roles/cleanup-failed-docker-backups/templates/cleanup-failed-docker-backups.service.j2 b/roles/cleanup-failed-docker-backups/templates/cleanup-failed-docker-backups.service.j2 index c017ad2a..08fa20d7 100644 --- a/roles/cleanup-failed-docker-backups/templates/cleanup-failed-docker-backups.service.j2 +++ b/roles/cleanup-failed-docker-backups/templates/cleanup-failed-docker-backups.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Cleaning up failed docker volume backups -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/client-qbittorrent/meta/main.yml b/roles/client-qbittorrent/meta/main.yml deleted file mode 100644 index f2b89588..00000000 --- a/roles/client-qbittorrent/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- system-aur-helper \ No newline at end of file diff --git a/roles/client-zoom/meta/main.yml b/roles/client-zoom/meta/main.yml deleted file mode 100644 index f2b89588..00000000 --- a/roles/client-zoom/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- system-aur-helper \ No newline at end of file diff --git a/roles/core-journalctl/README.md b/roles/core-journalctl/README.md new file mode 100644 index 00000000..67bb4ae5 --- /dev/null +++ b/roles/core-journalctl/README.md @@ -0,0 +1,32 @@ +# Journalctl + +This Ansible role manages the configuration of `systemd-journald` on target hosts. + +## Description + +- Copies a customized `journald.conf` to `/etc/systemd/journald.conf` +- Ensures log retention for one week +- Restarts the `systemd-journald` service when configuration changes +- Supports live log streaming via `journalctl -f` + +## Overview + +1. **Template deployment** + The role places your `journald.conf.j2` template into `/etc/systemd/journald.conf`. +2. **Service handler** + On change, it notifies a handler to restart `systemd-journald`. +3. **Monitoring** + You can follow logs in real time with `journalctl -f`. + +## Features + +- Customizable retention and runtime limits +- Seamless restarts on config update +- Integration with `monitor-bot-journalctl` for downstream monitoring + +## Usage + +```yaml +- hosts: all + roles: + - role: core-journalctl diff --git a/roles/journalctl/handlers/main.yml b/roles/core-journalctl/handlers/main.yml similarity index 100% rename from roles/journalctl/handlers/main.yml rename to roles/core-journalctl/handlers/main.yml diff --git a/roles/core-journalctl/meta/main.yml b/roles/core-journalctl/meta/main.yml new file mode 100644 index 00000000..913fe612 --- /dev/null +++ b/roles/core-journalctl/meta/main.yml @@ -0,0 +1,20 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Configure and manage systemd-journald settings" + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + galaxy_tags: + - system + - logging + - journald + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/roles/core-journalctl" + run_after: [] +dependencies: + - monitor-bot-journalctl diff --git a/roles/journalctl/tasks/main.yml b/roles/core-journalctl/tasks/main.yml similarity index 100% rename from roles/journalctl/tasks/main.yml rename to roles/core-journalctl/tasks/main.yml diff --git a/roles/journalctl/templates/journald.conf.j2 b/roles/core-journalctl/templates/journald.conf.j2 similarity index 100% rename from roles/journalctl/templates/journald.conf.j2 rename to roles/core-journalctl/templates/journald.conf.j2 diff --git a/roles/system-security/README.md b/roles/core-security/README.md similarity index 100% rename from roles/system-security/README.md rename to roles/core-security/README.md diff --git a/roles/system-security/meta/main.yml b/roles/core-security/meta/main.yml similarity index 98% rename from roles/system-security/meta/main.yml rename to roles/core-security/meta/main.yml index 35074209..be9a7ea2 100644 --- a/roles/system-security/meta/main.yml +++ b/roles/core-security/meta/main.yml @@ -21,4 +21,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - sshd \ No newline at end of file + - core-sshd \ No newline at end of file diff --git a/roles/sshd/README.md b/roles/core-sshd/README.md similarity index 100% rename from roles/sshd/README.md rename to roles/core-sshd/README.md diff --git a/roles/sshd/handlers/main.yml b/roles/core-sshd/handlers/main.yml similarity index 100% rename from roles/sshd/handlers/main.yml rename to roles/core-sshd/handlers/main.yml diff --git a/roles/sshd/meta/main.yml b/roles/core-sshd/meta/main.yml similarity index 100% rename from roles/sshd/meta/main.yml rename to roles/core-sshd/meta/main.yml diff --git a/roles/sshd/tasks/main.yml b/roles/core-sshd/tasks/main.yml similarity index 100% rename from roles/sshd/tasks/main.yml rename to roles/core-sshd/tasks/main.yml diff --git a/roles/sshd/templates/sshd_config.j2 b/roles/core-sshd/templates/sshd_config.j2 similarity index 100% rename from roles/sshd/templates/sshd_config.j2 rename to roles/core-sshd/templates/sshd_config.j2 diff --git a/roles/sudo/README.md b/roles/core-sudo/README.md similarity index 100% rename from roles/sudo/README.md rename to roles/core-sudo/README.md diff --git a/roles/sudo/files/sudoers b/roles/core-sudo/files/sudoers similarity index 100% rename from roles/sudo/files/sudoers rename to roles/core-sudo/files/sudoers diff --git a/roles/sudo/meta/main.yml b/roles/core-sudo/meta/main.yml similarity index 100% rename from roles/sudo/meta/main.yml rename to roles/core-sudo/meta/main.yml diff --git a/roles/sudo/tasks/main.yml b/roles/core-sudo/tasks/main.yml similarity index 100% rename from roles/sudo/tasks/main.yml rename to roles/core-sudo/tasks/main.yml diff --git a/roles/client-bluray-player/README.md b/roles/desktop-bluray-player/README.md similarity index 98% rename from roles/client-bluray-player/README.md rename to roles/desktop-bluray-player/README.md index ed8181bf..69c51682 100644 --- a/roles/client-bluray-player/README.md +++ b/roles/desktop-bluray-player/README.md @@ -1,4 +1,4 @@ -# client-bluray-player +# desktop-bluray-player ## Description diff --git a/roles/nginx-redirect-domains/meta/main.yml b/roles/desktop-bluray-player/meta/main.yml similarity index 50% rename from roles/nginx-redirect-domains/meta/main.yml rename to roles/desktop-bluray-player/meta/main.yml index 49322377..6512839c 100644 --- a/roles/nginx-redirect-domains/meta/main.yml +++ b/roles/desktop-bluray-player/meta/main.yml @@ -1,2 +1,2 @@ dependencies: -- nginx-https +- generic-java \ No newline at end of file diff --git a/roles/client-bluray-player/tasks/main.yml b/roles/desktop-bluray-player/tasks/main.yml similarity index 100% rename from roles/client-bluray-player/tasks/main.yml rename to roles/desktop-bluray-player/tasks/main.yml diff --git a/roles/client-browser-chromium/README.md b/roles/desktop-browser-chromium/README.md similarity index 100% rename from roles/client-browser-chromium/README.md rename to roles/desktop-browser-chromium/README.md diff --git a/roles/client-browser-chromium/meta/main.yml b/roles/desktop-browser-chromium/meta/main.yml similarity index 100% rename from roles/client-browser-chromium/meta/main.yml rename to roles/desktop-browser-chromium/meta/main.yml diff --git a/roles/client-browser-chromium/tasks/main.yml b/roles/desktop-browser-chromium/tasks/main.yml similarity index 100% rename from roles/client-browser-chromium/tasks/main.yml rename to roles/desktop-browser-chromium/tasks/main.yml diff --git a/roles/client-browser-chromium/templates/configuration.yml.j2 b/roles/desktop-browser-chromium/templates/configuration.yml.j2 similarity index 100% rename from roles/client-browser-chromium/templates/configuration.yml.j2 rename to roles/desktop-browser-chromium/templates/configuration.yml.j2 diff --git a/roles/client-browser-chromium/templates/extensions_policy.json.j2 b/roles/desktop-browser-chromium/templates/extensions_policy.json.j2 similarity index 100% rename from roles/client-browser-chromium/templates/extensions_policy.json.j2 rename to roles/desktop-browser-chromium/templates/extensions_policy.json.j2 diff --git a/roles/client-browser-chromium/vars/main.yml b/roles/desktop-browser-chromium/vars/main.yml similarity index 100% rename from roles/client-browser-chromium/vars/main.yml rename to roles/desktop-browser-chromium/vars/main.yml diff --git a/roles/client-browser-firefox/README.md b/roles/desktop-browser-firefox/README.md similarity index 100% rename from roles/client-browser-firefox/README.md rename to roles/desktop-browser-firefox/README.md diff --git a/roles/client-browser-firefox/meta/main.yml b/roles/desktop-browser-firefox/meta/main.yml similarity index 100% rename from roles/client-browser-firefox/meta/main.yml rename to roles/desktop-browser-firefox/meta/main.yml diff --git a/roles/client-browser-firefox/tasks/main.yml b/roles/desktop-browser-firefox/tasks/main.yml similarity index 100% rename from roles/client-browser-firefox/tasks/main.yml rename to roles/desktop-browser-firefox/tasks/main.yml diff --git a/roles/client-browser-firefox/templates/policies.json.j2 b/roles/desktop-browser-firefox/templates/policies.json.j2 similarity index 100% rename from roles/client-browser-firefox/templates/policies.json.j2 rename to roles/desktop-browser-firefox/templates/policies.json.j2 diff --git a/roles/client-browser-firefox/vars/configuration.yml b/roles/desktop-browser-firefox/vars/configuration.yml similarity index 100% rename from roles/client-browser-firefox/vars/configuration.yml rename to roles/desktop-browser-firefox/vars/configuration.yml diff --git a/roles/client-browser-firefox/vars/main.yml b/roles/desktop-browser-firefox/vars/main.yml similarity index 100% rename from roles/client-browser-firefox/vars/main.yml rename to roles/desktop-browser-firefox/vars/main.yml diff --git a/roles/client-browser/README.md b/roles/desktop-browser/README.md similarity index 81% rename from roles/client-browser/README.md rename to roles/desktop-browser/README.md index 59c94b76..d0511a18 100644 --- a/roles/client-browser/README.md +++ b/roles/desktop-browser/README.md @@ -6,7 +6,7 @@ This Ansible role serves as a wrapper to install and configure multiple browsers ## Overview -The **client-browser** role orchestrates the deployment of two specialized roles: **client-browser-chromium** and **client-browser-firefox**. By executing both roles, it provides a unified solution for browser management, making it easier to maintain a secure and consistent browsing environment across your systems. +The **desktop-browser** role orchestrates the deployment of two specialized roles: **desktop-browser-chromium** and **desktop-browser-firefox**. By executing both roles, it provides a unified solution for browser management, making it easier to maintain a secure and consistent browsing environment across your systems. ## Purpose diff --git a/roles/client-browser/meta/main.yml b/roles/desktop-browser/meta/main.yml similarity index 94% rename from roles/client-browser/meta/main.yml rename to roles/desktop-browser/meta/main.yml index fc791598..53306486 100644 --- a/roles/client-browser/meta/main.yml +++ b/roles/desktop-browser/meta/main.yml @@ -34,5 +34,5 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - client-browser-chromium - - client-browser-firefox + - desktop-browser-chromium + - desktop-browser-firefox diff --git a/roles/client-docker/README.md b/roles/desktop-docker/README.md similarity index 78% rename from roles/client-docker/README.md rename to roles/desktop-docker/README.md index 3023cba7..ec484183 100644 --- a/roles/client-docker/README.md +++ b/roles/desktop-docker/README.md @@ -1,10 +1,10 @@ # README for PC-Docker Playbook ## Overview -This playbook, `client-docker`, is part of a larger collection housed within the `cymais` repository. It is specifically tailored for setting up Docker and Docker Compose on personal computers (PCs) used for development purposes. The primary goal is to facilitate a development environment on individual workstations rather than configuring servers for hosting or distributing Docker images. +This playbook, `desktop-docker`, is part of a larger collection housed within the `cymais` repository. It is specifically tailored for setting up Docker and Docker Compose on personal computers (PCs) used for development purposes. The primary goal is to facilitate a development environment on individual workstations rather than configuring servers for hosting or distributing Docker images. ## Contents -The `main.yml` file in the `client-docker` role consists of two primary tasks: +The `main.yml` file in the `desktop-docker` role consists of two primary tasks: 1. **Install Docker**: This task uses the `community.general.pacman` module to install `docker` and `docker-compose` on the system. It ensures that these packages are present on the PC. @@ -20,7 +20,7 @@ The playbook is designed for developers who require Docker in their local develo ## Running the Playbook To run this playbook: 1. Clone the `cymais` repository. -2. Navigate to the `roles/client-docker` directory. +2. Navigate to the `roles/desktop-docker` directory. 3. Run the playbook using the appropriate Ansible commands, ensuring that you have the necessary privileges. ## Important Notes diff --git a/roles/client-docker/tasks/main.yml b/roles/desktop-docker/tasks/main.yml similarity index 100% rename from roles/client-docker/tasks/main.yml rename to roles/desktop-docker/tasks/main.yml diff --git a/roles/client-git/README.md b/roles/desktop-git/README.md similarity index 100% rename from roles/client-git/README.md rename to roles/desktop-git/README.md diff --git a/roles/client-git/meta/main.yml b/roles/desktop-git/meta/main.yml similarity index 100% rename from roles/client-git/meta/main.yml rename to roles/desktop-git/meta/main.yml diff --git a/roles/client-git/tasks/main.yml b/roles/desktop-git/tasks/main.yml similarity index 100% rename from roles/client-git/tasks/main.yml rename to roles/desktop-git/tasks/main.yml diff --git a/roles/client-gnome-caffeine/README.md b/roles/desktop-gnome-caffeine/README.md similarity index 100% rename from roles/client-gnome-caffeine/README.md rename to roles/desktop-gnome-caffeine/README.md diff --git a/roles/client-gnome-caffeine/meta/main.yml b/roles/desktop-gnome-caffeine/meta/main.yml similarity index 95% rename from roles/client-gnome-caffeine/meta/main.yml rename to roles/desktop-gnome-caffeine/meta/main.yml index cfe5f25c..5d71489e 100644 --- a/roles/client-gnome-caffeine/meta/main.yml +++ b/roles/desktop-gnome-caffeine/meta/main.yml @@ -14,4 +14,4 @@ galaxy_info: - autostart - archlinux dependencies: - - system-aur-helper \ No newline at end of file + - generic-aur-helper \ No newline at end of file diff --git a/roles/client-gnome-caffeine/tasks/main.yml b/roles/desktop-gnome-caffeine/tasks/main.yml similarity index 100% rename from roles/client-gnome-caffeine/tasks/main.yml rename to roles/desktop-gnome-caffeine/tasks/main.yml diff --git a/roles/client-gnome-caffeine/templates/caffeine.desktop.j2 b/roles/desktop-gnome-caffeine/templates/caffeine.desktop.j2 similarity index 100% rename from roles/client-gnome-caffeine/templates/caffeine.desktop.j2 rename to roles/desktop-gnome-caffeine/templates/caffeine.desktop.j2 diff --git a/roles/client-gnome-caffeine/vars/main.yml b/roles/desktop-gnome-caffeine/vars/main.yml similarity index 100% rename from roles/client-gnome-caffeine/vars/main.yml rename to roles/desktop-gnome-caffeine/vars/main.yml diff --git a/roles/client-gnome-extensions/README.md b/roles/desktop-gnome-extensions/README.md similarity index 100% rename from roles/client-gnome-extensions/README.md rename to roles/desktop-gnome-extensions/README.md diff --git a/roles/client-gnome-extensions/meta/main.yml b/roles/desktop-gnome-extensions/meta/main.yml similarity index 100% rename from roles/client-gnome-extensions/meta/main.yml rename to roles/desktop-gnome-extensions/meta/main.yml diff --git a/roles/client-gnome-extensions/tasks/main.yml b/roles/desktop-gnome-extensions/tasks/main.yml similarity index 100% rename from roles/client-gnome-extensions/tasks/main.yml rename to roles/desktop-gnome-extensions/tasks/main.yml diff --git a/roles/client-gnome-extensions/vars/main.yml b/roles/desktop-gnome-extensions/vars/main.yml similarity index 100% rename from roles/client-gnome-extensions/vars/main.yml rename to roles/desktop-gnome-extensions/vars/main.yml diff --git a/roles/client-gnome-terminal/README.md b/roles/desktop-gnome-terminal/README.md similarity index 100% rename from roles/client-gnome-terminal/README.md rename to roles/desktop-gnome-terminal/README.md diff --git a/roles/client-gnome-terminal/meta/main.yml b/roles/desktop-gnome-terminal/meta/main.yml similarity index 100% rename from roles/client-gnome-terminal/meta/main.yml rename to roles/desktop-gnome-terminal/meta/main.yml diff --git a/roles/client-gnome-terminal/tasks/main.yml b/roles/desktop-gnome-terminal/tasks/main.yml similarity index 100% rename from roles/client-gnome-terminal/tasks/main.yml rename to roles/desktop-gnome-terminal/tasks/main.yml diff --git a/roles/client-gnome/README.md b/roles/desktop-gnome/README.md similarity index 78% rename from roles/client-gnome/README.md rename to roles/desktop-gnome/README.md index b9de0ca6..308967fb 100644 --- a/roles/client-gnome/README.md +++ b/roles/desktop-gnome/README.md @@ -3,9 +3,9 @@ ## Description This role aggregates various GNOME desktop components to ensure a cohesive and fully functional GNOME environment on Arch Linux. It includes the installation and configuration of several sub-roles: -- **client-gnome-caffeine:** Prevents the system from sleeping or locking automatically. -- **client-gnome-extensions:** Manages GNOME Shell extensions and installs the CLI GNOME Extension Manager. -- **client-gnome-terminal:** Installs GNOME Terminal, the official terminal emulator for GNOME. +- **desktop-gnome-caffeine:** Prevents the system from sleeping or locking automatically. +- **desktop-gnome-extensions:** Manages GNOME Shell extensions and installs the CLI GNOME Extension Manager. +- **desktop-gnome-terminal:** Installs GNOME Terminal, the official terminal emulator for GNOME. ## Purpose diff --git a/roles/client-gnome/meta/main.yml b/roles/desktop-gnome/meta/main.yml similarity index 87% rename from roles/client-gnome/meta/main.yml rename to roles/desktop-gnome/meta/main.yml index ae16745d..329fd768 100644 --- a/roles/client-gnome/meta/main.yml +++ b/roles/desktop-gnome/meta/main.yml @@ -19,6 +19,6 @@ galaxy_info: - archlinux - automation dependencies: - - client-gnome-caffeine - - client-gnome-extensions - - client-gnome-terminal \ No newline at end of file + - desktop-gnome-caffeine + - desktop-gnome-extensions + - desktop-gnome-terminal \ No newline at end of file diff --git a/roles/client-gnome/vars/configuration.yml b/roles/desktop-gnome/vars/configuration.yml similarity index 100% rename from roles/client-gnome/vars/configuration.yml rename to roles/desktop-gnome/vars/configuration.yml diff --git a/roles/client-gnome/vars/main.yml b/roles/desktop-gnome/vars/main.yml similarity index 100% rename from roles/client-gnome/vars/main.yml rename to roles/desktop-gnome/vars/main.yml diff --git a/roles/client-gnucash/README.md b/roles/desktop-gnucash/README.md similarity index 86% rename from roles/client-gnucash/README.md rename to roles/desktop-gnucash/README.md index 296065f3..706ad7b0 100644 --- a/roles/client-gnucash/README.md +++ b/roles/desktop-gnucash/README.md @@ -3,8 +3,8 @@ ## Overview This Ansible role is responsible for installing GnuCash, a free and open-source financial management software, on systems utilizing the Pacman package manager. It's particularly useful for setting up GnuCash in a Linux environment with minimal manual intervention. -## Role: client-gnucash -The `client-gnucash` role ensures that GnuCash is installed and maintained at its latest available version in the Pacman repositories. +## Role: desktop-gnucash +The `desktop-gnucash` role ensures that GnuCash is installed and maintained at its latest available version in the Pacman repositories. ## Requirements - Target systems should be running a Linux distribution that uses the Pacman package manager. @@ -25,7 +25,7 @@ An example of how to use this role in your playbook: ```yaml - hosts: your_target_group roles: - - client-gnucash + - desktop-gnucash ``` ## Author Information diff --git a/roles/client-gnucash/tasks/main.yml b/roles/desktop-gnucash/tasks/main.yml similarity index 100% rename from roles/client-gnucash/tasks/main.yml rename to roles/desktop-gnucash/tasks/main.yml diff --git a/roles/client-jrnl/README.md b/roles/desktop-jrnl/README.md similarity index 96% rename from roles/client-jrnl/README.md rename to roles/desktop-jrnl/README.md index 21ba769f..dab214fe 100644 --- a/roles/client-jrnl/README.md +++ b/roles/desktop-jrnl/README.md @@ -19,10 +19,10 @@ Including this role in your playbook is straightforward. Simply add the role to ```yaml - hosts: all roles: - - client-jrnl + - desktop-jrnl ``` -## Additional Information +## Further Resources For more detailed information on Jrnl and its functionalities, visit [Jrnl's official documentation](https://jrnl.sh/). ## Contributing diff --git a/roles/client-jrnl/tasks/main.yml b/roles/desktop-jrnl/tasks/main.yml similarity index 100% rename from roles/client-jrnl/tasks/main.yml rename to roles/desktop-jrnl/tasks/main.yml diff --git a/roles/client-keepassxc/tasks/main.yml b/roles/desktop-keepassxc/tasks/main.yml similarity index 100% rename from roles/client-keepassxc/tasks/main.yml rename to roles/desktop-keepassxc/tasks/main.yml diff --git a/roles/client-libreoffice/README.md b/roles/desktop-libreoffice/README.md similarity index 100% rename from roles/client-libreoffice/README.md rename to roles/desktop-libreoffice/README.md diff --git a/roles/client-libreoffice/meta/main.yml b/roles/desktop-libreoffice/meta/main.yml similarity index 96% rename from roles/client-libreoffice/meta/main.yml rename to roles/desktop-libreoffice/meta/main.yml index 98424d8a..e04c3742 100644 --- a/roles/client-libreoffice/meta/main.yml +++ b/roles/desktop-libreoffice/meta/main.yml @@ -19,4 +19,4 @@ galaxy_info: - archlinux - automation dependencies: - - hunspell \ No newline at end of file + - generic-hunspell \ No newline at end of file diff --git a/roles/client-libreoffice/tasks/main.yml b/roles/desktop-libreoffice/tasks/main.yml similarity index 100% rename from roles/client-libreoffice/tasks/main.yml rename to roles/desktop-libreoffice/tasks/main.yml diff --git a/roles/client-libreoffice/vars/configuration.yml b/roles/desktop-libreoffice/vars/configuration.yml similarity index 100% rename from roles/client-libreoffice/vars/configuration.yml rename to roles/desktop-libreoffice/vars/configuration.yml diff --git a/roles/client-libreoffice/vars/main.yml b/roles/desktop-libreoffice/vars/main.yml similarity index 100% rename from roles/client-libreoffice/vars/main.yml rename to roles/desktop-libreoffice/vars/main.yml diff --git a/roles/client-nextcloud/README.md b/roles/desktop-nextcloud/README.md similarity index 100% rename from roles/client-nextcloud/README.md rename to roles/desktop-nextcloud/README.md diff --git a/roles/client-nextcloud/meta/main.yml b/roles/desktop-nextcloud/meta/main.yml similarity index 100% rename from roles/client-nextcloud/meta/main.yml rename to roles/desktop-nextcloud/meta/main.yml diff --git a/roles/client-nextcloud/tasks/main.yml b/roles/desktop-nextcloud/tasks/main.yml similarity index 100% rename from roles/client-nextcloud/tasks/main.yml rename to roles/desktop-nextcloud/tasks/main.yml diff --git a/roles/client-nextcloud/vars/main.yml b/roles/desktop-nextcloud/vars/main.yml similarity index 100% rename from roles/client-nextcloud/vars/main.yml rename to roles/desktop-nextcloud/vars/main.yml diff --git a/roles/client-qbittorrent/README.md b/roles/desktop-qbittorrent/README.md similarity index 59% rename from roles/client-qbittorrent/README.md rename to roles/desktop-qbittorrent/README.md index b1c1c03e..11c3b0f4 100644 --- a/roles/client-qbittorrent/README.md +++ b/roles/desktop-qbittorrent/README.md @@ -1,20 +1,20 @@ # QBittorrent ## Overview -This README is for the `client-qbittorrent` role within the `cymais` repository. This role is specifically crafted for installing qBittorrent, a popular open-source torrent client, on personal computers. +This README is for the `desktop-qbittorrent` role within the `cymais` repository. This role is specifically crafted for installing qBittorrent, a popular open-source torrent client, on personal computers. ## Role Tasks -The `main.yml` file in the `client-qbittorrent` role includes the following task: +The `main.yml` file in the `desktop-qbittorrent` role includes the following task: 1. **Install Torrent Software**: - This task uses the `kewlfft.aur.aur` module with `yay` as the AUR helper to install `qbittorrent`, a widely-used, free, and easy-to-use torrent client. ## Dependencies This role depends on: -- **system-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, which is necessary for installing packages like `qbittorrent` that are not available in the standard repositories. +- **generic-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, which is necessary for installing packages like `qbittorrent` that are not available in the standard repositories. ## Purpose and Usage -The `client-qbittorrent` role is tailored for users who require a reliable and user-friendly torrent client for downloading and sharing files via the BitTorrent protocol. qBittorrent is known for its balance of features, simplicity, and minimal impact on system resources. +The `desktop-qbittorrent` role is tailored for users who require a reliable and user-friendly torrent client for downloading and sharing files via the BitTorrent protocol. qBittorrent is known for its balance of features, simplicity, and minimal impact on system resources. ## Prerequisites - **Ansible**: Required for running this role. @@ -23,7 +23,7 @@ The `client-qbittorrent` role is tailored for users who require a reliable and u ## Running the Role To utilize this role: 1. Clone the `cymais` repository. -2. Navigate to the `roles/client-qbittorrent` directory. +2. Navigate to the `roles/desktop-qbittorrent` directory. 3. Execute the role using Ansible, ensuring you have the required system permissions for package installation. ## Customization diff --git a/roles/desktop-qbittorrent/meta/main.yml b/roles/desktop-qbittorrent/meta/main.yml new file mode 100644 index 00000000..ad07aef5 --- /dev/null +++ b/roles/desktop-qbittorrent/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- generic-aur-helper \ No newline at end of file diff --git a/roles/client-qbittorrent/tasks/main.yml b/roles/desktop-qbittorrent/tasks/main.yml similarity index 100% rename from roles/client-qbittorrent/tasks/main.yml rename to roles/desktop-qbittorrent/tasks/main.yml diff --git a/roles/client-spotify/README.md b/roles/desktop-spotify/README.md similarity index 83% rename from roles/client-spotify/README.md rename to roles/desktop-spotify/README.md index b20b7aac..0a86ce17 100644 --- a/roles/client-spotify/README.md +++ b/roles/desktop-spotify/README.md @@ -16,18 +16,18 @@ To automate the installation of Spotify on Arch-based systems while ensuring pro - 🎧 Installs the official [Spotify AUR package](https://aur.archlinux.org/packages/spotify) - 🛠 Uses `yay` (or other helper) via [`kewlfft.aur`](https://github.com/kewlfft/ansible-aur) Ansible module -- 🔗 Declares dependency on `system-aur-helper` for seamless integration +- 🔗 Declares dependency on `generic-aur-helper` for seamless integration ## Requirements -- The `system-aur-helper` role must be applied before using this role. +- The `generic-aur-helper` role must be applied before using this role. - An AUR helper like `yay` must be available on the system. ## Dependencies This role depends on: -- [`system-aur-helper`](../system-aur-helper) – provides and configures an AUR helper like `yay` +- [`generic-aur-helper`](../generic-aur-helper) – provides and configures an AUR helper like `yay` ## Credits 📝 diff --git a/roles/client-spotify/meta/main.yml b/roles/desktop-spotify/meta/main.yml similarity index 96% rename from roles/client-spotify/meta/main.yml rename to roles/desktop-spotify/meta/main.yml index b0c6765f..d8d68ca4 100644 --- a/roles/client-spotify/meta/main.yml +++ b/roles/desktop-spotify/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - system-aur-helper + - generic-aur-helper diff --git a/roles/client-spotify/tasks/main.yml b/roles/desktop-spotify/tasks/main.yml similarity index 100% rename from roles/client-spotify/tasks/main.yml rename to roles/desktop-spotify/tasks/main.yml diff --git a/roles/client-ssh/README.md b/roles/desktop-ssh/README.md similarity index 98% rename from roles/client-ssh/README.md rename to roles/desktop-ssh/README.md index fafb7c0b..3653643e 100644 --- a/roles/client-ssh/README.md +++ b/roles/desktop-ssh/README.md @@ -18,7 +18,7 @@ The purpose of this role is to automate the provisioning of SSH agent capabiliti ## Features -- **Clones a remote SSH config repository** into `~/.ssh` using the `client-git` role. +- **Clones a remote SSH config repository** into `~/.ssh` using the `desktop-git` role. - **Deploys and enables a systemd user service** for `ssh-agent`. - **Ensures environment compatibility** by injecting the `SSH_AUTH_SOCK` variable into either `.bash_profile` or `.profile`. - **Fails gracefully** with an optional debug message if the Git repository is unreachable. diff --git a/roles/client-ssh/meta/main.yml b/roles/desktop-ssh/meta/main.yml similarity index 95% rename from roles/client-ssh/meta/main.yml rename to roles/desktop-ssh/meta/main.yml index 69ea9861..29e5e952 100644 --- a/roles/client-ssh/meta/main.yml +++ b/roles/desktop-ssh/meta/main.yml @@ -26,5 +26,5 @@ galaxy_info: documentation: https://s.veen.world/cymais dependencies: - - client-git - - shell \ No newline at end of file + - desktop-git + - generic-shell \ No newline at end of file diff --git a/roles/client-ssh/tasks/main.yml b/roles/desktop-ssh/tasks/main.yml similarity index 100% rename from roles/client-ssh/tasks/main.yml rename to roles/desktop-ssh/tasks/main.yml diff --git a/roles/client-ssh/templates/ssh-agent.service.j2 b/roles/desktop-ssh/templates/ssh-agent.service.j2 similarity index 100% rename from roles/client-ssh/templates/ssh-agent.service.j2 rename to roles/desktop-ssh/templates/ssh-agent.service.j2 diff --git a/roles/client-torbrowser/README.md b/roles/desktop-torbrowser/README.md similarity index 66% rename from roles/client-torbrowser/README.md rename to roles/desktop-torbrowser/README.md index e27d0457..ab08d69d 100644 --- a/roles/client-torbrowser/README.md +++ b/roles/desktop-torbrowser/README.md @@ -1,10 +1,10 @@ # PC-TorBrowser Role ## Overview -This README document is for the `client-torbrowser` role, a crucial component of the `cymais` repository. This role is specifically designed for the installation and setup of Tor Browser on personal computers. +This README document is for the `desktop-torbrowser` role, a crucial component of the `cymais` repository. This role is specifically designed for the installation and setup of Tor Browser on personal computers. ## Role Tasks -The `main.yml` file under the `client-torbrowser` role encompasses tasks for installing the Tor Browser: +The `main.yml` file under the `desktop-torbrowser` role encompasses tasks for installing the Tor Browser: 1. **Install TorBrowser**: - Utilizes the `community.general.pacman` module to install: @@ -12,7 +12,7 @@ The `main.yml` file under the `client-torbrowser` role encompasses tasks for ins - `torbrowser-launcher`: A package for securely and easily launching the Tor Browser. ## Purpose and Usage -The `client-torbrowser` role is tailored for users who value privacy and anonymity online. The Tor Browser is a specialized web browser that provides enhanced privacy features, making it an essential tool for secure browsing and accessing the deep web. +The `desktop-torbrowser` role is tailored for users who value privacy and anonymity online. The Tor Browser is a specialized web browser that provides enhanced privacy features, making it an essential tool for secure browsing and accessing the deep web. ## Prerequisites - **Ansible**: Must be installed on your system to run this role. @@ -21,7 +21,7 @@ The `client-torbrowser` role is tailored for users who value privacy and anonymi ## Running the Role To use this role: 1. Clone the `cymais` repository. -2. Navigate to the `roles/client-torbrowser` directory. +2. Navigate to the `roles/desktop-torbrowser` directory. 3. Run the role using Ansible, ensuring you have the necessary permissions for software installation. ## Customization diff --git a/roles/client-torbrowser/tasks/main.yml b/roles/desktop-torbrowser/tasks/main.yml similarity index 100% rename from roles/client-torbrowser/tasks/main.yml rename to roles/desktop-torbrowser/tasks/main.yml diff --git a/roles/client-virtual-box/README.md b/roles/desktop-virtual-box/README.md similarity index 100% rename from roles/client-virtual-box/README.md rename to roles/desktop-virtual-box/README.md diff --git a/roles/client-zoom/README.md b/roles/desktop-zoom/README.md similarity index 62% rename from roles/client-zoom/README.md rename to roles/desktop-zoom/README.md index 85f75b11..aef7d027 100644 --- a/roles/client-zoom/README.md +++ b/roles/desktop-zoom/README.md @@ -1,10 +1,10 @@ # Zoom ## Overview -Welcome to the `client-zoom` role documentation, a part of the `cymais` repository. This role is focused on installing video conferencing software on Linux systems, specifically tailored for personal use and remote work requirements. +Welcome to the `desktop-zoom` role documentation, a part of the `cymais` repository. This role is focused on installing video conferencing software on Linux systems, specifically tailored for personal use and remote work requirements. ## Role Tasks -The `main.yml` file in the `client-zoom` role includes tasks for setting up video conferencing tools: +The `main.yml` file in the `desktop-zoom` role includes tasks for setting up video conferencing tools: 1. **Install Video Conference Software**: - Utilizes the `kewlfft.aur.aur` module with `yay` as the helper to install `zoom`, a popular video conferencing application. @@ -14,10 +14,10 @@ The `main.yml` file in the `client-zoom` role includes tasks for setting up vide ## Dependencies This role relies on: -- **system-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, necessary for installing software like Zoom which may not be available in standard repositories. +- **generic-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, necessary for installing software like Zoom which may not be available in standard repositories. ## Purpose and Usage -The `client-zoom` role is particularly useful for professionals, educators, and anyone who needs reliable video conferencing capabilities on their Linux system. With the increasing demand for remote communication, this role provides an efficient way to set up key video conferencing tools. +The `desktop-zoom` role is particularly useful for professionals, educators, and anyone who needs reliable video conferencing capabilities on their Linux system. With the increasing demand for remote communication, this role provides an efficient way to set up key video conferencing tools. ## Prerequisites - **Ansible**: Required to run this role. @@ -26,7 +26,7 @@ The `client-zoom` role is particularly useful for professionals, educators, and ## Running the Role To utilize this role: 1. Clone the `cymais` repository. -2. Navigate to the `roles/client-zoom` directory. +2. Navigate to the `roles/desktop-zoom` directory. 3. Run the role using Ansible, ensuring you have appropriate system permissions for software installation. ## Customization diff --git a/roles/desktop-zoom/meta/main.yml b/roles/desktop-zoom/meta/main.yml new file mode 100644 index 00000000..ad07aef5 --- /dev/null +++ b/roles/desktop-zoom/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- generic-aur-helper \ No newline at end of file diff --git a/roles/client-zoom/tasks/main.yml b/roles/desktop-zoom/tasks/main.yml similarity index 100% rename from roles/client-zoom/tasks/main.yml rename to roles/desktop-zoom/tasks/main.yml diff --git a/roles/docker-baserow/tasks/main.yml b/roles/docker-baserow/tasks/main.yml deleted file mode 100644 index b8c90fe2..00000000 --- a/roles/docker-baserow/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" \ No newline at end of file diff --git a/roles/docker-central-database/templates/services/main.yml.j2 b/roles/docker-central-database/templates/services/main.yml.j2 deleted file mode 100644 index 42e191cf..00000000 --- a/roles/docker-central-database/templates/services/main.yml.j2 +++ /dev/null @@ -1 +0,0 @@ -{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %} \ No newline at end of file diff --git a/roles/docker-collabora/templates/nginx.conf.j2 b/roles/docker-collabora/templates/nginx.conf.j2 deleted file mode 100644 index dae6f9d1..00000000 --- a/roles/docker-collabora/templates/nginx.conf.j2 +++ /dev/null @@ -1,15 +0,0 @@ -server { - server_name {{domain}}; - - {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} - - {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %} - - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} - - {% set location = '^~ /cool/' %} - - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} -} \ No newline at end of file diff --git a/roles/docker-compose/README.md b/roles/docker-compose/README.md index 9a1f07bd..5bd3795b 100644 --- a/roles/docker-compose/README.md +++ b/roles/docker-compose/README.md @@ -20,7 +20,7 @@ To offer a centralized, extensible system for managing containerized application - **Reset Logic:** Cleans previous Compose project files and data when `mode_reset` is enabled. - **Handlers for Runtime Control:** Automatically builds, sets up, or restarts containers based on handlers. - **Template-ready Service Files:** Predefined service base and health check templates. -- **Integration Support:** Compatible with `nginx-docker-reverse-proxy` and other CyMaIS service roles. +- **Integration Support:** Compatible with `webserver-proxy-core` and other CyMaIS service roles. ## Administration Tips diff --git a/roles/docker-compose/meta/main.yml b/roles/docker-compose/meta/main.yml index 2a2ef79a..fbe9c04c 100644 --- a/roles/docker-compose/meta/main.yml +++ b/roles/docker-compose/meta/main.yml @@ -25,5 +25,5 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - nginx-docker-reverse-proxy + - webserver-proxy-core - docker-container # Necessary for template use \ No newline at end of file diff --git a/roles/docker-compose/tasks/files.yml b/roles/docker-compose/tasks/files.yml index 862dae9c..7ff938a1 100644 --- a/roles/docker-compose/tasks/files.yml +++ b/roles/docker-compose/tasks/files.yml @@ -3,8 +3,8 @@ src: "{{ item }}" dest: "{{ docker_compose.files.dockerfile }}" loop: - - "{{ playbook_dir }}/roles/docker-{{ application_id }}/templates/Dockerfile.j2" - - "{{ playbook_dir }}/roles/docker-{{ application_id }}/files/Dockerfile" + - "{{ playbook_dir }}/roles/web-app-{{ application_id }}/templates/Dockerfile.j2" + - "{{ playbook_dir }}/roles/web-app-{{ application_id }}/files/Dockerfile" notify: docker compose up register: create_dockerfile_result failed_when: @@ -20,8 +20,8 @@ notify: docker compose up register: env_template loop: - - "{{ playbook_dir }}/roles/docker-{{ application_id }}/templates/env.j2" - - "{{ playbook_dir }}/roles/docker-{{ application_id }}/files/env" + - "{{ playbook_dir }}/roles/web-app-{{ application_id }}/templates/env.j2" + - "{{ playbook_dir }}/roles/web-app-{{ application_id }}/files/env" failed_when: - env_template is failed - "'Could not find or access' not in env_template.msg" diff --git a/roles/docker-compose/templates/base.yml.j2 b/roles/docker-compose/templates/base.yml.j2 index ff0bf7be..6e717aee 100644 --- a/roles/docker-compose/templates/base.yml.j2 +++ b/roles/docker-compose/templates/base.yml.j2 @@ -2,14 +2,14 @@ services: {# Load Database #} {% if applications[application_id].docker.services.database.enabled | default(false) | bool %} -{% include 'roles/docker-central-database/templates/services/main.yml.j2' %} +{% include 'roles/service-rdbms-central/templates/services/main.yml.j2' %} {% endif %} {# Load Redis #} {% if applications[application_id].docker.services.redis.enabled | default(false) | bool %} -{% include 'roles/docker-redis/templates/service.yml.j2' %} +{% include 'roles/web-app-redis/templates/service.yml.j2' %} {% endif %} {# Load OAuth2 Proxy #} {% if applications | is_feature_enabled('oauth2',application_id) %} -{% include 'roles/docker-oauth2-proxy/templates/container.yml.j2' %} +{% include 'roles/web-app-oauth2-proxy/templates/container.yml.j2' %} {% endif %} {{ "\n" }} diff --git a/roles/docker-coturn/tasks/main.yml b/roles/docker-coturn/tasks/main.yml deleted file mode 100644 index 0a26e522..00000000 --- a/roles/docker-coturn/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-elk/defaults/main.yml b/roles/docker-elk/defaults/main.yml deleted file mode 100644 index 303afa19..00000000 --- a/roles/docker-elk/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -docker_elk_compose_path: "/srv/github.com/kevinveenbirkenbach/docker-elk/" diff --git a/roles/docker-funkwhale/tasks/main.yml b/roles/docker-funkwhale/tasks/main.yml deleted file mode 100644 index dd02e0bf..00000000 --- a/roles/docker-funkwhale/tasks/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" - - diff --git a/roles/docker-gitlab/tasks/main.yml b/roles/docker-gitlab/tasks/main.yml deleted file mode 100644 index 0a26e522..00000000 --- a/roles/docker-gitlab/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-jenkins/meta/main.yml b/roles/docker-jenkins/meta/main.yml deleted file mode 100644 index d3606e63..00000000 --- a/roles/docker-jenkins/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- nginx-docker-reverse-proxy diff --git a/roles/docker-pixelfed/tasks/main.yml b/roles/docker-pixelfed/tasks/main.yml deleted file mode 100644 index 0a26e522..00000000 --- a/roles/docker-pixelfed/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-yourls/tasks/main.yml b/roles/docker-yourls/tasks/main.yml deleted file mode 100644 index ff615b57..00000000 --- a/roles/docker-yourls/tasks/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: "include docker-central-database" - include_role: - name: docker-central-database - -- name: "include role nginx-domain-setup for {{application_id}}" - include_role: - name: nginx-domain-setup - vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" - diff --git a/roles/docker/meta/main.yml b/roles/docker/meta/main.yml index 721b46c0..9afa1f48 100644 --- a/roles/docker/meta/main.yml +++ b/roles/docker/meta/main.yml @@ -29,7 +29,7 @@ galaxy_info: dependencies: - backup-docker-to-local - user-administrator - - health-docker-container - - health-docker-volumes - - heal-docker - - restart-docker + - monitor-bot-docker-container + - monitor-bot-docker-volumes + - maintenance-docker-heal + - maintenance-docker-restart diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index c6d8a632..e1058594 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -16,7 +16,7 @@ group: administrator when: run_once_docker is not defined -- name: Set docker_enabled to true, to activate system-storage-optimizer +- name: Set docker_enabled to true, to activate maintenance-docker-storage-optimizer set_fact: docker_enabled: true when: run_once_docker is not defined diff --git a/roles/driver-epson-multiprinter/meta/main.yml b/roles/driver-epson-multiprinter/meta/main.yml index f2b89588..ad07aef5 100644 --- a/roles/driver-epson-multiprinter/meta/main.yml +++ b/roles/driver-epson-multiprinter/meta/main.yml @@ -1,2 +1,2 @@ dependencies: -- system-aur-helper \ No newline at end of file +- generic-aur-helper \ No newline at end of file diff --git a/roles/driver-lid-switch/README.md b/roles/driver-lid-switch/README.md index 56dd6218..144e0baa 100644 --- a/roles/driver-lid-switch/README.md +++ b/roles/driver-lid-switch/README.md @@ -24,7 +24,7 @@ The purpose of this role is to enforce a consistent and predictable lid switch b - **Power-aware Configuration:** Differentiates between battery, AC power, and docked state. - **Idempotent Design:** Ensures safe re-runs and minimal unnecessary restarts. -## More Ressources +## Further Resources - https://chatgpt.com/share/67ed14d0-4220-800f-a592-82513553fb97 - https://chatgpt.com/share/67ed1520-8a54-800f-98a5-12372413994a - https://chatgpt.com/share/67ed158b-66d4-800f-b418-e52460c225ce diff --git a/roles/driver-msi-keyboard-color/README.md b/roles/driver-msi-keyboard-color/README.md index 9e4a5cd2..f1a9f599 100644 --- a/roles/driver-msi-keyboard-color/README.md +++ b/roles/driver-msi-keyboard-color/README.md @@ -20,7 +20,7 @@ The `vendor_and_product_id` variable is required and should be set to the vendor ## Dependencies -- `system-aur-helper` +- `generic-aur-helper` ## Example Playbook diff --git a/roles/driver-msi-keyboard-color/meta/main.yml b/roles/driver-msi-keyboard-color/meta/main.yml index 635c3616..f0b45b97 100644 --- a/roles/driver-msi-keyboard-color/meta/main.yml +++ b/roles/driver-msi-keyboard-color/meta/main.yml @@ -8,5 +8,5 @@ galaxy_info: versions: - all dependencies: - - system-aur-helper - - systemd-notifier + - generic-aur-helper + - alert-core diff --git a/roles/driver-msi-keyboard-color/tasks/main.yml b/roles/driver-msi-keyboard-color/tasks/main.yml index 50b79f7e..c320799f 100644 --- a/roles/driver-msi-keyboard-color/tasks/main.yml +++ b/roles/driver-msi-keyboard-color/tasks/main.yml @@ -25,9 +25,9 @@ set_fact: service_name: "{{ role_name }}" -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_msi_keyboard_color}}" persistent: "true" diff --git a/roles/driver-msi-keyboard-color/templates/keyboard-color.service.j2 b/roles/driver-msi-keyboard-color/templates/keyboard-color.service.j2 index 72da815b..62e98a4f 100644 --- a/roles/driver-msi-keyboard-color/templates/keyboard-color.service.j2 +++ b/roles/driver-msi-keyboard-color/templates/keyboard-color.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Keyboard Color Service -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/system-aur-helper/README.md b/roles/generic-aur-helper/README.md similarity index 100% rename from roles/system-aur-helper/README.md rename to roles/generic-aur-helper/README.md diff --git a/roles/system-aur-helper/meta/main.yml b/roles/generic-aur-helper/meta/main.yml similarity index 97% rename from roles/system-aur-helper/meta/main.yml rename to roles/generic-aur-helper/meta/main.yml index 85502a55..c9df33bc 100644 --- a/roles/system-aur-helper/meta/main.yml +++ b/roles/generic-aur-helper/meta/main.yml @@ -22,4 +22,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - fakeroot + - generic-fakeroot diff --git a/roles/system-aur-helper/tasks/main.yml b/roles/generic-aur-helper/tasks/main.yml similarity index 100% rename from roles/system-aur-helper/tasks/main.yml rename to roles/generic-aur-helper/tasks/main.yml diff --git a/roles/certbot/README.md b/roles/generic-certbot/README.md similarity index 100% rename from roles/certbot/README.md rename to roles/generic-certbot/README.md diff --git a/roles/certbot/meta/main.yml b/roles/generic-certbot/meta/main.yml similarity index 100% rename from roles/certbot/meta/main.yml rename to roles/generic-certbot/meta/main.yml diff --git a/roles/certbot/tasks/main.yml b/roles/generic-certbot/tasks/main.yml similarity index 100% rename from roles/certbot/tasks/main.yml rename to roles/generic-certbot/tasks/main.yml diff --git a/roles/fakeroot/README.md b/roles/generic-fakeroot/README.md similarity index 100% rename from roles/fakeroot/README.md rename to roles/generic-fakeroot/README.md diff --git a/roles/fakeroot/meta/main.yml b/roles/generic-fakeroot/meta/main.yml similarity index 100% rename from roles/fakeroot/meta/main.yml rename to roles/generic-fakeroot/meta/main.yml diff --git a/roles/fakeroot/tasks/main.yml b/roles/generic-fakeroot/tasks/main.yml similarity index 100% rename from roles/fakeroot/tasks/main.yml rename to roles/generic-fakeroot/tasks/main.yml diff --git a/roles/gcc/README.md b/roles/generic-gcc/README.md similarity index 100% rename from roles/gcc/README.md rename to roles/generic-gcc/README.md diff --git a/roles/gcc/meta/main.yml b/roles/generic-gcc/meta/main.yml similarity index 100% rename from roles/gcc/meta/main.yml rename to roles/generic-gcc/meta/main.yml diff --git a/roles/gcc/tasks/main.yml b/roles/generic-gcc/tasks/main.yml similarity index 100% rename from roles/gcc/tasks/main.yml rename to roles/generic-gcc/tasks/main.yml diff --git a/roles/git/README.md b/roles/generic-git/README.md similarity index 100% rename from roles/git/README.md rename to roles/generic-git/README.md diff --git a/roles/git/meta/main.yml b/roles/generic-git/meta/main.yml similarity index 100% rename from roles/git/meta/main.yml rename to roles/generic-git/meta/main.yml diff --git a/roles/git/tasks/main.yml b/roles/generic-git/tasks/main.yml similarity index 100% rename from roles/git/tasks/main.yml rename to roles/generic-git/tasks/main.yml diff --git a/roles/generic-hostname/README.md b/roles/generic-hostname/README.md new file mode 100644 index 00000000..bc6447fc --- /dev/null +++ b/roles/generic-hostname/README.md @@ -0,0 +1,23 @@ +# Hostname + +This Ansible role ensures that the target host’s system hostname is set to the inventory hostname. + +## Description + +- Uses the built-in `hostname` module to apply the `inventory_hostname` value +- Idempotent: only changes the system name if it differs +- No external dependencies + +## Overview + +1. **Task** + - `set hostname to {{ inventory_hostname }}` + Applies the desired hostname. +2. **Module** + - Leverages Ansible’s [`hostname`](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/hostname_module.html) module. + +## Features + +* Simple and lightweight +* Automatically adapts to your inventory names +* Safe to run repeatedly \ No newline at end of file diff --git a/roles/generic-hostname/meta/main.yml b/roles/generic-hostname/meta/main.yml new file mode 100644 index 00000000..9deae647 --- /dev/null +++ b/roles/generic-hostname/meta/main.yml @@ -0,0 +1,19 @@ +# roles/generic-hostname/meta/main.yml +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Set the system hostname based on the inventory_hostname" + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + galaxy_tags: + - system + - hostname + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/roles/generic-hostname" + run_after: [] +dependencies: [] diff --git a/roles/hostname/tasks/main.yml b/roles/generic-hostname/tasks/main.yml similarity index 100% rename from roles/hostname/tasks/main.yml rename to roles/generic-hostname/tasks/main.yml diff --git a/roles/hunspell/tasks/README.md b/roles/generic-hunspell/tasks/README.md similarity index 100% rename from roles/hunspell/tasks/README.md rename to roles/generic-hunspell/tasks/README.md diff --git a/roles/hunspell/tasks/main.yml b/roles/generic-hunspell/tasks/main.yml similarity index 100% rename from roles/hunspell/tasks/main.yml rename to roles/generic-hunspell/tasks/main.yml diff --git a/roles/java/README.md b/roles/generic-java/README.md similarity index 100% rename from roles/java/README.md rename to roles/generic-java/README.md diff --git a/roles/java/tasks/main.yml b/roles/generic-java/tasks/main.yml similarity index 100% rename from roles/java/tasks/main.yml rename to roles/generic-java/tasks/main.yml diff --git a/roles/generic-locales/README.md b/roles/generic-locales/README.md new file mode 100644 index 00000000..7debbb96 --- /dev/null +++ b/roles/generic-locales/README.md @@ -0,0 +1,26 @@ +# Locales + +This Ansible role manages the system locale configuration by deploying `locale.gen` and `locale.conf`, then generating the requested locales. + +## Description + +- Copies your `locale.gen` template to `/etc/locale.gen` +- Copies your `locale.conf` template to `/etc/locale.conf` +- Runs `locale-gen` to generate and activate configured locales + +## Overview + +1. **Template deployment** + - `locale.gen`: uncomment or specify the locales you need + - `locale.conf`: sets `LANG` and `LANGUAGE` environment variables +2. **Locale generation** + - Executes the `locale-gen` command (requires privilege escalation) +3. **Idempotency** + - Templates are only reapplied if changed + - `locale-gen` only re-runs when the template changes + +## Features + +* Full control over uncommented locales in `locale.gen` +* Simple override via templates in your role directory +* Works on any system supporting `locale-gen` \ No newline at end of file diff --git a/roles/generic-locales/meta/main.yml b/roles/generic-locales/meta/main.yml new file mode 100644 index 00000000..a832bf3a --- /dev/null +++ b/roles/generic-locales/meta/main.yml @@ -0,0 +1,18 @@ +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Configure system locales by deploying locale.gen and locale.conf and generating locales" + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + galaxy_tags: + - system + - i18n + - locales + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/roles/generic-locales" + run_after: [] +dependencies: [] diff --git a/roles/locales/tasks/main.yml b/roles/generic-locales/tasks/main.yml similarity index 100% rename from roles/locales/tasks/main.yml rename to roles/generic-locales/tasks/main.yml diff --git a/roles/locales/templates/locale.conf b/roles/generic-locales/templates/locale.conf similarity index 100% rename from roles/locales/templates/locale.conf rename to roles/generic-locales/templates/locale.conf diff --git a/roles/locales/templates/locale.gen b/roles/generic-locales/templates/locale.gen similarity index 100% rename from roles/locales/templates/locale.gen rename to roles/generic-locales/templates/locale.gen diff --git a/roles/make/README.md b/roles/generic-make/README.md similarity index 100% rename from roles/make/README.md rename to roles/generic-make/README.md diff --git a/roles/make/meta/main.yml b/roles/generic-make/meta/main.yml similarity index 100% rename from roles/make/meta/main.yml rename to roles/generic-make/meta/main.yml diff --git a/roles/make/tasks/main.yml b/roles/generic-make/tasks/main.yml similarity index 100% rename from roles/make/tasks/main.yml rename to roles/generic-make/tasks/main.yml diff --git a/roles/msmtp/README.md b/roles/generic-msmtp/README.md similarity index 100% rename from roles/msmtp/README.md rename to roles/generic-msmtp/README.md diff --git a/roles/msmtp/meta/main.yml b/roles/generic-msmtp/meta/main.yml similarity index 96% rename from roles/msmtp/meta/main.yml rename to roles/generic-msmtp/meta/main.yml index fb0e4eb3..4f09072d 100644 --- a/roles/msmtp/meta/main.yml +++ b/roles/generic-msmtp/meta/main.yml @@ -22,4 +22,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - health-msmtp + - monitor-bot-msmtp diff --git a/roles/msmtp/tasks/main.yml b/roles/generic-msmtp/tasks/main.yml similarity index 100% rename from roles/msmtp/tasks/main.yml rename to roles/generic-msmtp/tasks/main.yml diff --git a/roles/msmtp/templates/msmtprc.conf.j2 b/roles/generic-msmtp/templates/msmtprc.conf.j2 similarity index 100% rename from roles/msmtp/templates/msmtprc.conf.j2 rename to roles/generic-msmtp/templates/msmtprc.conf.j2 diff --git a/roles/nodejs/README.md b/roles/generic-nodejs/README.md similarity index 100% rename from roles/nodejs/README.md rename to roles/generic-nodejs/README.md diff --git a/roles/nodejs/meta/main.yml b/roles/generic-nodejs/meta/main.yml similarity index 100% rename from roles/nodejs/meta/main.yml rename to roles/generic-nodejs/meta/main.yml diff --git a/roles/nodejs/tasks/main.yml b/roles/generic-nodejs/tasks/main.yml similarity index 100% rename from roles/nodejs/tasks/main.yml rename to roles/generic-nodejs/tasks/main.yml diff --git a/roles/npm/README.md b/roles/generic-npm/README.md similarity index 100% rename from roles/npm/README.md rename to roles/generic-npm/README.md diff --git a/roles/npm/meta/main.yml b/roles/generic-npm/meta/main.yml similarity index 100% rename from roles/npm/meta/main.yml rename to roles/generic-npm/meta/main.yml diff --git a/roles/npm/tasks/main.yml b/roles/generic-npm/tasks/main.yml similarity index 100% rename from roles/npm/tasks/main.yml rename to roles/generic-npm/tasks/main.yml diff --git a/roles/postfix/README.md b/roles/generic-postfix/README.md similarity index 100% rename from roles/postfix/README.md rename to roles/generic-postfix/README.md diff --git a/roles/postfix/meta/main.yml b/roles/generic-postfix/meta/main.yml similarity index 100% rename from roles/postfix/meta/main.yml rename to roles/generic-postfix/meta/main.yml diff --git a/roles/postfix/tasks/main.yml b/roles/generic-postfix/tasks/main.yml similarity index 100% rename from roles/postfix/tasks/main.yml rename to roles/generic-postfix/tasks/main.yml diff --git a/roles/postfix/templates/aliases.j2 b/roles/generic-postfix/templates/aliases.j2 similarity index 100% rename from roles/postfix/templates/aliases.j2 rename to roles/generic-postfix/templates/aliases.j2 diff --git a/roles/postfix/templates/main.cf.j2 b/roles/generic-postfix/templates/main.cf.j2 similarity index 100% rename from roles/postfix/templates/main.cf.j2 rename to roles/generic-postfix/templates/main.cf.j2 diff --git a/roles/python-pip/README.md b/roles/generic-python-pip/README.md similarity index 100% rename from roles/python-pip/README.md rename to roles/generic-python-pip/README.md diff --git a/roles/python-pip/meta/main.yml b/roles/generic-python-pip/meta/main.yml similarity index 97% rename from roles/python-pip/meta/main.yml rename to roles/generic-python-pip/meta/main.yml index bf422c4a..291938f6 100644 --- a/roles/python-pip/meta/main.yml +++ b/roles/generic-python-pip/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - gcc + - generic-gcc diff --git a/roles/python-pip/tasks/main.yml b/roles/generic-python-pip/tasks/main.yml similarity index 100% rename from roles/python-pip/tasks/main.yml rename to roles/generic-python-pip/tasks/main.yml diff --git a/roles/python-yaml/README.md b/roles/generic-python-yaml/README.md similarity index 100% rename from roles/python-yaml/README.md rename to roles/generic-python-yaml/README.md diff --git a/roles/python-yaml/meta/main.yml b/roles/generic-python-yaml/meta/main.yml similarity index 100% rename from roles/python-yaml/meta/main.yml rename to roles/generic-python-yaml/meta/main.yml diff --git a/roles/python-yaml/tasks/main.yml b/roles/generic-python-yaml/tasks/main.yml similarity index 100% rename from roles/python-yaml/tasks/main.yml rename to roles/generic-python-yaml/tasks/main.yml diff --git a/roles/shell/README.md b/roles/generic-shell/README.md similarity index 100% rename from roles/shell/README.md rename to roles/generic-shell/README.md diff --git a/roles/shell/meta/main.yml b/roles/generic-shell/meta/main.yml similarity index 100% rename from roles/shell/meta/main.yml rename to roles/generic-shell/meta/main.yml diff --git a/roles/shell/tasks/main.yml b/roles/generic-shell/tasks/main.yml similarity index 100% rename from roles/shell/tasks/main.yml rename to roles/generic-shell/tasks/main.yml diff --git a/roles/systemd-timer/README.md b/roles/generic-timer/README.md similarity index 100% rename from roles/systemd-timer/README.md rename to roles/generic-timer/README.md diff --git a/roles/systemd-timer/meta/main.yml b/roles/generic-timer/meta/main.yml similarity index 100% rename from roles/systemd-timer/meta/main.yml rename to roles/generic-timer/meta/main.yml diff --git a/roles/systemd-timer/tasks/main.yml b/roles/generic-timer/tasks/main.yml similarity index 100% rename from roles/systemd-timer/tasks/main.yml rename to roles/generic-timer/tasks/main.yml diff --git a/roles/systemd-timer/templates/dummy.timer.j2 b/roles/generic-timer/templates/dummy.timer.j2 similarity index 100% rename from roles/systemd-timer/templates/dummy.timer.j2 rename to roles/generic-timer/templates/dummy.timer.j2 diff --git a/roles/heal-docker/handlers/main.yml b/roles/heal-docker/handlers/main.yml deleted file mode 100644 index 9b7ba080..00000000 --- a/roles/heal-docker/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: restart heal-docker.cymais.service - systemd: - name: heal-docker.cymais.service - state: restarted - daemon_reload: yes diff --git a/roles/heal-docker/templates/heal-docker.service.j2 b/roles/heal-docker/templates/heal-docker.service.j2 deleted file mode 100644 index b50935eb..00000000 --- a/roles/heal-docker/templates/heal-docker.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=restart unhealthy docker containers -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{system_maintenance_cleanup_services| join(' ') }} heal-docker --timeout "{{system_maintenance_lock_timeout_heal_docker}}"' -ExecStart=/bin/sh -c '/bin/python {{heal_docker}}heal-docker.py {{path_docker_compose_instances}}' \ No newline at end of file diff --git a/roles/heal-docker/vars/main.yml b/roles/heal-docker/vars/main.yml deleted file mode 100644 index 4f1d4841..00000000 --- a/roles/heal-docker/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -heal_docker: "{{path_administrator_scripts}}heal-docker/" \ No newline at end of file diff --git a/roles/health-btrfs/README.md b/roles/health-btrfs/README.md deleted file mode 100644 index 3ad04475..00000000 --- a/roles/health-btrfs/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# health-btrfs - -Sends a health report - -## see -- https://superuser.com/questions/789303/how-to-monitor-btrfs-filesystem-raid-for-errors -- https://unix.stackexchange.com/questions/193619/list-all-btrfs-filesystems-and-subvolumes-in-shell -- https://www.freedesktop.org/software/systemd/man/systemd.unit.html diff --git a/roles/health-btrfs/handlers/main.yml b/roles/health-btrfs/handlers/main.yml deleted file mode 100644 index c92f58df..00000000 --- a/roles/health-btrfs/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-btrfs.cymais.service" - systemd: - name: health-btrfs.cymais.service - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/health-btrfs/meta/main.yml b/roles/health-btrfs/meta/main.yml deleted file mode 100644 index 5c946b6c..00000000 --- a/roles/health-btrfs/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - systemd-notifier diff --git a/roles/health-btrfs/tasks/main.yml b/roles/health-btrfs/tasks/main.yml deleted file mode 100644 index fceb1e68..00000000 --- a/roles/health-btrfs/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -- name: "create {{docker_health_btrfs_folder}}" - file: - path: "{{docker_health_btrfs_folder}}" - state: directory - mode: 0755 - -- name: create health-btrfs.sh - copy: - src: health-btrfs.sh - dest: "{{docker_health_btrfs_folder}}health-btrfs.sh" - -- name: create health-btrfs.cymais.service - template: - src: health-btrfs.service.j2 - dest: /etc/systemd/system/health-btrfs.cymais.service - notify: reload health-btrfs.cymais.service - -- name: set service_name to the name of the current role - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for systemd-timer for {{service_name}}" - include_role: - name: systemd-timer - vars: - on_calendar: "{{on_calendar_health_btrfs}}" diff --git a/roles/health-btrfs/templates/health-btrfs.service.j2 b/roles/health-btrfs/templates/health-btrfs.service.j2 deleted file mode 100644 index a2c7e33b..00000000 --- a/roles/health-btrfs/templates/health-btrfs.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check btrfs status -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{docker_health_btrfs_folder}}health-btrfs.sh diff --git a/roles/health-btrfs/vars/main.yml b/roles/health-btrfs/vars/main.yml deleted file mode 100644 index a8e58764..00000000 --- a/roles/health-btrfs/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -docker_health_btrfs_folder: "{{path_administrator_scripts}}health-btrfs/" \ No newline at end of file diff --git a/roles/health-csp/handlers/main.yml b/roles/health-csp/handlers/main.yml deleted file mode 100644 index 9328aeb7..00000000 --- a/roles/health-csp/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-csp.cymais.service" - systemd: - name: health-csp.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/health-csp/vars/main.yml b/roles/health-csp/vars/main.yml deleted file mode 100644 index fce09830..00000000 --- a/roles/health-csp/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -health_csp_crawler_folder: "{{ path_administrator_scripts }}health-csp/" -health_csp_crawler_script: "{{ health_csp_crawler_folder }}health-csp.py" \ No newline at end of file diff --git a/roles/health-disc-space/README.md b/roles/health-disc-space/README.md deleted file mode 100644 index 98429e96..00000000 --- a/roles/health-disc-space/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# health-disc-space -Checks if enough disc space is free \ No newline at end of file diff --git a/roles/health-disc-space/handlers/main.yml b/roles/health-disc-space/handlers/main.yml deleted file mode 100644 index c76c3278..00000000 --- a/roles/health-disc-space/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-disc-space.cymais.service" - systemd: - name: health-disc-space.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/health-disc-space/meta/main.yml b/roles/health-disc-space/meta/main.yml deleted file mode 100644 index 5c946b6c..00000000 --- a/roles/health-disc-space/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - systemd-notifier diff --git a/roles/health-disc-space/tasks/main.yml b/roles/health-disc-space/tasks/main.yml deleted file mode 100644 index 9c5b0e20..00000000 --- a/roles/health-disc-space/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -- name: "create {{health_disc_space_folder}}" - file: - path: "{{health_disc_space_folder}}" - state: directory - mode: 0755 - -- name: create health-disc-space.sh - copy: - src: health-disc-space.sh - dest: "{{health_disc_space_folder}}health-disc-space.sh" - -- name: create health-disc-space.cymais.service - template: - src: health-disc-space.service.j2 - dest: /etc/systemd/system/health-disc-space.cymais.service - notify: reload health-disc-space.cymais.service - -- name: set service_name to the name of the current role - set_fact: - service_name: "{{ role_name }}" - -- name: "include role for systemd-timer for {{service_name}}" - include_role: - name: systemd-timer - vars: - on_calendar: "{{on_calendar_health_disc_space}}" \ No newline at end of file diff --git a/roles/health-disc-space/templates/health-disc-space.service.j2 b/roles/health-disc-space/templates/health-disc-space.service.j2 deleted file mode 100644 index aa916a69..00000000 --- a/roles/health-disc-space/templates/health-disc-space.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=checking disc space -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_disc_space_folder}}health-disc-space.sh {{size_percent_disc_space_warning}} diff --git a/roles/health-disc-space/vars/main.yml b/roles/health-disc-space/vars/main.yml deleted file mode 100644 index 32940da5..00000000 --- a/roles/health-disc-space/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_disc_space_folder: "{{path_administrator_scripts}}health-disc-space/" \ No newline at end of file diff --git a/roles/health-docker-container/handlers/main.yml b/roles/health-docker-container/handlers/main.yml deleted file mode 100644 index a4614393..00000000 --- a/roles/health-docker-container/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-docker-container.cymais.service" - systemd: - name: health-docker-container.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/health-docker-container/meta/main.yml b/roles/health-docker-container/meta/main.yml deleted file mode 100644 index 5c946b6c..00000000 --- a/roles/health-docker-container/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - systemd-notifier diff --git a/roles/health-docker-container/templates/health-docker-container.service.j2 b/roles/health-docker-container/templates/health-docker-container.service.j2 deleted file mode 100644 index 918e9954..00000000 --- a/roles/health-docker-container/templates/health-docker-container.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Checking docker health -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_docker_container_folder}}health-docker-container.sh diff --git a/roles/health-docker-container/vars/main.yml b/roles/health-docker-container/vars/main.yml deleted file mode 100644 index 8f0a5891..00000000 --- a/roles/health-docker-container/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_docker_container_folder: "{{path_administrator_scripts}}health-docker-container/" \ No newline at end of file diff --git a/roles/health-docker-volumes/handlers/main.yml b/roles/health-docker-volumes/handlers/main.yml deleted file mode 100644 index 4941c0a2..00000000 --- a/roles/health-docker-volumes/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-docker-volumes.cymais.service" - systemd: - name: health-docker-volumes.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/health-docker-volumes/meta/main.yml b/roles/health-docker-volumes/meta/main.yml deleted file mode 100644 index 5c946b6c..00000000 --- a/roles/health-docker-volumes/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - systemd-notifier diff --git a/roles/health-docker-volumes/templates/health-docker-volumes.service.j2 b/roles/health-docker-volumes/templates/health-docker-volumes.service.j2 deleted file mode 100644 index 13997f9f..00000000 --- a/roles/health-docker-volumes/templates/health-docker-volumes.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Checking docker health -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{ health_docker_volumes_folder }}health-docker-volumes.sh "{{ whitelisted_anonymous_docker_volumes | join(' ') }}" diff --git a/roles/health-docker-volumes/vars/main.yml b/roles/health-docker-volumes/vars/main.yml deleted file mode 100644 index 85cb1ffb..00000000 --- a/roles/health-docker-volumes/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_docker_volumes_folder: "{{path_administrator_scripts}}health-docker-volumes/" \ No newline at end of file diff --git a/roles/health-journalctl/README.md b/roles/health-journalctl/README.md deleted file mode 100644 index 48767cc3..00000000 --- a/roles/health-journalctl/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# health-journalctl -Checks journalctl for error messages \ No newline at end of file diff --git a/roles/health-journalctl/handlers/main.yml b/roles/health-journalctl/handlers/main.yml deleted file mode 100644 index 16a18dda..00000000 --- a/roles/health-journalctl/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-journalctl.cymais.service" - systemd: - name: health-journalctl.cymais.service - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/health-journalctl/meta/main.yml b/roles/health-journalctl/meta/main.yml deleted file mode 100644 index 5c946b6c..00000000 --- a/roles/health-journalctl/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - systemd-notifier diff --git a/roles/health-journalctl/templates/health-journalctl.service.j2 b/roles/health-journalctl/templates/health-journalctl.service.j2 deleted file mode 100644 index 315c0c92..00000000 --- a/roles/health-journalctl/templates/health-journalctl.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=checking journalctl health -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{health_journalctl_folder}}health-journalctl.sh diff --git a/roles/health-journalctl/vars/main.yml b/roles/health-journalctl/vars/main.yml deleted file mode 100644 index 559a6f4d..00000000 --- a/roles/health-journalctl/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_journalctl_folder: "{{path_administrator_scripts}}health-journalctl/" \ No newline at end of file diff --git a/roles/health-msmtp/README.md b/roles/health-msmtp/README.md deleted file mode 100644 index a75855ef..00000000 --- a/roles/health-msmtp/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# health-msmtp - -## Description - -This Ansible role sends periodic health check emails using **msmtp** to verify that your mail transport agent is operational. It deploys a simple script and hooks it into a systemd service and timer, with failure notifications sent via Telegram. - -## Overview - -Optimized for Archlinux, this role creates the required directory structure, installs and configures the health-check script, and integrates with the **systemd-notifier-telegram** role. It uses the **systemd-timer** role to schedule regular checks based on your customizable `OnCalendar` setting. - -## Purpose - -The **health-msmtp** role ensures that your mail transport system stays available by sending a test email at defined intervals. If the email fails, a Telegram alert is triggered, allowing you to detect and address issues before they impact users. - -## Features - -- **Directory & Script Deployment:** Sets up `health-msmtp/` and deploys a templated Bash script to send test emails via msmtp. -- **Systemd Service & Timer:** Provides `.service` and `.timer` units to run the check and schedule it automatically. -- **Failure Notifications:** Leverages **systemd-notifier-telegram** to push alerts when the script exits with an error. -- **Configurable Schedule:** Define your desired check frequency using the `on_calendar_health_msmtp` variable. -- **Email Destination:** Specify the recipient via the `users.administrator.email` variable. \ No newline at end of file diff --git a/roles/health-msmtp/handlers/main.yml b/roles/health-msmtp/handlers/main.yml deleted file mode 100644 index 4f80b4a1..00000000 --- a/roles/health-msmtp/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: reload health-msmtp.cymais.service - systemd: - name: health-msmtp.cymais.service - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/health-msmtp/tasks/main.yml b/roles/health-msmtp/tasks/main.yml deleted file mode 100644 index fe9ecd6a..00000000 --- a/roles/health-msmtp/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ -- name: "create {{ health_msmtp_folder }}" - file: - path: "{{ health_msmtp_folder }}" - state: directory - mode: 0755 - -- name: create health-msmtp.sh - template: - src: health-msmtp.sh.j2 - dest: "{{ health_msmtp_folder }}health-msmtp.sh" - mode: '0755' - -- name: create health-msmtp.cymais.service - template: - src: health-msmtp.service.j2 - dest: /etc/systemd/system/health-msmtp.cymais.service - notify: reload health-msmtp.cymais.service - -- name: set service_name to the name of the current role - set_fact: - service_name: "{{ role_name }}" - -- name: include role for systemd-timer for {{ service_name }} - include_role: - name: systemd-timer - vars: - on_calendar: "{{ on_calendar_health_msmtp }}" \ No newline at end of file diff --git a/roles/health-msmtp/templates/health-msmtp.service.j2 b/roles/health-msmtp/templates/health-msmtp.service.j2 deleted file mode 100644 index 0bfb9ed1..00000000 --- a/roles/health-msmtp/templates/health-msmtp.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check msmtp liveliness -OnFailure=systemd-notifier-telegram.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/bin/bash {{ health_msmtp_folder }}health-msmtp.sh diff --git a/roles/health-msmtp/vars/main.yml b/roles/health-msmtp/vars/main.yml deleted file mode 100644 index 7cefc91a..00000000 --- a/roles/health-msmtp/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_msmtp_folder: "{{ path_administrator_scripts }}health-msmtp/" \ No newline at end of file diff --git a/roles/health-nginx/README.md b/roles/health-nginx/README.md deleted file mode 100644 index e47f6ff6..00000000 --- a/roles/health-nginx/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# health-nginx - -## Overview -`health-nginx` is an Ansible role designed to send health reports for nginx configurations. It leverages Python scripting to check the status of nginx server configurations and reports back any issues. This role is especially useful for maintaining the health of nginx servers in a dynamic environment. - -## Requirements -- Ansible -- Python with the `requests` module -- Access to the nginx configuration files - -## Role Variables -- `health_nginx_folder`: The folder where the `health-nginx` script and related files are stored. Defaults to `"{{ path_administrator_scripts }}health-nginx/"`. - -## Dependencies -This role depends on: -- `python-pip`: For installing Python packages. -- `systemd-notifier`: For notifying systemd in case of any failures. - -## Example Playbook -```yaml -- hosts: servers - roles: - - { role: health-nginx } -``` - -## Usage -1. **Installation of Python Modules**: The role installs the required Python `requests` module. -2. **File and Directory Management**: It creates the necessary directories and files, including the `health-nginx.py` script. -3. **Service and Timer Templates**: Templates for `health-nginx.cymais.service` and `health-nginx.cymais.timer` are set up to automate the health checks. -4. **Running the Health Check**: The `health-nginx.py` script is executed to perform the health check. It iterates over nginx configuration files and sends a HEAD request to each domain/subdomain to verify its status. The script considers different expected status codes based on the domain or subdomain. - -## Handler Details -- **reload health-nginx.cymais.service**: Reloads the `health-nginx.cymais.service` if there are any changes to the service file. -- **restart health-nginx.cymais.timer**: Restarts and enables the `health-nginx.cymais.timer` to schedule regular health checks. - -## Additional Information -- For more details on nginx configurations, visit [nginx documentation](https://nginx.org/en/docs/). -- Learn more about Ansible's `uri_module` [here](https://docs.ansible.com/ansible/latest/modules/uri_module.html). - -## Contributions -This role was created with the assistance of ChatGPT. The conversation can be found [here](https://chat.openai.com/share/4033be29-12a6-40a3-bf3c-fc5d57dba8cb) and [here](https://chat.openai.com/share/7f3766d1-9db7-4976-8fe9-68d1142c0a78). \ No newline at end of file diff --git a/roles/health-nginx/handlers/main.yml b/roles/health-nginx/handlers/main.yml deleted file mode 100644 index c553d5b1..00000000 --- a/roles/health-nginx/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload health-nginx.cymais.service" - systemd: - name: health-nginx.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/health-nginx/meta/main.yml b/roles/health-nginx/meta/main.yml deleted file mode 100644 index 89688f81..00000000 --- a/roles/health-nginx/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: - - python-pip - - systemd-notifier diff --git a/roles/health-nginx/templates/health-nginx.service.j2 b/roles/health-nginx/templates/health-nginx.service.j2 deleted file mode 100644 index d03e986d..00000000 --- a/roles/health-nginx/templates/health-nginx.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Check nginx configuration status -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/usr/bin/python3 {{ health_nginx_folder }}health-nginx.py diff --git a/roles/health-nginx/vars/main.yml b/roles/health-nginx/vars/main.yml deleted file mode 100644 index 8b4c5140..00000000 --- a/roles/health-nginx/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -health_nginx_folder: "{{ path_administrator_scripts }}health-nginx/" diff --git a/roles/journalctl/README.md b/roles/journalctl/README.md deleted file mode 100644 index fb610db3..00000000 --- a/roles/journalctl/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# role journalctl - -# live monitoring - -```bash - 'journalctl -f' -``` diff --git a/roles/journalctl/meta/main.yml b/roles/journalctl/meta/main.yml deleted file mode 100644 index 7d52faa1..00000000 --- a/roles/journalctl/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - health-journalctl diff --git a/roles/system-btrfs-auto-balancer/README.md b/roles/maintenance-btrfs-auto-balancer/README.md similarity index 94% rename from roles/system-btrfs-auto-balancer/README.md rename to roles/maintenance-btrfs-auto-balancer/README.md index 433b97cf..5162d988 100644 --- a/roles/system-btrfs-auto-balancer/README.md +++ b/roles/maintenance-btrfs-auto-balancer/README.md @@ -21,4 +21,4 @@ The primary purpose of this role is to maintain optimal performance of Btrfs fil - **Repository Cloning:** Automatically fetches the latest auto-btrfs-balancer repository. - **Service Configuration:** Sets up a systemd service for running the balancing script. - **Timer Integration:** Schedules the balancing process via a systemd timer. -- **Error Notification:** Notifies on failure using systemd-notifier. +- **Error Notification:** Notifies on failure using alert-core. diff --git a/roles/maintenance-btrfs-auto-balancer/handlers/main.yml b/roles/maintenance-btrfs-auto-balancer/handlers/main.yml new file mode 100644 index 00000000..11b595c9 --- /dev/null +++ b/roles/maintenance-btrfs-auto-balancer/handlers/main.yml @@ -0,0 +1,4 @@ +- name: "reload maintenance-btrfs-auto-balancer.cymais.service" + systemd: + name: maintenance-btrfs-auto-balancer.cymais.service + daemon_reload: yes \ No newline at end of file diff --git a/roles/system-btrfs-auto-balancer/meta/main.yml b/roles/maintenance-btrfs-auto-balancer/meta/main.yml similarity index 97% rename from roles/system-btrfs-auto-balancer/meta/main.yml rename to roles/maintenance-btrfs-auto-balancer/meta/main.yml index fdacb399..faba1140 100644 --- a/roles/system-btrfs-auto-balancer/meta/main.yml +++ b/roles/maintenance-btrfs-auto-balancer/meta/main.yml @@ -22,4 +22,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier + - alert-core diff --git a/roles/system-btrfs-auto-balancer/tasks/main.yml b/roles/maintenance-btrfs-auto-balancer/tasks/main.yml similarity index 67% rename from roles/system-btrfs-auto-balancer/tasks/main.yml rename to roles/maintenance-btrfs-auto-balancer/tasks/main.yml index cb5a1e6e..2ca19105 100644 --- a/roles/system-btrfs-auto-balancer/tasks/main.yml +++ b/roles/maintenance-btrfs-auto-balancer/tasks/main.yml @@ -5,11 +5,11 @@ package_name: btrfs-auto-balancer when: run_once_system_btrfs_auto_balancer is not defined -- name: configure system-btrfs-auto-balancer.cymais.service +- name: configure maintenance-btrfs-auto-balancer.cymais.service template: - src: system-btrfs-auto-balancer.service.j2 - dest: /etc/systemd/system/system-btrfs-auto-balancer.cymais.service - notify: reload system-btrfs-auto-balancer.cymais.service + src: maintenance-btrfs-auto-balancer.service.j2 + dest: /etc/systemd/system/maintenance-btrfs-auto-balancer.cymais.service + notify: reload maintenance-btrfs-auto-balancer.cymais.service when: run_once_system_btrfs_auto_balancer is not defined - name: set service_name to the name of the current role @@ -17,9 +17,9 @@ service_name: "{{ role_name }}" when: run_once_system_btrfs_auto_balancer is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_btrfs_auto_balancer}}" when: run_once_system_btrfs_auto_balancer is not defined diff --git a/roles/system-btrfs-auto-balancer/templates/system-btrfs-auto-balancer.service.j2 b/roles/maintenance-btrfs-auto-balancer/templates/maintenance-btrfs-auto-balancer.service.j2 similarity index 70% rename from roles/system-btrfs-auto-balancer/templates/system-btrfs-auto-balancer.service.j2 rename to roles/maintenance-btrfs-auto-balancer/templates/maintenance-btrfs-auto-balancer.service.j2 index a5a78e29..daf7e19d 100644 --- a/roles/system-btrfs-auto-balancer/templates/system-btrfs-auto-balancer.service.j2 +++ b/roles/maintenance-btrfs-auto-balancer/templates/maintenance-btrfs-auto-balancer.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=auto balance btrfs -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/system-btrfs-auto-balancer/vars/main.yml b/roles/maintenance-btrfs-auto-balancer/vars/main.yml similarity index 100% rename from roles/system-btrfs-auto-balancer/vars/main.yml rename to roles/maintenance-btrfs-auto-balancer/vars/main.yml diff --git a/roles/heal-docker/README.md b/roles/maintenance-docker-heal/README.md similarity index 100% rename from roles/heal-docker/README.md rename to roles/maintenance-docker-heal/README.md diff --git a/roles/heal-docker/files/heal-docker.py b/roles/maintenance-docker-heal/files/maintenance-docker-heal.py similarity index 100% rename from roles/heal-docker/files/heal-docker.py rename to roles/maintenance-docker-heal/files/maintenance-docker-heal.py diff --git a/roles/maintenance-docker-heal/handlers/main.yml b/roles/maintenance-docker-heal/handlers/main.yml new file mode 100644 index 00000000..322c4e06 --- /dev/null +++ b/roles/maintenance-docker-heal/handlers/main.yml @@ -0,0 +1,5 @@ +- name: restart maintenance-docker-heal.cymais.service + systemd: + name: maintenance-docker-heal.cymais.service + state: restarted + daemon_reload: yes diff --git a/roles/heal-docker/meta/main.yml b/roles/maintenance-docker-heal/meta/main.yml similarity index 96% rename from roles/heal-docker/meta/main.yml rename to roles/maintenance-docker-heal/meta/main.yml index a354a197..5703a745 100644 --- a/roles/heal-docker/meta/main.yml +++ b/roles/maintenance-docker-heal/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - system-maintenance-lock \ No newline at end of file + - maintenance-lock \ No newline at end of file diff --git a/roles/heal-docker/tasks/main.yml b/roles/maintenance-docker-heal/tasks/main.yml similarity index 56% rename from roles/heal-docker/tasks/main.yml rename to roles/maintenance-docker-heal/tasks/main.yml index e9522d9b..7b2c4abf 100644 --- a/roles/heal-docker/tasks/main.yml +++ b/roles/maintenance-docker-heal/tasks/main.yml @@ -5,18 +5,18 @@ mode: 0755 when: run_once_heal_docker is not defined -- name: create heal-docker.py +- name: create maintenance-docker-heal.py copy: - src: heal-docker.py - dest: "{{heal_docker}}heal-docker.py" - notify: restart heal-docker.cymais.service + src: maintenance-docker-heal.py + dest: "{{heal_docker}}maintenance-docker-heal.py" + notify: restart maintenance-docker-heal.cymais.service when: run_once_heal_docker is not defined -- name: create heal-docker.cymais.service +- name: create maintenance-docker-heal.cymais.service template: - src: heal-docker.service.j2 - dest: /etc/systemd/system/heal-docker.cymais.service - notify: restart heal-docker.cymais.service + src: maintenance-docker-heal.service.j2 + dest: /etc/systemd/system/maintenance-docker-heal.cymais.service + notify: restart maintenance-docker-heal.cymais.service when: run_once_heal_docker is not defined - name: set service_name to the name of the current role @@ -24,9 +24,9 @@ service_name: "{{ role_name }}" when: run_once_heal_docker is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_heal_docker}}" when: run_once_heal_docker is not defined diff --git a/roles/maintenance-docker-heal/templates/maintenance-docker-heal.service.j2 b/roles/maintenance-docker-heal/templates/maintenance-docker-heal.service.j2 new file mode 100644 index 00000000..6e7db439 --- /dev/null +++ b/roles/maintenance-docker-heal/templates/maintenance-docker-heal.service.j2 @@ -0,0 +1,8 @@ +[Unit] +Description=restart unhealthy docker containers +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{system_maintenance_cleanup_services| join(' ') }} maintenance-docker-heal --timeout "{{system_maintenance_lock_timeout_heal_docker}}"' +ExecStart=/bin/sh -c '/bin/python {{heal_docker}}maintenance-docker-heal.py {{path_docker_compose_instances}}' \ No newline at end of file diff --git a/roles/maintenance-docker-heal/vars/main.yml b/roles/maintenance-docker-heal/vars/main.yml new file mode 100644 index 00000000..f6ed3cdb --- /dev/null +++ b/roles/maintenance-docker-heal/vars/main.yml @@ -0,0 +1 @@ +heal_docker: "{{path_administrator_scripts}}maintenance-docker-heal/" \ No newline at end of file diff --git a/roles/restart-docker/README.md b/roles/maintenance-docker-restart/README.md similarity index 100% rename from roles/restart-docker/README.md rename to roles/maintenance-docker-restart/README.md diff --git a/roles/restart-docker/files/restart-docker.py b/roles/maintenance-docker-restart/files/maintenance-docker-restart.py similarity index 100% rename from roles/restart-docker/files/restart-docker.py rename to roles/maintenance-docker-restart/files/maintenance-docker-restart.py diff --git a/roles/maintenance-docker-restart/handlers/main.yml b/roles/maintenance-docker-restart/handlers/main.yml new file mode 100644 index 00000000..0eb30235 --- /dev/null +++ b/roles/maintenance-docker-restart/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload maintenance-docker-restart.cymais.service" + systemd: + name: maintenance-docker-restart.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/restart-docker/meta/main.yml b/roles/maintenance-docker-restart/meta/main.yml similarity index 96% rename from roles/restart-docker/meta/main.yml rename to roles/maintenance-docker-restart/meta/main.yml index d33da390..bc4e374f 100644 --- a/roles/restart-docker/meta/main.yml +++ b/roles/maintenance-docker-restart/meta/main.yml @@ -26,4 +26,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - system-maintenance-lock \ No newline at end of file + - maintenance-lock \ No newline at end of file diff --git a/roles/restart-docker/tasks/main.yml b/roles/maintenance-docker-restart/tasks/main.yml similarity index 61% rename from roles/restart-docker/tasks/main.yml rename to roles/maintenance-docker-restart/tasks/main.yml index 64cc4b91..4213cd10 100644 --- a/roles/restart-docker/tasks/main.yml +++ b/roles/maintenance-docker-restart/tasks/main.yml @@ -7,22 +7,22 @@ - name: create {{restart_docker_script}} copy: - src: restart-docker.py + src: maintenance-docker-restart.py dest: "{{restart_docker_script}}" - - name: configure restart-docker.cymais.service + - name: configure maintenance-docker-restart.cymais.service template: - src: restart-docker.service.j2 - dest: /etc/systemd/system/restart-docker.cymais.service - notify: "reload restart-docker.cymais.service" + src: maintenance-docker-restart.service.j2 + dest: /etc/systemd/system/maintenance-docker-restart.cymais.service + notify: "reload maintenance-docker-restart.cymais.service" - name: set service_name to the name of the current role set_fact: service_name: "{{ role_name }}" - - name: "include role for systemd-timer for {{service_name}}" + - name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_restart_docker}}" diff --git a/roles/restart-docker/templates/restart-docker.service.j2 b/roles/maintenance-docker-restart/templates/maintenance-docker-restart.service.j2 similarity index 61% rename from roles/restart-docker/templates/restart-docker.service.j2 rename to roles/maintenance-docker-restart/templates/maintenance-docker-restart.service.j2 index 67adc667..e4a0148d 100644 --- a/roles/restart-docker/templates/restart-docker.service.j2 +++ b/roles/maintenance-docker-restart/templates/maintenance-docker-restart.service.j2 @@ -1,8 +1,8 @@ [Unit] Description=Restart Docker Instances -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{system_maintenance_cleanup_services | join(' ') }} restart-docker --timeout "{{system_maintenance_lock_timeout_restart_docker}}"' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore {{system_maintenance_cleanup_services | join(' ') }} maintenance-docker-restart --timeout "{{system_maintenance_lock_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/maintenance-docker-restart/vars/main.yml b/roles/maintenance-docker-restart/vars/main.yml new file mode 100644 index 00000000..87a28a19 --- /dev/null +++ b/roles/maintenance-docker-restart/vars/main.yml @@ -0,0 +1,2 @@ +restart_docker_folder: "{{path_administrator_scripts}}maintenance-docker-restart/" +restart_docker_script: "{{restart_docker_folder}}maintenance-docker-restart.py" \ No newline at end of file diff --git a/roles/system-storage-optimizer/README.md b/roles/maintenance-docker-storage-optimizer/README.md similarity index 97% rename from roles/system-storage-optimizer/README.md rename to roles/maintenance-docker-storage-optimizer/README.md index 033d9d35..c6efc2c8 100644 --- a/roles/system-storage-optimizer/README.md +++ b/roles/maintenance-docker-storage-optimizer/README.md @@ -1,4 +1,4 @@ -# System Storage Optimizer Role +# Storage Optimizer ## Description diff --git a/roles/docker-ldap/__init__.py b/roles/maintenance-docker-storage-optimizer/files/__init__.py similarity index 100% rename from roles/docker-ldap/__init__.py rename to roles/maintenance-docker-storage-optimizer/files/__init__.py diff --git a/roles/system-storage-optimizer/files/system-storage-optimizer.py b/roles/maintenance-docker-storage-optimizer/files/maintenance-docker-storage-optimizer.py similarity index 100% rename from roles/system-storage-optimizer/files/system-storage-optimizer.py rename to roles/maintenance-docker-storage-optimizer/files/maintenance-docker-storage-optimizer.py diff --git a/roles/maintenance-docker-storage-optimizer/handlers/main.yml b/roles/maintenance-docker-storage-optimizer/handlers/main.yml new file mode 100644 index 00000000..0e60bf79 --- /dev/null +++ b/roles/maintenance-docker-storage-optimizer/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload maintenance-docker-storage-optimizer.cymais.service" + systemd: + name: maintenance-docker-storage-optimizer.cymais.service + state: reloaded + daemon_reload: yes diff --git a/roles/system-storage-optimizer/meta/main.yml b/roles/maintenance-docker-storage-optimizer/meta/main.yml similarity index 100% rename from roles/system-storage-optimizer/meta/main.yml rename to roles/maintenance-docker-storage-optimizer/meta/main.yml diff --git a/roles/maintenance-docker-storage-optimizer/tasks/main.yml b/roles/maintenance-docker-storage-optimizer/tasks/main.yml new file mode 100644 index 00000000..a58ba1de --- /dev/null +++ b/roles/maintenance-docker-storage-optimizer/tasks/main.yml @@ -0,0 +1,22 @@ +- name: "create {{storage_optimizer_directory}}" + file: + path: "{{storage_optimizer_directory}}" + state: directory + mode: 0755 + +- name: create maintenance-docker-storage-optimizer.cymais.service + template: + src: maintenance-docker-storage-optimizer.service.j2 + dest: /etc/systemd/system/maintenance-docker-storage-optimizer.cymais.service + notify: reload maintenance-docker-storage-optimizer.cymais.service + +- name: create maintenance-docker-storage-optimizer.py + copy: + src: maintenance-docker-storage-optimizer.py + dest: "{{storage_optimizer_script}}" + mode: 0755 + +- name: "optimize storage performance" + systemd: + name: maintenance-docker-storage-optimizer.cymais.service + state: started \ No newline at end of file diff --git a/roles/system-storage-optimizer/templates/system-storage-optimizer.service.j2 b/roles/maintenance-docker-storage-optimizer/templates/maintenance-docker-storage-optimizer.service.j2 similarity index 55% rename from roles/system-storage-optimizer/templates/system-storage-optimizer.service.j2 rename to roles/maintenance-docker-storage-optimizer/templates/maintenance-docker-storage-optimizer.service.j2 index df7c6744..d22d17cf 100644 --- a/roles/system-storage-optimizer/templates/system-storage-optimizer.service.j2 +++ b/roles/maintenance-docker-storage-optimizer/templates/maintenance-docker-storage-optimizer.service.j2 @@ -1,8 +1,8 @@ [Unit] Description=Optimize storage paths -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ path_system_lock_script }} {{ system_maintenance_services | join(' ') }} --ignore system-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 maintenance-docker-storage-optimizer backup-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/maintenance-docker-storage-optimizer/vars/main.yml b/roles/maintenance-docker-storage-optimizer/vars/main.yml new file mode 100644 index 00000000..c4a8869b --- /dev/null +++ b/roles/maintenance-docker-storage-optimizer/vars/main.yml @@ -0,0 +1,2 @@ +storage_optimizer_directory: "{{path_administrator_scripts}}maintenance-docker-storage-optimizer/" +storage_optimizer_script: "{{storage_optimizer_directory}}maintenance-docker-storage-optimizer.py" \ No newline at end of file diff --git a/roles/system-maintenance-lock/README.md b/roles/maintenance-lock/README.md similarity index 100% rename from roles/system-maintenance-lock/README.md rename to roles/maintenance-lock/README.md diff --git a/roles/system-maintenance-lock/files/system-maintenance-lock.py b/roles/maintenance-lock/files/maintenance-lock.py similarity index 100% rename from roles/system-maintenance-lock/files/system-maintenance-lock.py rename to roles/maintenance-lock/files/maintenance-lock.py diff --git a/roles/system-maintenance-lock/meta/main.yml b/roles/maintenance-lock/meta/main.yml similarity index 100% rename from roles/system-maintenance-lock/meta/main.yml rename to roles/maintenance-lock/meta/main.yml diff --git a/roles/system-maintenance-lock/tasks/main.yml b/roles/maintenance-lock/tasks/main.yml similarity index 90% rename from roles/system-maintenance-lock/tasks/main.yml rename to roles/maintenance-lock/tasks/main.yml index 43b73166..9ffde1f6 100644 --- a/roles/system-maintenance-lock/tasks/main.yml +++ b/roles/maintenance-lock/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: create {{path_system_lock_script}} copy: - src: system-maintenance-lock.py + src: maintenance-lock.py dest: "{{path_system_lock_script}}" when: run_once_system_maintenance_lock is not defined diff --git a/roles/system-swapfile/README.md b/roles/maintenance-swapfile/README.md similarity index 100% rename from roles/system-swapfile/README.md rename to roles/maintenance-swapfile/README.md diff --git a/roles/system-swapfile/tasks/main.yml b/roles/maintenance-swapfile/tasks/main.yml similarity index 100% rename from roles/system-swapfile/tasks/main.yml rename to roles/maintenance-swapfile/tasks/main.yml diff --git a/roles/monitor-bot-btrfs/README.md b/roles/monitor-bot-btrfs/README.md new file mode 100644 index 00000000..2103f0da --- /dev/null +++ b/roles/monitor-bot-btrfs/README.md @@ -0,0 +1,16 @@ +# monitor-bot-btrfs + +## Description +Checks the health of all mounted Btrfs filesystems by inspecting device error counters. + +## Features +- Iterates over every Btrfs filesystem. +- Runs `btrfs device stats` and alerts if any error counters are non-zero. +- Hooks into systemd and a timer for regular checks. +- On failure, calls `alert-core.cymais@…` for notification. + +## Usage +Just include this role in your playbook; it will: +1. Deploy a small shell script under `{{ path_administrator_scripts }}/monitor-bot-btrfs/`. +2. Install a `.service` and `.timer` unit. +3. Send alerts via `alert-core` if any filesystem shows errors. diff --git a/roles/health-btrfs/files/health-btrfs.sh b/roles/monitor-bot-btrfs/files/monitor-bot-btrfs.sh similarity index 100% rename from roles/health-btrfs/files/health-btrfs.sh rename to roles/monitor-bot-btrfs/files/monitor-bot-btrfs.sh diff --git a/roles/monitor-bot-btrfs/handlers/main.yml b/roles/monitor-bot-btrfs/handlers/main.yml new file mode 100644 index 00000000..d87ace57 --- /dev/null +++ b/roles/monitor-bot-btrfs/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-btrfs.cymais.service" + systemd: + name: monitor-bot-btrfs.cymais.service + enabled: yes + daemon_reload: yes \ No newline at end of file diff --git a/roles/monitor-bot-btrfs/meta/main.yml b/roles/monitor-bot-btrfs/meta/main.yml new file mode 100644 index 00000000..f6dddd8b --- /dev/null +++ b/roles/monitor-bot-btrfs/meta/main.yml @@ -0,0 +1,24 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Health-check for Btrfs filesystems, alerts on any device error counters." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - btrfs + - health + - systemd + - filesystem + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - alert-core diff --git a/roles/monitor-bot-btrfs/tasks/main.yml b/roles/monitor-bot-btrfs/tasks/main.yml new file mode 100644 index 00000000..12131981 --- /dev/null +++ b/roles/monitor-bot-btrfs/tasks/main.yml @@ -0,0 +1,26 @@ +- name: "create {{docker_health_btrfs_folder}}" + file: + path: "{{docker_health_btrfs_folder}}" + state: directory + mode: 0755 + +- name: create monitor-bot-btrfs.sh + copy: + src: monitor-bot-btrfs.sh + dest: "{{docker_health_btrfs_folder}}monitor-bot-btrfs.sh" + +- name: create monitor-bot-btrfs.cymais.service + template: + src: monitor-bot-btrfs.service.j2 + dest: /etc/systemd/system/monitor-bot-btrfs.cymais.service + notify: reload monitor-bot-btrfs.cymais.service + +- name: set service_name to the name of the current role + set_fact: + service_name: "{{ role_name }}" + +- name: "include role for generic-timer for {{service_name}}" + include_role: + name: generic-timer + vars: + on_calendar: "{{on_calendar_health_btrfs}}" diff --git a/roles/monitor-bot-btrfs/templates/monitor-bot-btrfs.service.j2 b/roles/monitor-bot-btrfs/templates/monitor-bot-btrfs.service.j2 new file mode 100644 index 00000000..ed0cc5b9 --- /dev/null +++ b/roles/monitor-bot-btrfs/templates/monitor-bot-btrfs.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Check btrfs status +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{docker_health_btrfs_folder}}monitor-bot-btrfs.sh diff --git a/roles/monitor-bot-btrfs/vars/main.yml b/roles/monitor-bot-btrfs/vars/main.yml new file mode 100644 index 00000000..8949f13f --- /dev/null +++ b/roles/monitor-bot-btrfs/vars/main.yml @@ -0,0 +1 @@ +docker_health_btrfs_folder: "{{path_administrator_scripts}}monitor-bot-btrfs/" \ No newline at end of file diff --git a/roles/health-csp/README.md b/roles/monitor-bot-csp/README.md similarity index 92% rename from roles/health-csp/README.md rename to roles/monitor-bot-csp/README.md index cb2989ba..f9c3ae85 100644 --- a/roles/health-csp/README.md +++ b/roles/monitor-bot-csp/README.md @@ -13,7 +13,7 @@ Designed for Archlinux systems, this role periodically checks whether web resour - **CSP Resource Validation:** Uses Puppeteer to simulate browser requests and detect blocked resources. - **Domain Extraction:** Parses all `.conf` files in the NGINX config folder to determine the list of domains to check. - **Automated Execution:** Registers a systemd service and timer for recurring health checks. -- **Error Notification:** Integrates with `systemd-notifier` for alerting on failure. +- **Error Notification:** Integrates with `alert-core` for alerting on failure. ## License diff --git a/roles/health-csp/files/health-csp.py b/roles/monitor-bot-csp/files/monitor-bot-csp.py similarity index 100% rename from roles/health-csp/files/health-csp.py rename to roles/monitor-bot-csp/files/monitor-bot-csp.py diff --git a/roles/monitor-bot-csp/handlers/main.yml b/roles/monitor-bot-csp/handlers/main.yml new file mode 100644 index 00000000..faf160c6 --- /dev/null +++ b/roles/monitor-bot-csp/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-csp.cymais.service" + systemd: + name: monitor-bot-csp.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/health-csp/meta/main.yml b/roles/monitor-bot-csp/meta/main.yml similarity index 97% rename from roles/health-csp/meta/main.yml rename to roles/monitor-bot-csp/meta/main.yml index 21bb1ce9..65a6bda6 100644 --- a/roles/health-csp/meta/main.yml +++ b/roles/monitor-bot-csp/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier \ No newline at end of file + - alert-core \ No newline at end of file diff --git a/roles/health-csp/tasks/main.yml b/roles/monitor-bot-csp/tasks/main.yml similarity index 78% rename from roles/health-csp/tasks/main.yml rename to roles/monitor-bot-csp/tasks/main.yml index b35dc4f6..cb64d20d 100644 --- a/roles/health-csp/tasks/main.yml +++ b/roles/monitor-bot-csp/tasks/main.yml @@ -16,18 +16,18 @@ mode: 0755 when: run_once_health_csp is not defined -- name: copy health-csp.py +- name: copy monitor-bot-csp.py copy: - src: health-csp.py + src: monitor-bot-csp.py dest: "{{ health_csp_crawler_script }}" mode: 0755 when: run_once_health_csp is not defined -- name: create health-csp.cymais.service +- name: create monitor-bot-csp.cymais.service template: - src: health-csp.service.j2 - dest: /etc/systemd/system/health-csp.cymais.service - notify: reload health-csp.cymais.service + src: monitor-bot-csp.service.j2 + dest: /etc/systemd/system/monitor-bot-csp.cymais.service + notify: reload monitor-bot-csp.cymais.service when: run_once_health_csp is not defined - name: set service_name to role_name @@ -37,7 +37,7 @@ - name: include systemd timer role include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{ on_calendar_health_csp_crawler }}" when: run_once_health_csp is not defined diff --git a/roles/health-csp/templates/health-csp.service.j2 b/roles/monitor-bot-csp/templates/monitor-bot-csp.service.j2 similarity index 82% rename from roles/health-csp/templates/health-csp.service.j2 rename to roles/monitor-bot-csp/templates/monitor-bot-csp.service.j2 index 391c7584..b3fa553b 100644 --- a/roles/health-csp/templates/health-csp.service.j2 +++ b/roles/monitor-bot-csp/templates/monitor-bot-csp.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Check for CSP-blocked resources via Puppeteer -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/monitor-bot-csp/vars/main.yml b/roles/monitor-bot-csp/vars/main.yml new file mode 100644 index 00000000..e74d13b7 --- /dev/null +++ b/roles/monitor-bot-csp/vars/main.yml @@ -0,0 +1,2 @@ +health_csp_crawler_folder: "{{ path_administrator_scripts }}monitor-bot-csp/" +health_csp_crawler_script: "{{ health_csp_crawler_folder }}monitor-bot-csp.py" \ No newline at end of file diff --git a/roles/monitor-bot-disc-space/README.md b/roles/monitor-bot-disc-space/README.md new file mode 100644 index 00000000..2b5eb7e5 --- /dev/null +++ b/roles/monitor-bot-disc-space/README.md @@ -0,0 +1,10 @@ +# monitor-bot-disc-space + +## Description +Monitors disk-space usage and alerts if any filesystem usage exceeds your defined threshold. + +## Features +- Uses `df` to gather current usage. +- Compares against `size_percent_disc_space_warning` threshold. +- Sends failure alerts via `alert-core`. +- Runs on a configurable systemd timer. diff --git a/roles/health-disc-space/files/health-disc-space.sh b/roles/monitor-bot-disc-space/files/monitor-bot-disc-space.sh similarity index 100% rename from roles/health-disc-space/files/health-disc-space.sh rename to roles/monitor-bot-disc-space/files/monitor-bot-disc-space.sh diff --git a/roles/monitor-bot-disc-space/handlers/main.yml b/roles/monitor-bot-disc-space/handlers/main.yml new file mode 100644 index 00000000..a9817147 --- /dev/null +++ b/roles/monitor-bot-disc-space/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-disc-space.cymais.service" + systemd: + name: monitor-bot-disc-space.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/monitor-bot-disc-space/meta/main.yml b/roles/monitor-bot-disc-space/meta/main.yml new file mode 100644 index 00000000..87aa316c --- /dev/null +++ b/roles/monitor-bot-disc-space/meta/main.yml @@ -0,0 +1,24 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Disk-space usage monitor; alerts when usage exceeds threshold." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - disk + - space + - health + - systemd + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - alert-core diff --git a/roles/monitor-bot-disc-space/tasks/main.yml b/roles/monitor-bot-disc-space/tasks/main.yml new file mode 100644 index 00000000..c534e15e --- /dev/null +++ b/roles/monitor-bot-disc-space/tasks/main.yml @@ -0,0 +1,26 @@ +- name: "create {{health_disc_space_folder}}" + file: + path: "{{health_disc_space_folder}}" + state: directory + mode: 0755 + +- name: create monitor-bot-disc-space.sh + copy: + src: monitor-bot-disc-space.sh + dest: "{{health_disc_space_folder}}monitor-bot-disc-space.sh" + +- name: create monitor-bot-disc-space.cymais.service + template: + src: monitor-bot-disc-space.service.j2 + dest: /etc/systemd/system/monitor-bot-disc-space.cymais.service + notify: reload monitor-bot-disc-space.cymais.service + +- name: set service_name to the name of the current role + set_fact: + service_name: "{{ role_name }}" + +- name: "include role for generic-timer for {{service_name}}" + include_role: + name: generic-timer + vars: + on_calendar: "{{on_calendar_health_disc_space}}" \ No newline at end of file diff --git a/roles/monitor-bot-disc-space/templates/monitor-bot-disc-space.service.j2 b/roles/monitor-bot-disc-space/templates/monitor-bot-disc-space.service.j2 new file mode 100644 index 00000000..47336e01 --- /dev/null +++ b/roles/monitor-bot-disc-space/templates/monitor-bot-disc-space.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=checking disc space +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{health_disc_space_folder}}monitor-bot-disc-space.sh {{size_percent_disc_space_warning}} diff --git a/roles/monitor-bot-disc-space/vars/main.yml b/roles/monitor-bot-disc-space/vars/main.yml new file mode 100644 index 00000000..882f6525 --- /dev/null +++ b/roles/monitor-bot-disc-space/vars/main.yml @@ -0,0 +1 @@ +health_disc_space_folder: "{{path_administrator_scripts}}monitor-bot-disc-space/" \ No newline at end of file diff --git a/roles/health-docker-container/README.md b/roles/monitor-bot-docker-container/README.md similarity index 70% rename from roles/health-docker-container/README.md rename to roles/monitor-bot-docker-container/README.md index fb11ce48..ae59c05f 100644 --- a/roles/health-docker-container/README.md +++ b/roles/monitor-bot-docker-container/README.md @@ -8,14 +8,14 @@ This Ansible role is designed to ensure the health of Docker containers running - `vars/main.yml`: Variable definitions for the script's directory. - `handlers/main.yml`: Handlers to reload and restart the systemd service and timer. -- `files/health-docker-container.sh`: The script that checks the container health. +- `files/monitor-bot-docker-container.sh`: The script that checks the container health. - `tasks/main.yml`: Tasks to create necessary directories, copy scripts, and create systemd service and timer. -- `templates/health-docker-container.cymais.service.j2`: Systemd service template. -- `templates/health-docker-container.cymais.timer.j2`: Systemd timer template. +- `templates/monitor-bot-docker-container.cymais.service.j2`: Systemd service template. +- `templates/monitor-bot-docker-container.cymais.timer.j2`: Systemd timer template. - `meta/main.yml`: Meta information declaring dependencies for the role. ## Usage To use this role, include it in your playbook and set the `path_administrator_scripts` variable to the desired path for the health check scripts. -Ensure that the `systemd-notifier` dependency is satisfied for error notifications. \ No newline at end of file +Ensure that the `alert-core` dependency is satisfied for error notifications. \ No newline at end of file diff --git a/roles/health-docker-container/files/health-docker-container.sh b/roles/monitor-bot-docker-container/files/monitor-bot-docker-container.sh similarity index 100% rename from roles/health-docker-container/files/health-docker-container.sh rename to roles/monitor-bot-docker-container/files/monitor-bot-docker-container.sh diff --git a/roles/monitor-bot-docker-container/handlers/main.yml b/roles/monitor-bot-docker-container/handlers/main.yml new file mode 100644 index 00000000..5f27c7e2 --- /dev/null +++ b/roles/monitor-bot-docker-container/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-docker-container.cymais.service" + systemd: + name: monitor-bot-docker-container.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/monitor-bot-docker-container/meta/main.yml b/roles/monitor-bot-docker-container/meta/main.yml new file mode 100644 index 00000000..97d55276 --- /dev/null +++ b/roles/monitor-bot-docker-container/meta/main.yml @@ -0,0 +1,24 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Checks Docker containers for unhealthy or exited states and alerts on any issues." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - docker + - containers + - health + - systemd + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - alert-core diff --git a/roles/health-docker-container/tasks/main.yml b/roles/monitor-bot-docker-container/tasks/main.yml similarity index 61% rename from roles/health-docker-container/tasks/main.yml rename to roles/monitor-bot-docker-container/tasks/main.yml index f4401da2..bfa2a6dc 100644 --- a/roles/health-docker-container/tasks/main.yml +++ b/roles/monitor-bot-docker-container/tasks/main.yml @@ -5,17 +5,17 @@ mode: 0755 when: run_once_health_docker_container is not defined -- name: create health-docker-container.sh +- name: create monitor-bot-docker-container.sh copy: - src: health-docker-container.sh - dest: "{{health_docker_container_folder}}health-docker-container.sh" + src: monitor-bot-docker-container.sh + dest: "{{health_docker_container_folder}}monitor-bot-docker-container.sh" when: run_once_health_docker_container is not defined -- name: create health-docker-container.cymais.service +- name: create monitor-bot-docker-container.cymais.service template: - src: health-docker-container.service.j2 - dest: /etc/systemd/system/health-docker-container.cymais.service - notify: reload health-docker-container.cymais.service + src: monitor-bot-docker-container.service.j2 + dest: /etc/systemd/system/monitor-bot-docker-container.cymais.service + notify: reload monitor-bot-docker-container.cymais.service when: run_once_health_docker_container is not defined - name: set service_name to the name of the current role @@ -23,9 +23,9 @@ service_name: "{{ role_name }}" when: run_once_health_docker_container is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_health_docker_container}}" when: run_once_health_docker_container is not defined diff --git a/roles/monitor-bot-docker-container/templates/monitor-bot-docker-container.service.j2 b/roles/monitor-bot-docker-container/templates/monitor-bot-docker-container.service.j2 new file mode 100644 index 00000000..924f8829 --- /dev/null +++ b/roles/monitor-bot-docker-container/templates/monitor-bot-docker-container.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Checking docker health +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{health_docker_container_folder}}monitor-bot-docker-container.sh diff --git a/roles/monitor-bot-docker-container/vars/main.yml b/roles/monitor-bot-docker-container/vars/main.yml new file mode 100644 index 00000000..ddbcf5e3 --- /dev/null +++ b/roles/monitor-bot-docker-container/vars/main.yml @@ -0,0 +1 @@ +health_docker_container_folder: "{{path_administrator_scripts}}monitor-bot-docker-container/" \ No newline at end of file diff --git a/roles/health-docker-volumes/README.md b/roles/monitor-bot-docker-volumes/README.md similarity index 72% rename from roles/health-docker-volumes/README.md rename to roles/monitor-bot-docker-volumes/README.md index f705317c..bb54c99b 100644 --- a/roles/health-docker-volumes/README.md +++ b/roles/monitor-bot-docker-volumes/README.md @@ -8,17 +8,17 @@ This role checks for anonymous Docker volumes that are not bound to a container - `vars/main.yml`: Variable definitions for the script's directory and whitelist. - `handlers/main.yml`: Handlers to reload and restart the systemd service and timer. -- `files/health-docker-volumes.sh`: The script that checks for anonymous Docker volumes and excludes whitelisted volumes. +- `files/monitor-bot-docker-volumes.sh`: The script that checks for anonymous Docker volumes and excludes whitelisted volumes. - `tasks/main.yml`: Tasks to create necessary directories, copy scripts, and create systemd service and timer. -- `templates/health-docker-volumes.cymais.service.j2`: Systemd service template, including the whitelisted volumes as a parameter. -- `templates/health-docker-volumes.cymais.timer.j2`: Systemd timer template. +- `templates/monitor-bot-docker-volumes.cymais.service.j2`: Systemd service template, including the whitelisted volumes as a parameter. +- `templates/monitor-bot-docker-volumes.cymais.timer.j2`: Systemd timer template. - `meta/main.yml`: Meta information declaring dependencies for the role. ## Usage Include this role in your playbook and set the `path_administrator_scripts` variable to determine where the health check scripts should reside. Define `whitelisted_anonymous_volumes` in `vars/main.yml` with an array of volume IDs that should be ignored by the health check. -Ensure that the `systemd-notifier` dependency is satisfied for error notifications. +Ensure that the `alert-core` dependency is satisfied for error notifications. ## Created with AI This script was created with the help of AI. The full conversation you find [here](https://chat.openai.com/share/1fa829f1-f001-4111-b1d4-1b2e3d583da2). diff --git a/roles/health-docker-volumes/files/health-docker-volumes.sh b/roles/monitor-bot-docker-volumes/files/monitor-bot-docker-volumes.sh similarity index 100% rename from roles/health-docker-volumes/files/health-docker-volumes.sh rename to roles/monitor-bot-docker-volumes/files/monitor-bot-docker-volumes.sh diff --git a/roles/monitor-bot-docker-volumes/handlers/main.yml b/roles/monitor-bot-docker-volumes/handlers/main.yml new file mode 100644 index 00000000..7b645149 --- /dev/null +++ b/roles/monitor-bot-docker-volumes/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-docker-volumes.cymais.service" + systemd: + name: monitor-bot-docker-volumes.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/monitor-bot-docker-volumes/meta/main.yml b/roles/monitor-bot-docker-volumes/meta/main.yml new file mode 100644 index 00000000..e2ac7bb4 --- /dev/null +++ b/roles/monitor-bot-docker-volumes/meta/main.yml @@ -0,0 +1,24 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Detects anonymous Docker volumes not bound to containers (unless whitelisted) and alerts." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - docker + - volumes + - health + - systemd + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - alert-core diff --git a/roles/health-docker-volumes/tasks/main.yml b/roles/monitor-bot-docker-volumes/tasks/main.yml similarity index 61% rename from roles/health-docker-volumes/tasks/main.yml rename to roles/monitor-bot-docker-volumes/tasks/main.yml index 867c297a..190c5563 100644 --- a/roles/health-docker-volumes/tasks/main.yml +++ b/roles/monitor-bot-docker-volumes/tasks/main.yml @@ -5,17 +5,17 @@ mode: 0755 when: run_once_health_docker_volumes is not defined -- name: create health-docker-volumes.sh +- name: create monitor-bot-docker-volumes.sh copy: - src: health-docker-volumes.sh - dest: "{{health_docker_volumes_folder}}health-docker-volumes.sh" + src: monitor-bot-docker-volumes.sh + dest: "{{health_docker_volumes_folder}}monitor-bot-docker-volumes.sh" when: run_once_health_docker_volumes is not defined -- name: create health-docker-volumes.cymais.service +- name: create monitor-bot-docker-volumes.cymais.service template: - src: health-docker-volumes.service.j2 - dest: /etc/systemd/system/health-docker-volumes.cymais.service - notify: reload health-docker-volumes.cymais.service + src: monitor-bot-docker-volumes.service.j2 + dest: /etc/systemd/system/monitor-bot-docker-volumes.cymais.service + notify: reload monitor-bot-docker-volumes.cymais.service when: run_once_health_docker_volumes is not defined - name: set service_name to the name of the current role @@ -23,9 +23,9 @@ service_name: "{{ role_name }}" when: run_once_health_docker_volumes is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_health_docker_volumes}}" when: run_once_health_docker_volumes is not defined diff --git a/roles/monitor-bot-docker-volumes/templates/monitor-bot-docker-volumes.service.j2 b/roles/monitor-bot-docker-volumes/templates/monitor-bot-docker-volumes.service.j2 new file mode 100644 index 00000000..8a2a0560 --- /dev/null +++ b/roles/monitor-bot-docker-volumes/templates/monitor-bot-docker-volumes.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Checking docker health +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{ health_docker_volumes_folder }}monitor-bot-docker-volumes.sh "{{ whitelisted_anonymous_docker_volumes | join(' ') }}" diff --git a/roles/monitor-bot-docker-volumes/vars/main.yml b/roles/monitor-bot-docker-volumes/vars/main.yml new file mode 100644 index 00000000..35c4be7c --- /dev/null +++ b/roles/monitor-bot-docker-volumes/vars/main.yml @@ -0,0 +1 @@ +health_docker_volumes_folder: "{{path_administrator_scripts}}monitor-bot-docker-volumes/" \ No newline at end of file diff --git a/roles/monitor-bot-journalctl/README.md b/roles/monitor-bot-journalctl/README.md new file mode 100644 index 00000000..1bc50779 --- /dev/null +++ b/roles/monitor-bot-journalctl/README.md @@ -0,0 +1,13 @@ +# monitor-bot-journalctl + +## Description +Scans `journalctl` over the last day for “error” entries and alerts if any are found. + +## Features +- Runs `journalctl --since '1 day ago' | grep -i error`. +- Exits non-zero on matches. +- Scheduled via systemd timer. +- Alerts via `alert-core` on detection. + +## Usage +Include the role; set `on_calendar_health_journalctl` for your preferred schedule. diff --git a/roles/health-journalctl/files/health-journalctl.sh b/roles/monitor-bot-journalctl/files/monitor-bot-journalctl.sh similarity index 100% rename from roles/health-journalctl/files/health-journalctl.sh rename to roles/monitor-bot-journalctl/files/monitor-bot-journalctl.sh diff --git a/roles/monitor-bot-journalctl/handlers/main.yml b/roles/monitor-bot-journalctl/handlers/main.yml new file mode 100644 index 00000000..01979acd --- /dev/null +++ b/roles/monitor-bot-journalctl/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-journalctl.cymais.service" + systemd: + name: monitor-bot-journalctl.cymais.service + enabled: yes + daemon_reload: yes \ No newline at end of file diff --git a/roles/monitor-bot-journalctl/meta/main.yml b/roles/monitor-bot-journalctl/meta/main.yml new file mode 100644 index 00000000..2fffa760 --- /dev/null +++ b/roles/monitor-bot-journalctl/meta/main.yml @@ -0,0 +1,24 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Searches the systemd journal for errors over the past day and alerts if any are found." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - journalctl + - logs + - health + - systemd + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - alert-core diff --git a/roles/health-journalctl/tasks/main.yml b/roles/monitor-bot-journalctl/tasks/main.yml similarity index 62% rename from roles/health-journalctl/tasks/main.yml rename to roles/monitor-bot-journalctl/tasks/main.yml index 2bcb8a0a..9924b6a9 100644 --- a/roles/health-journalctl/tasks/main.yml +++ b/roles/monitor-bot-journalctl/tasks/main.yml @@ -5,17 +5,17 @@ mode: 0755 when: run_once_health_journalctl is not defined -- name: create health-journalctl.sh +- name: create monitor-bot-journalctl.sh copy: - src: health-journalctl.sh - dest: "{{health_journalctl_folder}}health-journalctl.sh" + src: monitor-bot-journalctl.sh + dest: "{{health_journalctl_folder}}monitor-bot-journalctl.sh" when: run_once_health_journalctl is not defined -- name: create health-journalctl.cymais.service +- name: create monitor-bot-journalctl.cymais.service template: - src: health-journalctl.service.j2 - dest: /etc/systemd/system/health-journalctl.cymais.service - notify: reload health-journalctl.cymais.service + src: monitor-bot-journalctl.service.j2 + dest: /etc/systemd/system/monitor-bot-journalctl.cymais.service + notify: reload monitor-bot-journalctl.cymais.service when: run_once_health_journalctl is not defined - name: set service_name to the name of the current role @@ -23,9 +23,9 @@ service_name: "{{ role_name }}" when: run_once_health_journalctl is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_health_journalctl}}" when: run_once_health_journalctl is not defined diff --git a/roles/monitor-bot-journalctl/templates/monitor-bot-journalctl.service.j2 b/roles/monitor-bot-journalctl/templates/monitor-bot-journalctl.service.j2 new file mode 100644 index 00000000..c0c983dd --- /dev/null +++ b/roles/monitor-bot-journalctl/templates/monitor-bot-journalctl.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=checking journalctl health +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{health_journalctl_folder}}monitor-bot-journalctl.sh diff --git a/roles/monitor-bot-journalctl/vars/main.yml b/roles/monitor-bot-journalctl/vars/main.yml new file mode 100644 index 00000000..600083f4 --- /dev/null +++ b/roles/monitor-bot-journalctl/vars/main.yml @@ -0,0 +1 @@ +health_journalctl_folder: "{{path_administrator_scripts}}monitor-bot-journalctl/" \ No newline at end of file diff --git a/roles/monitor-bot-msmtp/README.md b/roles/monitor-bot-msmtp/README.md new file mode 100644 index 00000000..6d5a3fac --- /dev/null +++ b/roles/monitor-bot-msmtp/README.md @@ -0,0 +1,21 @@ +# monitor-bot-msmtp + +## Description + +This Ansible role sends periodic health check emails using **msmtp** to verify that your mail transport agent is operational. It deploys a simple script and hooks it into a systemd service and timer, with failure notifications sent via Telegram. + +## Overview + +Optimized for Archlinux, this role creates the required directory structure, installs and configures the monitor-bot-check script, and integrates with the **alert-telegram** role. It uses the **generic-timer** role to schedule regular checks based on your customizable `OnCalendar` setting. + +## Purpose + +The **monitor-bot-msmtp** role ensures that your mail transport system stays available by sending a test email at defined intervals. If the email fails, a Telegram alert is triggered, allowing you to detect and address issues before they impact users. + +## Features + +- **Directory & Script Deployment:** Sets up `monitor-bot-msmtp/` and deploys a templated Bash script to send test emails via msmtp. +- **Systemd Service & Timer:** Provides `.service` and `.timer` units to run the check and schedule it automatically. +- **Failure Notifications:** Leverages **alert-telegram** to push alerts when the script exits with an error. +- **Configurable Schedule:** Define your desired check frequency using the `on_calendar_health_msmtp` variable. +- **Email Destination:** Specify the recipient via the `users.administrator.email` variable. \ No newline at end of file diff --git a/roles/monitor-bot-msmtp/handlers/main.yml b/roles/monitor-bot-msmtp/handlers/main.yml new file mode 100644 index 00000000..9a23bd2c --- /dev/null +++ b/roles/monitor-bot-msmtp/handlers/main.yml @@ -0,0 +1,5 @@ +- name: reload monitor-bot-msmtp.cymais.service + systemd: + name: monitor-bot-msmtp.cymais.service + enabled: yes + daemon_reload: yes \ No newline at end of file diff --git a/roles/health-msmtp/meta/main.yml b/roles/monitor-bot-msmtp/meta/main.yml similarity index 61% rename from roles/health-msmtp/meta/main.yml rename to roles/monitor-bot-msmtp/meta/main.yml index 5062b875..89fb456e 100644 --- a/roles/health-msmtp/meta/main.yml +++ b/roles/monitor-bot-msmtp/meta/main.yml @@ -1,25 +1,24 @@ +--- galaxy_info: author: "Kevin Veen-Birkenbach" - description: "Sends periodic health check emails via msmtp" + description: "Periodic MTA health-check: sends test mail via msmtp and alerts on failure." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world license: "CyMaIS NonCommercial License (CNCL)" license_url: "https://s.veen.world/cncl" - company: | - Kevin Veen-Birkenbach - Consulting & Coaching Solutions - https://www.veen.world min_ansible_version: "2.9" platforms: - name: Archlinux - versions: - - rolling + versions: ["rolling"] galaxy_tags: - - health + - monitor - msmtp - email + - health - systemd - - monitoring repository: "https://s.veen.world/cymais" - issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - systemd-notifier-telegram + - alert-telegram diff --git a/roles/monitor-bot-msmtp/tasks/main.yml b/roles/monitor-bot-msmtp/tasks/main.yml new file mode 100644 index 00000000..3dae3e05 --- /dev/null +++ b/roles/monitor-bot-msmtp/tasks/main.yml @@ -0,0 +1,27 @@ +- name: "create {{ health_msmtp_folder }}" + file: + path: "{{ health_msmtp_folder }}" + state: directory + mode: 0755 + +- name: create monitor-bot-msmtp.sh + template: + src: monitor-bot-msmtp.sh.j2 + dest: "{{ health_msmtp_folder }}monitor-bot-msmtp.sh" + mode: '0755' + +- name: create monitor-bot-msmtp.cymais.service + template: + src: monitor-bot-msmtp.service.j2 + dest: /etc/systemd/system/monitor-bot-msmtp.cymais.service + notify: reload monitor-bot-msmtp.cymais.service + +- name: set service_name to the name of the current role + set_fact: + service_name: "{{ role_name }}" + +- name: include role for generic-timer for {{ service_name }} + include_role: + name: generic-timer + vars: + on_calendar: "{{ on_calendar_health_msmtp }}" \ No newline at end of file diff --git a/roles/monitor-bot-msmtp/templates/monitor-bot-msmtp.service.j2 b/roles/monitor-bot-msmtp/templates/monitor-bot-msmtp.service.j2 new file mode 100644 index 00000000..ef970249 --- /dev/null +++ b/roles/monitor-bot-msmtp/templates/monitor-bot-msmtp.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Check msmtp liveliness +OnFailure=alert-telegram.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/bin/bash {{ health_msmtp_folder }}monitor-bot-msmtp.sh diff --git a/roles/health-msmtp/templates/health-msmtp.sh.j2 b/roles/monitor-bot-msmtp/templates/monitor-bot-msmtp.sh.j2 similarity index 100% rename from roles/health-msmtp/templates/health-msmtp.sh.j2 rename to roles/monitor-bot-msmtp/templates/monitor-bot-msmtp.sh.j2 diff --git a/roles/monitor-bot-msmtp/vars/main.yml b/roles/monitor-bot-msmtp/vars/main.yml new file mode 100644 index 00000000..909eeaa5 --- /dev/null +++ b/roles/monitor-bot-msmtp/vars/main.yml @@ -0,0 +1 @@ +health_msmtp_folder: "{{ path_administrator_scripts }}monitor-bot-msmtp/" \ No newline at end of file diff --git a/roles/monitor-bot-webserver/README.md b/roles/monitor-bot-webserver/README.md new file mode 100644 index 00000000..72d0cbe0 --- /dev/null +++ b/roles/monitor-bot-webserver/README.md @@ -0,0 +1,20 @@ +# monitor-bot-webserver + +## Description +Verifies that each of your Nginx‐served domains returns an expected HTTP status (200, 301, etc.) and alerts on deviations. + +## Features +- Scans your `nginx` server block `.conf` files for domains. +- HEAD-requests each domain and compares against per-domain expected codes. +- Reports any mismatches via `alert-core`. +- Scheduled via a systemd timer for periodic health sweeps. + +## Usage +Include this role, install `python-requests`, and define `on_calendar_health_nginx`. + +## Further Resources +- For more details on nginx configurations, visit [nginx documentation](https://nginx.org/en/docs/). +- Learn more about Ansible's `uri_module` [here](https://docs.ansible.com/ansible/latest/modules/uri_module.html). + +## Contributions +This role was created with the assistance of ChatGPT. The conversation can be found [here](https://chat.openai.com/share/4033be29-12a6-40a3-bf3c-fc5d57dba8cb) and [here](https://chat.openai.com/share/7f3766d1-9db7-4976-8fe9-68d1142c0a78). \ No newline at end of file diff --git a/roles/health-nginx/TODO.md b/roles/monitor-bot-webserver/TODO.md similarity index 100% rename from roles/health-nginx/TODO.md rename to roles/monitor-bot-webserver/TODO.md diff --git a/roles/monitor-bot-webserver/handlers/main.yml b/roles/monitor-bot-webserver/handlers/main.yml new file mode 100644 index 00000000..412182a5 --- /dev/null +++ b/roles/monitor-bot-webserver/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload monitor-bot-webserver.cymais.service" + systemd: + name: monitor-bot-webserver.cymais.service + enabled: yes + daemon_reload: yes diff --git a/roles/monitor-bot-webserver/meta/main.yml b/roles/monitor-bot-webserver/meta/main.yml new file mode 100644 index 00000000..7c4f5a7e --- /dev/null +++ b/roles/monitor-bot-webserver/meta/main.yml @@ -0,0 +1,26 @@ +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Checks that each Nginx domain returns its expected HTTP status and alerts on unexpected codes." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: ["rolling"] + galaxy_tags: + - monitor + - webserver + - nginx + - http + - health + - systemd + repository: "https://s.veen.world/cymais" + documentation: "https://s.veen.world/cymais" +dependencies: + - generic-python-pip + - alert-core diff --git a/roles/health-nginx/tasks/main.yml b/roles/monitor-bot-webserver/tasks/main.yml similarity index 65% rename from roles/health-nginx/tasks/main.yml rename to roles/monitor-bot-webserver/tasks/main.yml index d1322d04..c6683895 100644 --- a/roles/health-nginx/tasks/main.yml +++ b/roles/monitor-bot-webserver/tasks/main.yml @@ -11,17 +11,17 @@ mode: 0755 when: run_once_health_nginx is not defined -- name: create health-nginx.py +- name: create monitor-bot-webserver.py template: - src: health-nginx.py.j2 - dest: "{{ health_nginx_folder }}health-nginx.py" + src: monitor-bot-webserver.py.j2 + dest: "{{ health_nginx_folder }}monitor-bot-webserver.py" when: run_once_health_nginx is not defined -- name: create health-nginx.cymais.service +- name: create monitor-bot-webserver.cymais.service template: - src: health-nginx.service.j2 - dest: /etc/systemd/system/health-nginx.cymais.service - notify: reload health-nginx.cymais.service + src: monitor-bot-webserver.service.j2 + dest: /etc/systemd/system/monitor-bot-webserver.cymais.service + notify: reload monitor-bot-webserver.cymais.service when: run_once_health_nginx is not defined - name: set service_name to the name of the current role @@ -29,9 +29,9 @@ service_name: "{{ role_name }}" when: run_once_health_nginx is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_health_nginx}}" when: run_once_health_nginx is not defined diff --git a/roles/health-nginx/templates/health-nginx.py.j2 b/roles/monitor-bot-webserver/templates/monitor-bot-webserver.py.j2 similarity index 100% rename from roles/health-nginx/templates/health-nginx.py.j2 rename to roles/monitor-bot-webserver/templates/monitor-bot-webserver.py.j2 diff --git a/roles/monitor-bot-webserver/templates/monitor-bot-webserver.service.j2 b/roles/monitor-bot-webserver/templates/monitor-bot-webserver.service.j2 new file mode 100644 index 00000000..506a8fb1 --- /dev/null +++ b/roles/monitor-bot-webserver/templates/monitor-bot-webserver.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Check nginx configuration status +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/python3 {{ health_nginx_folder }}monitor-bot-webserver.py diff --git a/roles/monitor-bot-webserver/vars/main.yml b/roles/monitor-bot-webserver/vars/main.yml new file mode 100644 index 00000000..cb0189cb --- /dev/null +++ b/roles/monitor-bot-webserver/vars/main.yml @@ -0,0 +1 @@ +health_nginx_folder: "{{ path_administrator_scripts }}monitor-bot-webserver/" diff --git a/roles/dns-records-cloudflare/README.md b/roles/network-dns-records/README.md similarity index 100% rename from roles/dns-records-cloudflare/README.md rename to roles/network-dns-records/README.md diff --git a/roles/dns-records-cloudflare/meta/main.yml b/roles/network-dns-records/meta/main.yml similarity index 100% rename from roles/dns-records-cloudflare/meta/main.yml rename to roles/network-dns-records/meta/main.yml diff --git a/roles/dns-records-cloudflare/tasks/main.yml b/roles/network-dns-records/tasks/main.yml similarity index 100% rename from roles/dns-records-cloudflare/tasks/main.yml rename to roles/network-dns-records/tasks/main.yml diff --git a/roles/letsencrypt/README.md b/roles/network-letsencrypt/README.md similarity index 100% rename from roles/letsencrypt/README.md rename to roles/network-letsencrypt/README.md diff --git a/roles/letsencrypt/TODO.md b/roles/network-letsencrypt/TODO.md similarity index 100% rename from roles/letsencrypt/TODO.md rename to roles/network-letsencrypt/TODO.md diff --git a/roles/letsencrypt/meta/main.yml b/roles/network-letsencrypt/meta/main.yml similarity index 96% rename from roles/letsencrypt/meta/main.yml rename to roles/network-letsencrypt/meta/main.yml index ad293193..bc6476a2 100644 --- a/roles/letsencrypt/meta/main.yml +++ b/roles/network-letsencrypt/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - nginx-certbot + - webserver-tls-renew diff --git a/roles/letsencrypt/tasks/main.yml b/roles/network-letsencrypt/tasks/main.yml similarity index 100% rename from roles/letsencrypt/tasks/main.yml rename to roles/network-letsencrypt/tasks/main.yml diff --git a/roles/letsencrypt/tasks/set-caa-records.yml b/roles/network-letsencrypt/tasks/set-caa-records.yml similarity index 100% rename from roles/letsencrypt/tasks/set-caa-records.yml rename to roles/network-letsencrypt/tasks/set-caa-records.yml diff --git a/roles/letsencrypt/templates/letsencrypt.conf.j2 b/roles/network-letsencrypt/templates/letsencrypt.conf.j2 similarity index 100% rename from roles/letsencrypt/templates/letsencrypt.conf.j2 rename to roles/network-letsencrypt/templates/letsencrypt.conf.j2 diff --git a/roles/letsencrypt/templates/ssl_credentials.j2 b/roles/network-letsencrypt/templates/ssl_credentials.j2 similarity index 100% rename from roles/letsencrypt/templates/ssl_credentials.j2 rename to roles/network-letsencrypt/templates/ssl_credentials.j2 diff --git a/roles/letsencrypt/templates/ssl_header.j2 b/roles/network-letsencrypt/templates/ssl_header.j2 similarity index 100% rename from roles/letsencrypt/templates/ssl_header.j2 rename to roles/network-letsencrypt/templates/ssl_header.j2 diff --git a/roles/letsencrypt/vars/main.yml b/roles/network-letsencrypt/vars/main.yml similarity index 100% rename from roles/letsencrypt/vars/main.yml rename to roles/network-letsencrypt/vars/main.yml diff --git a/roles/wireguard/Administration.md b/roles/network-wireguard-core/Administration.md similarity index 100% rename from roles/wireguard/Administration.md rename to roles/network-wireguard-core/Administration.md diff --git a/roles/wireguard/README.md b/roles/network-wireguard-core/README.md similarity index 100% rename from roles/wireguard/README.md rename to roles/network-wireguard-core/README.md diff --git a/roles/wireguard/files/wireguard-ip.conf b/roles/network-wireguard-core/files/wireguard-ip.conf similarity index 100% rename from roles/wireguard/files/wireguard-ip.conf rename to roles/network-wireguard-core/files/wireguard-ip.conf diff --git a/roles/wireguard/handlers/main.yml b/roles/network-wireguard-core/handlers/main.yml similarity index 100% rename from roles/wireguard/handlers/main.yml rename to roles/network-wireguard-core/handlers/main.yml diff --git a/roles/wireguard/meta/main.yml b/roles/network-wireguard-core/meta/main.yml similarity index 100% rename from roles/wireguard/meta/main.yml rename to roles/network-wireguard-core/meta/main.yml diff --git a/roles/wireguard/tasks/main.yml b/roles/network-wireguard-core/tasks/main.yml similarity index 100% rename from roles/wireguard/tasks/main.yml rename to roles/network-wireguard-core/tasks/main.yml diff --git a/roles/client-wireguard-behind-firewall/README.md b/roles/network-wireguard-firewalled/README.md similarity index 86% rename from roles/client-wireguard-behind-firewall/README.md rename to roles/network-wireguard-firewalled/README.md index 5dad81f7..adf805b3 100644 --- a/roles/client-wireguard-behind-firewall/README.md +++ b/roles/network-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 [client-wireguard](../client-wireguard/README.md) role to ensure that WireGuard is properly configured before applying firewall rules. +- **Role Integration:** Depends on the [network-wireguard-plain](../network-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/client-wireguard-behind-firewall/meta/main.yml b/roles/network-wireguard-firewalled/meta/main.yml similarity index 96% rename from roles/client-wireguard-behind-firewall/meta/main.yml rename to roles/network-wireguard-firewalled/meta/main.yml index 036abb86..f38eb049 100644 --- a/roles/client-wireguard-behind-firewall/meta/main.yml +++ b/roles/network-wireguard-firewalled/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - client-wireguard \ No newline at end of file + - network-wireguard-plain \ No newline at end of file diff --git a/roles/client-wireguard-behind-firewall/tasks/main.yml b/roles/network-wireguard-firewalled/tasks/main.yml similarity index 100% rename from roles/client-wireguard-behind-firewall/tasks/main.yml rename to roles/network-wireguard-firewalled/tasks/main.yml diff --git a/roles/client-wireguard/Administration.md b/roles/network-wireguard-plain/Administration.md similarity index 100% rename from roles/client-wireguard/Administration.md rename to roles/network-wireguard-plain/Administration.md diff --git a/roles/client-wireguard/README.md b/roles/network-wireguard-plain/README.md similarity index 100% rename from roles/client-wireguard/README.md rename to roles/network-wireguard-plain/README.md diff --git a/roles/client-wireguard/files/set-mtu.service b/roles/network-wireguard-plain/files/set-mtu.service similarity index 100% rename from roles/client-wireguard/files/set-mtu.service rename to roles/network-wireguard-plain/files/set-mtu.service diff --git a/roles/client-wireguard/handlers/main.yml b/roles/network-wireguard-plain/handlers/main.yml similarity index 100% rename from roles/client-wireguard/handlers/main.yml rename to roles/network-wireguard-plain/handlers/main.yml diff --git a/roles/client-wireguard/meta/main.yml b/roles/network-wireguard-plain/meta/main.yml similarity index 96% rename from roles/client-wireguard/meta/main.yml rename to roles/network-wireguard-plain/meta/main.yml index bedef3c2..aaa3c9c9 100644 --- a/roles/client-wireguard/meta/main.yml +++ b/roles/network-wireguard-plain/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - wireguard + - network-wireguard-core diff --git a/roles/client-wireguard/tasks/main.yml b/roles/network-wireguard-plain/tasks/main.yml similarity index 100% rename from roles/client-wireguard/tasks/main.yml rename to roles/network-wireguard-plain/tasks/main.yml diff --git a/roles/client-wireguard/templates/set-mtu.sh.j2 b/roles/network-wireguard-plain/templates/set-mtu.sh.j2 similarity index 100% rename from roles/client-wireguard/templates/set-mtu.sh.j2 rename to roles/network-wireguard-plain/templates/set-mtu.sh.j2 diff --git a/roles/nginx-docker-cert-deploy/handlers/main.yml b/roles/nginx-docker-cert-deploy/handlers/main.yml deleted file mode 100644 index 05b3cb28..00000000 --- a/roles/nginx-docker-cert-deploy/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: "restart nginx-docker-cert-deploy.cymais.service" - systemd: - name: nginx-docker-cert-deploy.{{application_id}}.cymais.service - state: restarted - enabled: yes - daemon_reload: yes \ No newline at end of file diff --git a/roles/nginx-docker-cert-deploy/meta/main.yml b/roles/nginx-docker-cert-deploy/meta/main.yml deleted file mode 100644 index 12fe7062..00000000 --- a/roles/nginx-docker-cert-deploy/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- systemd-notifier diff --git a/roles/nginx-docker-cert-deploy/tasks/main.yml b/roles/nginx-docker-cert-deploy/tasks/main.yml deleted file mode 100644 index 90408c07..00000000 --- a/roles/nginx-docker-cert-deploy/tasks/main.yml +++ /dev/null @@ -1,32 +0,0 @@ -- name: add nginx-docker-cert-deploy.sh - copy: - src: "nginx-docker-cert-deploy.sh" - dest: "{{nginx_docker_cert_deploy_script}}" - when: run_once_nginx_docker_cert_deploy is not defined - notify: restart nginx-docker-cert-deploy.cymais.service - -- name: run the nginx_docker_cert_deploy tasks once - set_fact: - run_once_backup_directory_validator: true - when: run_once_nginx_docker_cert_deploy is not defined - -- name: "create {{cert_mount_directory}}" - file: - path: "{{cert_mount_directory}}" - state: directory - mode: 0755 - notify: restart nginx-docker-cert-deploy.cymais.service - -- name: configure nginx-docker-cert-deploy.cymais.service - template: - src: "nginx-docker-cert-deploy.service.j2" - dest: "/etc/systemd/system/nginx-docker-cert-deploy.{{application_id}}.cymais.service" - notify: restart nginx-docker-cert-deploy.cymais.service - -- name: "include role for systemd-timer for {{service_name}}" - include_role: - name: systemd-timer - vars: - on_calendar: "{{on_calendar_deploy_certificates}}" - service_name: "nginx-docker-cert-deploy.{{application_id}}" - persistent: "true" \ No newline at end of file diff --git a/roles/nginx-docker-cert-deploy/templates/nginx-docker-cert-deploy.service.j2 b/roles/nginx-docker-cert-deploy/templates/nginx-docker-cert-deploy.service.j2 deleted file mode 100644 index 846714b8..00000000 --- a/roles/nginx-docker-cert-deploy/templates/nginx-docker-cert-deploy.service.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Let's Encrypt deploy to {{docker_compose.directories.instance}} -OnFailure=systemd-notifier.cymais@%n.service - -[Service] -Type=oneshot -ExecStart=/usr/bin/bash {{path_administrator_scripts}}/nginx-docker-cert-deploy.sh {{ssl_cert_folder}} {{docker_compose.directories.instance}} diff --git a/roles/nginx-https-get-cert-modify-all/tasks/main.yml b/roles/nginx-https-get-cert-modify-all/tasks/main.yml deleted file mode 100644 index 9b9a2fba..00000000 --- a/roles/nginx-https-get-cert-modify-all/tasks/main.yml +++ /dev/null @@ -1,7 +0,0 @@ -- name: "include role nginx-modifier-all for {{domain}}" - include_role: - name: nginx-modifier-all - -- name: "include role nginx-https-get-cert for {{domain}}" - include_role: - name: nginx-https-get-cert \ No newline at end of file diff --git a/roles/nginx-modifier-javascript/vars/main.yml b/roles/nginx-modifier-javascript/vars/main.yml deleted file mode 100644 index fcc5896a..00000000 --- a/roles/nginx-modifier-javascript/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -modifier_javascript_template_file: "{{ playbook_dir }}/roles/docker-{{ application_id }}/templates/javascript.js.j2" \ No newline at end of file diff --git a/roles/nginx-modifier-matomo/meta/main.yml b/roles/nginx-modifier-matomo/meta/main.yml deleted file mode 100644 index df03f81e..00000000 --- a/roles/nginx-modifier-matomo/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: - # - docker-matomo Don't activate this otherwise the plays take super long - - nginx \ No newline at end of file diff --git a/roles/nginx-serve-assets/meta/main.yml b/roles/nginx-serve-assets/meta/main.yml deleted file mode 100644 index 4c54a229..00000000 --- a/roles/nginx-serve-assets/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- nginx-serve-files diff --git a/roles/nginx-serve-legal/meta/main.yml b/roles/nginx-serve-legal/meta/main.yml deleted file mode 100644 index 032e17bc..00000000 --- a/roles/nginx-serve-legal/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- nginx-serve-html diff --git a/roles/nginx/README.md b/roles/nginx/README.md deleted file mode 100644 index 529fde4a..00000000 --- a/roles/nginx/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# role nginx -This role sets up an nginx server. It was developed by [Kevin Veen-Birkenbach](https://www.veen.world). -## Debug - -### General Debugging -```bash -journalctl -f -u nginx -``` - -### Detailled Debugging -Set ``enable_debugenable_debug: true``. -#### Follow logs of one host -```bash -journalctl -u nginx -f | grep "<>" -``` - - -### Activate detailled Debugging: - -## performance -- https://www.monitis.com/blog/6-best-practices-for-optimizing-your-nginx-performance/ -- https://www.nginx.com/blog/tuning-nginx/ -- https://davidwalsh.name/enable-gzip -- https://www.nginx.com/blog/performance-tuning-tips-tricks/ -- https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2 -- https://www.nginx.com/blog/nginx-caching-guide/ -- https://meta.discourse.org/t/using-nginx-as-proxy-server-is-very-slow-but-it-is-very-fast-if-using-nginx-in-docker-why/168972 diff --git a/roles/nginx/meta/main.yml b/roles/nginx/meta/main.yml deleted file mode 100644 index b94ba991..00000000 --- a/roles/nginx/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: - - health-nginx - - health-csp \ No newline at end of file diff --git a/roles/persona-designer/meta/main.yml b/roles/persona-designer/meta/main.yml deleted file mode 100644 index f2b89588..00000000 --- a/roles/persona-designer/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- system-aur-helper \ No newline at end of file diff --git a/roles/persona-employee/meta/main.yml b/roles/persona-employee/meta/main.yml deleted file mode 100644 index aed4d90c..00000000 --- a/roles/persona-employee/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: -- client-libreoffice -- client-browser \ No newline at end of file diff --git a/roles/persona/README.md b/roles/persona/README.md deleted file mode 100644 index 70dccf3b..00000000 --- a/roles/persona/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Todo -[Implement](https://project.veen.world/projects/cymais/work_packages/80/activity) \ No newline at end of file diff --git a/roles/pkgmgr/meta/main.yml b/roles/pkgmgr/meta/main.yml index dd6757bf..246c9851 100644 --- a/roles/pkgmgr/meta/main.yml +++ b/roles/pkgmgr/meta/main.yml @@ -33,6 +33,6 @@ galaxy_info: issue_tracker_url: https://github.com/kevinveenbirkenbach/package-manager/issues documentation: https://github.com/kevinveenbirkenbach/package-manager dependencies: - - git - - make - - python-yaml + - generic-git + - generic-make + - generic-python-yaml diff --git a/roles/restart-docker/handlers/main.yml b/roles/restart-docker/handlers/main.yml deleted file mode 100644 index 5209f53b..00000000 --- a/roles/restart-docker/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload restart-docker.cymais.service" - systemd: - name: restart-docker.cymais.service - enabled: yes - daemon_reload: yes diff --git a/roles/restart-docker/vars/main.yml b/roles/restart-docker/vars/main.yml deleted file mode 100644 index 68e5e63b..00000000 --- a/roles/restart-docker/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -restart_docker_folder: "{{path_administrator_scripts}}restart-docker/" -restart_docker_script: "{{restart_docker_folder}}restart-docker.py" \ No newline at end of file diff --git a/roles/docker-ldap/README.md b/roles/service-openldap/README.md similarity index 100% rename from roles/docker-ldap/README.md rename to roles/service-openldap/README.md diff --git a/roles/docker-ldap/TODO.md b/roles/service-openldap/TODO.md similarity index 100% rename from roles/docker-ldap/TODO.md rename to roles/service-openldap/TODO.md diff --git a/roles/docker-ldap/filter_plugins/__init__.py b/roles/service-openldap/__init__.py similarity index 100% rename from roles/docker-ldap/filter_plugins/__init__.py rename to roles/service-openldap/__init__.py diff --git a/roles/docker-ldap/docs/Administration.md b/roles/service-openldap/docs/Administration.md similarity index 100% rename from roles/docker-ldap/docs/Administration.md rename to roles/service-openldap/docs/Administration.md diff --git a/roles/docker-ldap/docs/Change_DN.md b/roles/service-openldap/docs/Change_DN.md similarity index 100% rename from roles/docker-ldap/docs/Change_DN.md rename to roles/service-openldap/docs/Change_DN.md diff --git a/roles/docker-ldap/docs/Installation.md b/roles/service-openldap/docs/Installation.md similarity index 100% rename from roles/docker-ldap/docs/Installation.md rename to roles/service-openldap/docs/Installation.md diff --git a/roles/docker-portfolio/lookup_plugins/__init__.py b/roles/service-openldap/filter_plugins/__init__.py similarity index 100% rename from roles/docker-portfolio/lookup_plugins/__init__.py rename to roles/service-openldap/filter_plugins/__init__.py diff --git a/roles/docker-ldap/filter_plugins/build_ldap_nested_group_entries.py b/roles/service-openldap/filter_plugins/build_ldap_nested_group_entries.py similarity index 100% rename from roles/docker-ldap/filter_plugins/build_ldap_nested_group_entries.py rename to roles/service-openldap/filter_plugins/build_ldap_nested_group_entries.py diff --git a/roles/docker-ldap/filter_plugins/build_ldap_role_entries.py b/roles/service-openldap/filter_plugins/build_ldap_role_entries.py similarity index 100% rename from roles/docker-ldap/filter_plugins/build_ldap_role_entries.py rename to roles/service-openldap/filter_plugins/build_ldap_role_entries.py diff --git a/roles/docker-ldap/handlers/main.yml b/roles/service-openldap/handlers/main.yml similarity index 100% rename from roles/docker-ldap/handlers/main.yml rename to roles/service-openldap/handlers/main.yml diff --git a/roles/docker-ldap/meta/main.yml b/roles/service-openldap/meta/main.yml similarity index 100% rename from roles/docker-ldap/meta/main.yml rename to roles/service-openldap/meta/main.yml diff --git a/roles/docker-ldap/meta/schema.yml b/roles/service-openldap/meta/schema.yml similarity index 100% rename from roles/docker-ldap/meta/schema.yml rename to roles/service-openldap/meta/schema.yml diff --git a/roles/docker-ldap/meta/users.yml b/roles/service-openldap/meta/users.yml similarity index 100% rename from roles/docker-ldap/meta/users.yml rename to roles/service-openldap/meta/users.yml diff --git a/roles/docker-ldap/tasks/add_user_objects.yml b/roles/service-openldap/tasks/add_user_objects.yml similarity index 100% rename from roles/docker-ldap/tasks/add_user_objects.yml rename to roles/service-openldap/tasks/add_user_objects.yml diff --git a/roles/docker-ldap/tasks/create_ldif_files.yml b/roles/service-openldap/tasks/create_ldif_files.yml similarity index 100% rename from roles/docker-ldap/tasks/create_ldif_files.yml rename to roles/service-openldap/tasks/create_ldif_files.yml diff --git a/roles/docker-ldap/tasks/main.yml b/roles/service-openldap/tasks/main.yml similarity index 100% rename from roles/docker-ldap/tasks/main.yml rename to roles/service-openldap/tasks/main.yml diff --git a/roles/docker-ldap/tasks/reset_admin_passwords.yml b/roles/service-openldap/tasks/reset_admin_passwords.yml similarity index 97% rename from roles/docker-ldap/tasks/reset_admin_passwords.yml rename to roles/service-openldap/tasks/reset_admin_passwords.yml index 744657f9..24127f9f 100644 --- a/roles/docker-ldap/tasks/reset_admin_passwords.yml +++ b/roles/service-openldap/tasks/reset_admin_passwords.yml @@ -1,6 +1,6 @@ --- # Reset both Database and Configuration Admin passwords in LDAP via LDAPI -# roles/docker-ldap/tasks/reset_admin_passwords.yml +# roles/service-openldap/tasks/reset_admin_passwords.yml - name: "Query available LDAP databases" shell: | diff --git a/roles/docker-ldap/tasks/schemas/nextcloud.yml b/roles/service-openldap/tasks/schemas/nextcloud.yml similarity index 100% rename from roles/docker-ldap/tasks/schemas/nextcloud.yml rename to roles/service-openldap/tasks/schemas/nextcloud.yml diff --git a/roles/docker-ldap/tasks/schemas/openssh_lpk.yml b/roles/service-openldap/tasks/schemas/openssh_lpk.yml similarity index 100% rename from roles/docker-ldap/tasks/schemas/openssh_lpk.yml rename to roles/service-openldap/tasks/schemas/openssh_lpk.yml diff --git a/roles/docker-ldap/templates/docker-compose.yml.j2 b/roles/service-openldap/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-ldap/templates/docker-compose.yml.j2 rename to roles/service-openldap/templates/docker-compose.yml.j2 diff --git a/roles/docker-ldap/templates/env.j2 b/roles/service-openldap/templates/env.j2 similarity index 100% rename from roles/docker-ldap/templates/env.j2 rename to roles/service-openldap/templates/env.j2 diff --git a/roles/docker-ldap/templates/ldif/configuration/01_member_of_configuration.ldif.j2 b/roles/service-openldap/templates/ldif/configuration/01_member_of_configuration.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/configuration/01_member_of_configuration.ldif.j2 rename to roles/service-openldap/templates/ldif/configuration/01_member_of_configuration.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/configuration/02_member_of_configuration.ldif.j2 b/roles/service-openldap/templates/ldif/configuration/02_member_of_configuration.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/configuration/02_member_of_configuration.ldif.j2 rename to roles/service-openldap/templates/ldif/configuration/02_member_of_configuration.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/configuration/03_member_of_configuration.ldif.j2 b/roles/service-openldap/templates/ldif/configuration/03_member_of_configuration.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/configuration/03_member_of_configuration.ldif.j2 rename to roles/service-openldap/templates/ldif/configuration/03_member_of_configuration.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/configuration/04_hashed_password.ldif.j2 b/roles/service-openldap/templates/ldif/configuration/04_hashed_password.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/configuration/04_hashed_password.ldif.j2 rename to roles/service-openldap/templates/ldif/configuration/04_hashed_password.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/configuration/README.md b/roles/service-openldap/templates/ldif/configuration/README.md similarity index 100% rename from roles/docker-ldap/templates/ldif/configuration/README.md rename to roles/service-openldap/templates/ldif/configuration/README.md diff --git a/roles/docker-ldap/templates/ldif/data/01_rbac_group.ldif.j2 b/roles/service-openldap/templates/ldif/data/01_rbac_group.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/data/01_rbac_group.ldif.j2 rename to roles/service-openldap/templates/ldif/data/01_rbac_group.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/data/02_rbac_roles.ldif.j2 b/roles/service-openldap/templates/ldif/data/02_rbac_roles.ldif.j2 similarity index 100% rename from roles/docker-ldap/templates/ldif/data/02_rbac_roles.ldif.j2 rename to roles/service-openldap/templates/ldif/data/02_rbac_roles.ldif.j2 diff --git a/roles/docker-ldap/templates/ldif/data/README.md b/roles/service-openldap/templates/ldif/data/README.md similarity index 100% rename from roles/docker-ldap/templates/ldif/data/README.md rename to roles/service-openldap/templates/ldif/data/README.md diff --git a/roles/docker-ldap/templates/nginx.stream.conf.j2 b/roles/service-openldap/templates/nginx.stream.conf.j2 similarity index 100% rename from roles/docker-ldap/templates/nginx.stream.conf.j2 rename to roles/service-openldap/templates/nginx.stream.conf.j2 diff --git a/roles/docker-ldap/vars/configuration.yml b/roles/service-openldap/vars/configuration.yml similarity index 100% rename from roles/docker-ldap/vars/configuration.yml rename to roles/service-openldap/vars/configuration.yml diff --git a/roles/docker-ldap/vars/main.yml b/roles/service-openldap/vars/main.yml similarity index 100% rename from roles/docker-ldap/vars/main.yml rename to roles/service-openldap/vars/main.yml diff --git a/roles/docker-central-database/README.md b/roles/service-rdbms-central/README.md similarity index 100% rename from roles/docker-central-database/README.md rename to roles/service-rdbms-central/README.md diff --git a/roles/docker-central-database/meta/main.yml b/roles/service-rdbms-central/meta/main.yml similarity index 100% rename from roles/docker-central-database/meta/main.yml rename to roles/service-rdbms-central/meta/main.yml diff --git a/roles/docker-central-database/tasks/main.yml b/roles/service-rdbms-central/tasks/main.yml similarity index 96% rename from roles/docker-central-database/tasks/main.yml rename to roles/service-rdbms-central/tasks/main.yml index a012a952..b6e07ace 100644 --- a/roles/docker-central-database/tasks/main.yml +++ b/roles/service-rdbms-central/tasks/main.yml @@ -24,7 +24,7 @@ - name: "Create central database" include_role: - name: "docker-{{database_type}}" + name: "web-app-{{database_type}}" when: applications | is_feature_enabled('central_database',application_id) - name: "Add database to backup" diff --git a/roles/docker-central-database/templates/configuration.yml.j2 b/roles/service-rdbms-central/templates/configuration.yml.j2 similarity index 100% rename from roles/docker-central-database/templates/configuration.yml.j2 rename to roles/service-rdbms-central/templates/configuration.yml.j2 diff --git a/roles/docker-central-database/templates/env/mariadb.env.j2 b/roles/service-rdbms-central/templates/env/mariadb.env.j2 similarity index 100% rename from roles/docker-central-database/templates/env/mariadb.env.j2 rename to roles/service-rdbms-central/templates/env/mariadb.env.j2 diff --git a/roles/docker-central-database/templates/env/postgres.env.j2 b/roles/service-rdbms-central/templates/env/postgres.env.j2 similarity index 100% rename from roles/docker-central-database/templates/env/postgres.env.j2 rename to roles/service-rdbms-central/templates/env/postgres.env.j2 diff --git a/roles/service-rdbms-central/templates/services/main.yml.j2 b/roles/service-rdbms-central/templates/services/main.yml.j2 new file mode 100644 index 00000000..699f3d89 --- /dev/null +++ b/roles/service-rdbms-central/templates/services/main.yml.j2 @@ -0,0 +1 @@ +{% include 'roles/service-rdbms-central/templates/services/' + database_type + '.yml.j2' %} \ No newline at end of file diff --git a/roles/docker-central-database/templates/services/mariadb.yml.j2 b/roles/service-rdbms-central/templates/services/mariadb.yml.j2 similarity index 100% rename from roles/docker-central-database/templates/services/mariadb.yml.j2 rename to roles/service-rdbms-central/templates/services/mariadb.yml.j2 diff --git a/roles/docker-central-database/templates/services/postgres.yml.j2 b/roles/service-rdbms-central/templates/services/postgres.yml.j2 similarity index 100% rename from roles/docker-central-database/templates/services/postgres.yml.j2 rename to roles/service-rdbms-central/templates/services/postgres.yml.j2 diff --git a/roles/docker-central-database/vars/database.yml b/roles/service-rdbms-central/vars/database.yml similarity index 100% rename from roles/docker-central-database/vars/database.yml rename to roles/service-rdbms-central/vars/database.yml diff --git a/roles/docker-central-database/vars/main.yml b/roles/service-rdbms-central/vars/main.yml similarity index 100% rename from roles/docker-central-database/vars/main.yml rename to roles/service-rdbms-central/vars/main.yml diff --git a/roles/docker-mariadb/Administration.md b/roles/service-rdbms-mariadb/Administration.md similarity index 100% rename from roles/docker-mariadb/Administration.md rename to roles/service-rdbms-mariadb/Administration.md diff --git a/roles/docker-mariadb/README.md b/roles/service-rdbms-mariadb/README.md similarity index 98% rename from roles/docker-mariadb/README.md rename to roles/service-rdbms-mariadb/README.md index 59f269d6..2bfbc022 100644 --- a/roles/docker-mariadb/README.md +++ b/roles/service-rdbms-mariadb/README.md @@ -26,5 +26,5 @@ Configure the role by setting the required variables. These can be set in the pl ## Contributing Contributions to this project are welcome. Please submit issues and pull requests with your suggestions. -## Other Ressources +## Further Resources - [Reset Password for MariaDB/MySQL in Docker](https://wolfgang.gassler.org/reset-password-mariadb-mysql-docker/) diff --git a/roles/docker-mariadb/defaults/README.md b/roles/service-rdbms-mariadb/defaults/README.md similarity index 91% rename from roles/docker-mariadb/defaults/README.md rename to roles/service-rdbms-mariadb/defaults/README.md index 728f29f9..9f5a1ade 100644 --- a/roles/docker-mariadb/defaults/README.md +++ b/roles/service-rdbms-mariadb/defaults/README.md @@ -1,6 +1,6 @@ # defaults/ -This directory contains default variable definition files for the `docker-mariadb` Ansible role. It centralizes all configurable values related to MariaDB deployment and can be adjusted without modifying task logic. +This directory contains default variable definition files for the `service-rdbms-mariadb` Ansible role. It centralizes all configurable values related to MariaDB deployment and can be adjusted without modifying task logic. --- @@ -34,7 +34,7 @@ Defines default values for how the MariaDB database should be created. To customize any of these values without editing role defaults: -1. Create or update a playbook-level vars file (e.g. `group_vars/all/docker-mariadb.yml`). +1. Create or update a playbook-level vars file (e.g. `group_vars/all/service-rdbms-mariadb.yml`). 2. Set the desired values, for example: ```yaml diff --git a/roles/docker-mariadb/defaults/main.yml b/roles/service-rdbms-mariadb/defaults/main.yml similarity index 100% rename from roles/docker-mariadb/defaults/main.yml rename to roles/service-rdbms-mariadb/defaults/main.yml diff --git a/roles/docker-mariadb/meta/main.yml b/roles/service-rdbms-mariadb/meta/main.yml similarity index 100% rename from roles/docker-mariadb/meta/main.yml rename to roles/service-rdbms-mariadb/meta/main.yml diff --git a/roles/docker-mariadb/meta/schema.yml b/roles/service-rdbms-mariadb/meta/schema.yml similarity index 100% rename from roles/docker-mariadb/meta/schema.yml rename to roles/service-rdbms-mariadb/meta/schema.yml diff --git a/roles/docker-mariadb/tasks/main.yml b/roles/service-rdbms-mariadb/tasks/main.yml similarity index 100% rename from roles/docker-mariadb/tasks/main.yml rename to roles/service-rdbms-mariadb/tasks/main.yml diff --git a/roles/docker-mariadb/vars/README.md b/roles/service-rdbms-mariadb/vars/README.md similarity index 80% rename from roles/docker-mariadb/vars/README.md rename to roles/service-rdbms-mariadb/vars/README.md index 49b7ded8..745c71c6 100644 --- a/roles/docker-mariadb/vars/README.md +++ b/roles/service-rdbms-mariadb/vars/README.md @@ -1,6 +1,6 @@ # vars/ -This directory contains variable definition files for the `docker-mariadb` Ansible role. It centralizes all configurable values related to MariaDB deployment and can be adjusted without modifying task logic. +This directory contains variable definition files for the `service-rdbms-mariadb` Ansible role. It centralizes all configurable values related to MariaDB deployment and can be adjusted without modifying task logic. --- diff --git a/roles/docker-mariadb/vars/configuration.yml b/roles/service-rdbms-mariadb/vars/configuration.yml similarity index 100% rename from roles/docker-mariadb/vars/configuration.yml rename to roles/service-rdbms-mariadb/vars/configuration.yml diff --git a/roles/docker-mariadb/vars/main.yml b/roles/service-rdbms-mariadb/vars/main.yml similarity index 100% rename from roles/docker-mariadb/vars/main.yml rename to roles/service-rdbms-mariadb/vars/main.yml diff --git a/roles/docker-postgres/Administration.md b/roles/service-rdbms-postgres/Administration.md similarity index 100% rename from roles/docker-postgres/Administration.md rename to roles/service-rdbms-postgres/Administration.md diff --git a/roles/docker-postgres/README.md b/roles/service-rdbms-postgres/README.md similarity index 100% rename from roles/docker-postgres/README.md rename to roles/service-rdbms-postgres/README.md diff --git a/roles/docker-postgres/Todo.md b/roles/service-rdbms-postgres/Todo.md similarity index 100% rename from roles/docker-postgres/Todo.md rename to roles/service-rdbms-postgres/Todo.md diff --git a/roles/docker-postgres/Upgrade.md b/roles/service-rdbms-postgres/Upgrade.md similarity index 100% rename from roles/docker-postgres/Upgrade.md rename to roles/service-rdbms-postgres/Upgrade.md diff --git a/roles/docker-postgres/meta/main.yml b/roles/service-rdbms-postgres/meta/main.yml similarity index 100% rename from roles/docker-postgres/meta/main.yml rename to roles/service-rdbms-postgres/meta/main.yml diff --git a/roles/docker-postgres/meta/schema.yml b/roles/service-rdbms-postgres/meta/schema.yml similarity index 100% rename from roles/docker-postgres/meta/schema.yml rename to roles/service-rdbms-postgres/meta/schema.yml diff --git a/roles/docker-postgres/tasks/init_database.yml b/roles/service-rdbms-postgres/tasks/init_database.yml similarity index 100% rename from roles/docker-postgres/tasks/init_database.yml rename to roles/service-rdbms-postgres/tasks/init_database.yml diff --git a/roles/docker-postgres/tasks/main.yml b/roles/service-rdbms-postgres/tasks/main.yml similarity index 98% rename from roles/docker-postgres/tasks/main.yml rename to roles/service-rdbms-postgres/tasks/main.yml index eb1247f1..7bd6cfa5 100644 --- a/roles/docker-postgres/tasks/main.yml +++ b/roles/service-rdbms-postgres/tasks/main.yml @@ -13,7 +13,7 @@ detach: yes env: POSTGRES_PASSWORD: "{{ applications[application_id].credentials.postgres_password }}" - POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" # Necessary for docker-matrix + POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" # Necessary for web-app-matrix networks: - name: central_postgres published_ports: diff --git a/roles/docker-postgres/vars/configuration.yml b/roles/service-rdbms-postgres/vars/configuration.yml similarity index 100% rename from roles/docker-postgres/vars/configuration.yml rename to roles/service-rdbms-postgres/vars/configuration.yml diff --git a/roles/docker-postgres/vars/main.yml b/roles/service-rdbms-postgres/vars/main.yml similarity index 100% rename from roles/docker-postgres/vars/main.yml rename to roles/service-rdbms-postgres/vars/main.yml diff --git a/roles/system-btrfs-auto-balancer/handlers/main.yml b/roles/system-btrfs-auto-balancer/handlers/main.yml deleted file mode 100644 index cbd52a8b..00000000 --- a/roles/system-btrfs-auto-balancer/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "reload system-btrfs-auto-balancer.cymais.service" - systemd: - name: system-btrfs-auto-balancer.cymais.service - daemon_reload: yes \ No newline at end of file diff --git a/roles/system-storage-optimizer/handlers/main.yml b/roles/system-storage-optimizer/handlers/main.yml deleted file mode 100644 index 439e7244..00000000 --- a/roles/system-storage-optimizer/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "reload system-storage-optimizer.cymais.service" - systemd: - name: system-storage-optimizer.cymais.service - state: reloaded - daemon_reload: yes diff --git a/roles/system-storage-optimizer/tasks/main.yml b/roles/system-storage-optimizer/tasks/main.yml deleted file mode 100644 index f7fc9c34..00000000 --- a/roles/system-storage-optimizer/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ -- name: "create {{storage_optimizer_directory}}" - file: - path: "{{storage_optimizer_directory}}" - state: directory - mode: 0755 - -- name: create system-storage-optimizer.cymais.service - template: - src: system-storage-optimizer.service.j2 - dest: /etc/systemd/system/system-storage-optimizer.cymais.service - notify: reload system-storage-optimizer.cymais.service - -- name: create system-storage-optimizer.py - copy: - src: system-storage-optimizer.py - dest: "{{storage_optimizer_script}}" - mode: 0755 - -- name: "optimize storage performance" - systemd: - name: system-storage-optimizer.cymais.service - state: started \ No newline at end of file diff --git a/roles/system-storage-optimizer/vars/main.yml b/roles/system-storage-optimizer/vars/main.yml deleted file mode 100644 index 9a84ca22..00000000 --- a/roles/system-storage-optimizer/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -storage_optimizer_directory: "{{path_administrator_scripts}}system-storage-optimizer/" -storage_optimizer_script: "{{storage_optimizer_directory}}system-storage-optimizer.py" \ No newline at end of file diff --git a/roles/systemd-notifier-email/handlers/main.yml b/roles/systemd-notifier-email/handlers/main.yml deleted file mode 100644 index e2d5877e..00000000 --- a/roles/systemd-notifier-email/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "restart systemd-notifier-email service" - systemd: - name: systemd-notifier-email.cymais.service - daemon_reload: yes diff --git a/roles/systemd-notifier-email/vars/main.yml b/roles/systemd-notifier-email/vars/main.yml deleted file mode 100644 index d47c0719..00000000 --- a/roles/systemd-notifier-email/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -systemd_notifier_email_folder: "{{path_administrator_scripts}}systemd-notifier-email/" \ No newline at end of file diff --git a/roles/systemd-notifier-telegram/handlers/main.yml b/roles/systemd-notifier-telegram/handlers/main.yml deleted file mode 100644 index ee539150..00000000 --- a/roles/systemd-notifier-telegram/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: "restart systemd-notifier-telegram service" - systemd: - name: systemd-notifier-telegram.cymais.service - daemon_reload: yes diff --git a/roles/systemd-notifier-telegram/vars/main.yml b/roles/systemd-notifier-telegram/vars/main.yml deleted file mode 100644 index 9a014f7d..00000000 --- a/roles/systemd-notifier-telegram/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -systemd_telegram_folder: "/opt/ansible-roles/systemd-notifier-telegram/" -systemd_telegram_script: "{{systemd_telegram_folder}}systemd-notifier-telegram.sh" diff --git a/roles/systemd-notifier/templates/systemd-notifier@.service.j2 b/roles/systemd-notifier/templates/systemd-notifier@.service.j2 deleted file mode 100644 index 3390d5d3..00000000 --- a/roles/systemd-notifier/templates/systemd-notifier@.service.j2 +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Notifier for %i - -[Service] -Type=oneshot -ExecStart=/usr/bin/systemctl start systemd-notifier-telegram.cymais@%i.service systemd-notifier-email.cymais@%i.service -User=root -Group=systemd-journal diff --git a/roles/update-docker/meta/main.yml b/roles/update-docker/meta/main.yml index 3caef012..02670531 100644 --- a/roles/update-docker/meta/main.yml +++ b/roles/update-docker/meta/main.yml @@ -27,4 +27,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - system-maintenance-lock + - maintenance-lock diff --git a/roles/update-docker/templates/update-docker.service.j2 b/roles/update-docker/templates/update-docker.service.j2 index 5e1c421d..fca51e70 100644 --- a/roles/update-docker/templates/update-docker.service.j2 +++ b/roles/update-docker/templates/update-docker.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Updates Docker Instances -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/roles/update-pip/meta/main.yml b/roles/update-pip/meta/main.yml index 563b1b46..6234d6ec 100644 --- a/roles/update-pip/meta/main.yml +++ b/roles/update-pip/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: - update - maintenance dependencies: - - python-pip \ No newline at end of file + - generic-python-pip \ No newline at end of file diff --git a/roles/update-yay/meta/main.yml b/roles/update-yay/meta/main.yml index 4856b720..22de80d7 100644 --- a/roles/update-yay/meta/main.yml +++ b/roles/update-yay/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - system-aur-helper \ No newline at end of file + - generic-aur-helper \ No newline at end of file diff --git a/roles/user-administrator/meta/main.yml b/roles/user-administrator/meta/main.yml index 432a7a43..937b3e15 100644 --- a/roles/user-administrator/meta/main.yml +++ b/roles/user-administrator/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - sudo \ No newline at end of file + - core-sudo \ No newline at end of file diff --git a/roles/docker-akaunting/Administration.md b/roles/web-app-akaunting/Administration.md similarity index 100% rename from roles/docker-akaunting/Administration.md rename to roles/web-app-akaunting/Administration.md diff --git a/roles/docker-akaunting/Installation.md b/roles/web-app-akaunting/Installation.md similarity index 100% rename from roles/docker-akaunting/Installation.md rename to roles/web-app-akaunting/Installation.md diff --git a/roles/docker-akaunting/README.md b/roles/web-app-akaunting/README.md similarity index 100% rename from roles/docker-akaunting/README.md rename to roles/web-app-akaunting/README.md diff --git a/roles/docker-akaunting/meta/main.yml b/roles/web-app-akaunting/meta/main.yml similarity index 92% rename from roles/docker-akaunting/meta/main.yml rename to roles/web-app-akaunting/meta/main.yml index af6cc708..85d501b3 100644 --- a/roles/docker-akaunting/meta/main.yml +++ b/roles/web-app-akaunting/meta/main.yml @@ -20,6 +20,6 @@ galaxy_info: logo: class: "fa-solid fa-file-invoice-dollar" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu \ No newline at end of file + - web-app-matomo + - web-app-keycloak + - web-app-mailu \ No newline at end of file diff --git a/roles/docker-akaunting/meta/schema.yml b/roles/web-app-akaunting/meta/schema.yml similarity index 100% rename from roles/docker-akaunting/meta/schema.yml rename to roles/web-app-akaunting/meta/schema.yml diff --git a/roles/docker-akaunting/tasks/main.yml b/roles/web-app-akaunting/tasks/main.yml similarity index 74% rename from roles/docker-akaunting/tasks/main.yml rename to roles/web-app-akaunting/tasks/main.yml index 13de79d6..fec0e605 100644 --- a/roles/docker-akaunting/tasks/main.yml +++ b/roles/web-app-akaunting/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-akaunting/templates/docker-compose.yml.j2 b/roles/web-app-akaunting/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-akaunting/templates/docker-compose.yml.j2 rename to roles/web-app-akaunting/templates/docker-compose.yml.j2 diff --git a/roles/docker-akaunting/templates/env.j2 b/roles/web-app-akaunting/templates/env.j2 similarity index 100% rename from roles/docker-akaunting/templates/env.j2 rename to roles/web-app-akaunting/templates/env.j2 diff --git a/roles/docker-akaunting/vars/configuration.yml b/roles/web-app-akaunting/vars/configuration.yml similarity index 100% rename from roles/docker-akaunting/vars/configuration.yml rename to roles/web-app-akaunting/vars/configuration.yml diff --git a/roles/docker-akaunting/vars/main.yml b/roles/web-app-akaunting/vars/main.yml similarity index 100% rename from roles/docker-akaunting/vars/main.yml rename to roles/web-app-akaunting/vars/main.yml diff --git a/roles/docker-attendize/Installation.md b/roles/web-app-attendize/Installation.md similarity index 100% rename from roles/docker-attendize/Installation.md rename to roles/web-app-attendize/Installation.md diff --git a/roles/docker-attendize/README.md b/roles/web-app-attendize/README.md similarity index 100% rename from roles/docker-attendize/README.md rename to roles/web-app-attendize/README.md diff --git a/roles/docker-attendize/TODO.md b/roles/web-app-attendize/TODO.md similarity index 100% rename from roles/docker-attendize/TODO.md rename to roles/web-app-attendize/TODO.md diff --git a/roles/docker-attendize/meta/main.yml b/roles/web-app-attendize/meta/main.yml similarity index 92% rename from roles/docker-attendize/meta/main.yml rename to roles/web-app-attendize/meta/main.yml index c7804bbc..a0feac5a 100644 --- a/roles/docker-attendize/meta/main.yml +++ b/roles/web-app-attendize/meta/main.yml @@ -20,7 +20,7 @@ galaxy_info: logo: class: "fa-solid fa-calendar-check" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-attendize/meta/schema.yml b/roles/web-app-attendize/meta/schema.yml similarity index 100% rename from roles/docker-attendize/meta/schema.yml rename to roles/web-app-attendize/meta/schema.yml diff --git a/roles/docker-attendize/tasks/main.yml b/roles/web-app-attendize/tasks/main.yml similarity index 77% rename from roles/docker-attendize/tasks/main.yml rename to roles/web-app-attendize/tasks/main.yml index 1359cdc8..1df04a02 100644 --- a/roles/docker-attendize/tasks/main.yml +++ b/roles/web-app-attendize/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer vars: domain: "{{ item }}" http_port: "{{ ports.localhost.http[application_id] }}" @@ -15,7 +15,7 @@ - name: configure {{domains | get_domain(application_id)}}.conf template: - src: roles/nginx-docker-reverse-proxy/templates/vhost/basic.conf.j2 + src: roles/webserver-proxy-core/templates/vhost/basic.conf.j2 dest: "{{nginx.directories.http.servers}}{{domains | get_domain(application_id)}}.conf" notify: restart nginx diff --git a/roles/docker-attendize/templates/docker-compose.yml.j2 b/roles/web-app-attendize/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-attendize/templates/docker-compose.yml.j2 rename to roles/web-app-attendize/templates/docker-compose.yml.j2 diff --git a/roles/docker-attendize/vars/configuration.yml b/roles/web-app-attendize/vars/configuration.yml similarity index 100% rename from roles/docker-attendize/vars/configuration.yml rename to roles/web-app-attendize/vars/configuration.yml diff --git a/roles/docker-attendize/vars/main.yml b/roles/web-app-attendize/vars/main.yml similarity index 100% rename from roles/docker-attendize/vars/main.yml rename to roles/web-app-attendize/vars/main.yml diff --git a/roles/docker-baserow/README.md b/roles/web-app-baserow/README.md similarity index 100% rename from roles/docker-baserow/README.md rename to roles/web-app-baserow/README.md diff --git a/roles/docker-baserow/meta/main.yml b/roles/web-app-baserow/meta/main.yml similarity index 92% rename from roles/docker-baserow/meta/main.yml rename to roles/web-app-baserow/meta/main.yml index dc37ca4e..573ab19f 100644 --- a/roles/docker-baserow/meta/main.yml +++ b/roles/web-app-baserow/meta/main.yml @@ -19,6 +19,6 @@ galaxy_info: logo: class: "fa-solid fa-table" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu diff --git a/roles/docker-baserow/meta/schema.yml b/roles/web-app-baserow/meta/schema.yml similarity index 100% rename from roles/docker-baserow/meta/schema.yml rename to roles/web-app-baserow/meta/schema.yml diff --git a/roles/web-app-baserow/tasks/main.yml b/roles/web-app-baserow/tasks/main.yml new file mode 100644 index 00000000..a5ee240f --- /dev/null +++ b/roles/web-app-baserow/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" \ No newline at end of file diff --git a/roles/docker-baserow/templates/docker-compose.yml.j2 b/roles/web-app-baserow/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-baserow/templates/docker-compose.yml.j2 rename to roles/web-app-baserow/templates/docker-compose.yml.j2 diff --git a/roles/docker-baserow/templates/env.j2 b/roles/web-app-baserow/templates/env.j2 similarity index 100% rename from roles/docker-baserow/templates/env.j2 rename to roles/web-app-baserow/templates/env.j2 diff --git a/roles/docker-baserow/vars/configuration.yml b/roles/web-app-baserow/vars/configuration.yml similarity index 100% rename from roles/docker-baserow/vars/configuration.yml rename to roles/web-app-baserow/vars/configuration.yml diff --git a/roles/docker-baserow/vars/main.yml b/roles/web-app-baserow/vars/main.yml similarity index 100% rename from roles/docker-baserow/vars/main.yml rename to roles/web-app-baserow/vars/main.yml diff --git a/roles/docker-bigbluebutton/README.md b/roles/web-app-bigbluebutton/README.md similarity index 94% rename from roles/docker-bigbluebutton/README.md rename to roles/web-app-bigbluebutton/README.md index 70137e3b..1a59718a 100644 --- a/roles/docker-bigbluebutton/README.md +++ b/roles/web-app-bigbluebutton/README.md @@ -35,13 +35,13 @@ By default, BigBlueButton is deployed with best-practice hardening, modular secr ## System Requirements - Arch Linux with Docker, Compose, and Nginx roles pre-installed -- DNS and reverse proxy configuration using `nginx-docker-reverse-proxy` +- DNS and reverse proxy configuration using `webserver-proxy-core` - Functional email system for Greenlight SMTP ## Important Resources - [BigBlueButton Docker Docs](https://docs.bigbluebutton.org/greenlight/gl-install.html#setting-bigbluebutton-credentials) -- [Networking Fixes & Issues](https://stackoverflow.com/questions/53347951/docker-network-not-found) -- [Traefik + Docker Tutorial](https://goneuland.de/big-blue-button-mit-docker-und-traefik-installieren/) +- [Networking Fixes & Issues](https://stackoverflow.com/questions/53347951/web-app-network-not-found) +- [Traefik + Docker Tutorial](https://goneuland.de/big-blue-button-mit-web-app-und-traefik-installieren/) - [Etherpad Healthcheck Bug](https://chatgpt.com/c/67a0fc7e-5104-800f-bb6b-3731e2f83b7b) - [Virtual Interfaces Cleanup](https://www.cyberciti.biz/faq/linux-command-to-remove-virtual-interfaces-or-network-aliases/) \ No newline at end of file diff --git a/roles/docker-bigbluebutton/Setup.md b/roles/web-app-bigbluebutton/Setup.md similarity index 100% rename from roles/docker-bigbluebutton/Setup.md rename to roles/web-app-bigbluebutton/Setup.md diff --git a/roles/docker-bigbluebutton/TODO.md b/roles/web-app-bigbluebutton/TODO.md similarity index 100% rename from roles/docker-bigbluebutton/TODO.md rename to roles/web-app-bigbluebutton/TODO.md diff --git a/roles/docker-bigbluebutton/files/websocket_upgrade.conf b/roles/web-app-bigbluebutton/files/websocket_upgrade.conf similarity index 100% rename from roles/docker-bigbluebutton/files/websocket_upgrade.conf rename to roles/web-app-bigbluebutton/files/websocket_upgrade.conf diff --git a/roles/docker-bigbluebutton/handlers/main.yml b/roles/web-app-bigbluebutton/handlers/main.yml similarity index 100% rename from roles/docker-bigbluebutton/handlers/main.yml rename to roles/web-app-bigbluebutton/handlers/main.yml diff --git a/roles/docker-bigbluebutton/meta/main.yml b/roles/web-app-bigbluebutton/meta/main.yml similarity index 97% rename from roles/docker-bigbluebutton/meta/main.yml rename to roles/web-app-bigbluebutton/meta/main.yml index 6a0a0e45..816c38b2 100644 --- a/roles/docker-bigbluebutton/meta/main.yml +++ b/roles/web-app-bigbluebutton/meta/main.yml @@ -30,4 +30,4 @@ galaxy_info: logo: class: "fa-solid fa-chalkboard-teacher" run_after: - - docker-keycloak \ No newline at end of file + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-bigbluebutton/meta/schema.yml b/roles/web-app-bigbluebutton/meta/schema.yml similarity index 100% rename from roles/docker-bigbluebutton/meta/schema.yml rename to roles/web-app-bigbluebutton/meta/schema.yml diff --git a/roles/docker-bigbluebutton/tasks/main.yml b/roles/web-app-bigbluebutton/tasks/main.yml similarity index 95% rename from roles/docker-bigbluebutton/tasks/main.yml rename to roles/web-app-bigbluebutton/tasks/main.yml index 102334df..0b877ec6 100644 --- a/roles/docker-bigbluebutton/tasks/main.yml +++ b/roles/web-app-bigbluebutton/tasks/main.yml @@ -17,9 +17,9 @@ database_username: "postgres" database_name: "" # Multiple databases -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain - name: pull docker repository git: diff --git a/roles/docker-bigbluebutton/templates/env.j2 b/roles/web-app-bigbluebutton/templates/env.j2 similarity index 100% rename from roles/docker-bigbluebutton/templates/env.j2 rename to roles/web-app-bigbluebutton/templates/env.j2 diff --git a/roles/docker-bigbluebutton/vars/configuration.yml b/roles/web-app-bigbluebutton/vars/configuration.yml similarity index 100% rename from roles/docker-bigbluebutton/vars/configuration.yml rename to roles/web-app-bigbluebutton/vars/configuration.yml diff --git a/roles/docker-bigbluebutton/vars/main.yml b/roles/web-app-bigbluebutton/vars/main.yml similarity index 100% rename from roles/docker-bigbluebutton/vars/main.yml rename to roles/web-app-bigbluebutton/vars/main.yml diff --git a/roles/docker-bluesky/Administration.md b/roles/web-app-bluesky/Administration.md similarity index 100% rename from roles/docker-bluesky/Administration.md rename to roles/web-app-bluesky/Administration.md diff --git a/roles/docker-bluesky/Installation.md b/roles/web-app-bluesky/Installation.md similarity index 100% rename from roles/docker-bluesky/Installation.md rename to roles/web-app-bluesky/Installation.md diff --git a/roles/docker-bluesky/README.md b/roles/web-app-bluesky/README.md similarity index 97% rename from roles/docker-bluesky/README.md rename to roles/web-app-bluesky/README.md index 9f6d62d1..502f2e8b 100644 --- a/roles/docker-bluesky/README.md +++ b/roles/web-app-bluesky/README.md @@ -22,7 +22,7 @@ For DNS configuration and other setup details, please refer to [Installation.md] ## Further Resources -- [Self-hosting Bluesky with Docker and SWAG](https://therobbiedavis.com/selfhosting-bluesky-with-docker-and-swag/) +- [Self-hosting Bluesky with Docker and SWAG](https://therobbiedavis.com/selfhosting-bluesky-with-web-app-and-swag/) - [Notes on Self-hosting Bluesky PDS with Other Services](https://cprimozic.net/notes/posts/notes-on-self-hosting-bluesky-pds-alongside-other-services/) - [Bluesky PDS GitHub Repository](https://github.com/bluesky-social/pds) - [Social App Repository Discussion](https://chatgpt.com/c/678a2eb6-145c-800f-bf51-ff706981a928) diff --git a/roles/docker-bluesky/meta/main.yml b/roles/web-app-bluesky/meta/main.yml similarity index 92% rename from roles/docker-bluesky/meta/main.yml rename to roles/web-app-bluesky/meta/main.yml index 8fdeb0d3..a7f7b862 100644 --- a/roles/docker-bluesky/meta/main.yml +++ b/roles/web-app-bluesky/meta/main.yml @@ -19,7 +19,7 @@ galaxy_info: logo: class: "fa-solid fa-sun" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-bluesky/meta/schema.yml b/roles/web-app-bluesky/meta/schema.yml similarity index 100% rename from roles/docker-bluesky/meta/schema.yml rename to roles/web-app-bluesky/meta/schema.yml diff --git a/roles/docker-bluesky/meta/users.yml b/roles/web-app-bluesky/meta/users.yml similarity index 100% rename from roles/docker-bluesky/meta/users.yml rename to roles/web-app-bluesky/meta/users.yml diff --git a/roles/docker-bluesky/tasks/main.yml b/roles/web-app-bluesky/tasks/main.yml similarity index 92% rename from roles/docker-bluesky/tasks/main.yml rename to roles/web-app-bluesky/tasks/main.yml index d283dd17..46388b31 100644 --- a/roles/docker-bluesky/tasks/main.yml +++ b/roles/web-app-bluesky/tasks/main.yml @@ -2,9 +2,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ item.domain }}" http_port: "{{ item.http_port }}" diff --git a/roles/docker-bluesky/templates/docker-compose.yml.j2 b/roles/web-app-bluesky/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-bluesky/templates/docker-compose.yml.j2 rename to roles/web-app-bluesky/templates/docker-compose.yml.j2 diff --git a/roles/docker-bluesky/templates/env.j2 b/roles/web-app-bluesky/templates/env.j2 similarity index 100% rename from roles/docker-bluesky/templates/env.j2 rename to roles/web-app-bluesky/templates/env.j2 diff --git a/roles/docker-bluesky/vars/configuration.yml b/roles/web-app-bluesky/vars/configuration.yml similarity index 100% rename from roles/docker-bluesky/vars/configuration.yml rename to roles/web-app-bluesky/vars/configuration.yml diff --git a/roles/docker-bluesky/vars/main.yml b/roles/web-app-bluesky/vars/main.yml similarity index 100% rename from roles/docker-bluesky/vars/main.yml rename to roles/web-app-bluesky/vars/main.yml diff --git a/roles/docker-bookwyrm/Todo.md b/roles/web-app-bookwyrm/Todo.md similarity index 100% rename from roles/docker-bookwyrm/Todo.md rename to roles/web-app-bookwyrm/Todo.md diff --git a/roles/docker-bookwyrm/vars/main.yml b/roles/web-app-bookwyrm/vars/main.yml similarity index 100% rename from roles/docker-bookwyrm/vars/main.yml rename to roles/web-app-bookwyrm/vars/main.yml diff --git a/roles/docker-chess/Readme.md b/roles/web-app-chess/Readme.md similarity index 100% rename from roles/docker-chess/Readme.md rename to roles/web-app-chess/Readme.md diff --git a/roles/docker-chess/vars/main.yml b/roles/web-app-chess/vars/main.yml similarity index 100% rename from roles/docker-chess/vars/main.yml rename to roles/web-app-chess/vars/main.yml diff --git a/roles/docker-collabora/README.md b/roles/web-app-collabora/README.md similarity index 94% rename from roles/docker-collabora/README.md rename to roles/web-app-collabora/README.md index 93c9c521..a0f84975 100644 --- a/roles/docker-collabora/README.md +++ b/roles/web-app-collabora/README.md @@ -21,7 +21,7 @@ This Ansible role deploys Collabora Online (CODE) in Docker to enable real-time, ## Documentation -See the role’s `README.md`, task files, and Jinja2 templates in the `roles/docker-collabora` directory for usage examples and variable definitions. +See the role’s `README.md`, task files, and Jinja2 templates in the `roles/web-app-collabora` directory for usage examples and variable definitions. ## Further Resources diff --git a/roles/docker-collabora/meta/main.yml b/roles/web-app-collabora/meta/main.yml similarity index 91% rename from roles/docker-collabora/meta/main.yml rename to roles/web-app-collabora/meta/main.yml index dc1673e5..3208d156 100644 --- a/roles/docker-collabora/meta/main.yml +++ b/roles/web-app-collabora/meta/main.yml @@ -22,7 +22,7 @@ galaxy_info: - code repository: "https://s.veen.world/cymais" issue_tracker_url: "https://s.veen.world/cymaisissues" - documentation: "https://s.veen.world/cymais/docker-collabora" + documentation: "https://s.veen.world/cymais/web-app-collabora" logo: class: "fa-solid fa-file-code" run_after: [] diff --git a/roles/docker-collabora/tasks/main.yml b/roles/web-app-collabora/tasks/main.yml similarity index 100% rename from roles/docker-collabora/tasks/main.yml rename to roles/web-app-collabora/tasks/main.yml diff --git a/roles/docker-collabora/templates/docker-compose.yml.j2 b/roles/web-app-collabora/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-collabora/templates/docker-compose.yml.j2 rename to roles/web-app-collabora/templates/docker-compose.yml.j2 diff --git a/roles/docker-collabora/templates/env.j2 b/roles/web-app-collabora/templates/env.j2 similarity index 100% rename from roles/docker-collabora/templates/env.j2 rename to roles/web-app-collabora/templates/env.j2 diff --git a/roles/web-app-collabora/templates/nginx.conf.j2 b/roles/web-app-collabora/templates/nginx.conf.j2 new file mode 100644 index 00000000..535516bd --- /dev/null +++ b/roles/web-app-collabora/templates/nginx.conf.j2 @@ -0,0 +1,15 @@ +server { + server_name {{domain}}; + + {% include 'roles/letsencrypt/templates/ssl_header.j2' %} + + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} + + {% include 'roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2' %} + + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} + + {% set location = '^~ /cool/' %} + + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} +} \ No newline at end of file diff --git a/roles/docker-collabora/vars/configuration.yml b/roles/web-app-collabora/vars/configuration.yml similarity index 100% rename from roles/docker-collabora/vars/configuration.yml rename to roles/web-app-collabora/vars/configuration.yml diff --git a/roles/docker-collabora/vars/main.yml b/roles/web-app-collabora/vars/main.yml similarity index 100% rename from roles/docker-collabora/vars/main.yml rename to roles/web-app-collabora/vars/main.yml diff --git a/roles/docker-coturn/README.md b/roles/web-app-coturn/README.md similarity index 100% rename from roles/docker-coturn/README.md rename to roles/web-app-coturn/README.md diff --git a/roles/docker-coturn/TODO.md b/roles/web-app-coturn/TODO.md similarity index 100% rename from roles/docker-coturn/TODO.md rename to roles/web-app-coturn/TODO.md diff --git a/roles/web-app-coturn/tasks/main.yml b/roles/web-app-coturn/tasks/main.yml new file mode 100644 index 00000000..61682a38 --- /dev/null +++ b/roles/web-app-coturn/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-coturn/templates/docker-compose.yml.j2 b/roles/web-app-coturn/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-coturn/templates/docker-compose.yml.j2 rename to roles/web-app-coturn/templates/docker-compose.yml.j2 diff --git a/roles/docker-coturn/templates/env.j2 b/roles/web-app-coturn/templates/env.j2 similarity index 100% rename from roles/docker-coturn/templates/env.j2 rename to roles/web-app-coturn/templates/env.j2 diff --git a/roles/docker-coturn/vars/configuration.yml.j2 b/roles/web-app-coturn/vars/configuration.yml.j2 similarity index 100% rename from roles/docker-coturn/vars/configuration.yml.j2 rename to roles/web-app-coturn/vars/configuration.yml.j2 diff --git a/roles/docker-coturn/vars/main.yml b/roles/web-app-coturn/vars/main.yml similarity index 100% rename from roles/docker-coturn/vars/main.yml rename to roles/web-app-coturn/vars/main.yml diff --git a/roles/docker-discourse/Administration.md b/roles/web-app-discourse/Administration.md similarity index 100% rename from roles/docker-discourse/Administration.md rename to roles/web-app-discourse/Administration.md diff --git a/roles/docker-discourse/Debug.md b/roles/web-app-discourse/Debug.md similarity index 96% rename from roles/docker-discourse/Debug.md rename to roles/web-app-discourse/Debug.md index c0713f9b..fab04e9c 100644 --- a/roles/docker-discourse/Debug.md +++ b/roles/web-app-discourse/Debug.md @@ -1,6 +1,6 @@ ## Discourse Debugging Guide for Docker Role -This document explains how to locate and use key log file paths on both the host and inside the container for a Docker-based Discourse installation deployed via the `docker-discourse` role. +This document explains how to locate and use key log file paths on both the host and inside the container for a Docker-based Discourse installation deployed via the `web-app-discourse` role. ### 1. Host Paths @@ -103,4 +103,4 @@ In the Admin UI under **Plugins → Sidekiq**, monitor queues, retries, and fail --- -Use this guide to quickly locate and interpret Discourse logs on both host and container, enabling efficient debugging of email delivery and background job issues in a Docker deployment managed by the `docker-discourse` role. +Use this guide to quickly locate and interpret Discourse logs on both host and container, enabling efficient debugging of email delivery and background job issues in a Docker deployment managed by the `web-app-discourse` role. diff --git a/roles/docker-discourse/README.md b/roles/web-app-discourse/README.md similarity index 100% rename from roles/docker-discourse/README.md rename to roles/web-app-discourse/README.md diff --git a/roles/docker-discourse/Todo.md b/roles/web-app-discourse/Todo.md similarity index 100% rename from roles/docker-discourse/Todo.md rename to roles/web-app-discourse/Todo.md diff --git a/roles/docker-discourse/handlers/main.yml b/roles/web-app-discourse/handlers/main.yml similarity index 100% rename from roles/docker-discourse/handlers/main.yml rename to roles/web-app-discourse/handlers/main.yml diff --git a/roles/docker-discourse/meta/main.yml b/roles/web-app-discourse/meta/main.yml similarity index 96% rename from roles/docker-discourse/meta/main.yml rename to roles/web-app-discourse/meta/main.yml index 5804aad4..2bdbcee4 100644 --- a/roles/docker-discourse/meta/main.yml +++ b/roles/web-app-discourse/meta/main.yml @@ -20,5 +20,5 @@ galaxy_info: logo: class: "fa-solid fa-comments" run_after: - - docker-wordpress + - web-app-wordpress dependencies: [] diff --git a/roles/docker-discourse/meta/schema.yml b/roles/web-app-discourse/meta/schema.yml similarity index 100% rename from roles/docker-discourse/meta/schema.yml rename to roles/web-app-discourse/meta/schema.yml diff --git a/roles/docker-discourse/tasks/main.yml b/roles/web-app-discourse/tasks/main.yml similarity index 94% rename from roles/docker-discourse/tasks/main.yml rename to roles/web-app-discourse/tasks/main.yml index 622abffb..a3826a26 100644 --- a/roles/docker-discourse/tasks/main.yml +++ b/roles/web-app-discourse/tasks/main.yml @@ -7,14 +7,14 @@ state: present when: run_once_docker_discourse is not defined -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central when: run_once_docker_discourse is not defined -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-discourse/templates/discourse_application.yml.j2 b/roles/web-app-discourse/templates/discourse_application.yml.j2 similarity index 100% rename from roles/docker-discourse/templates/discourse_application.yml.j2 rename to roles/web-app-discourse/templates/discourse_application.yml.j2 diff --git a/roles/docker-discourse/templates/docker-compose.yml.j2 b/roles/web-app-discourse/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-discourse/templates/docker-compose.yml.j2 rename to roles/web-app-discourse/templates/docker-compose.yml.j2 diff --git a/roles/docker-discourse/vars/configuration.yml b/roles/web-app-discourse/vars/configuration.yml similarity index 100% rename from roles/docker-discourse/vars/configuration.yml rename to roles/web-app-discourse/vars/configuration.yml diff --git a/roles/docker-discourse/vars/main.yml b/roles/web-app-discourse/vars/main.yml similarity index 100% rename from roles/docker-discourse/vars/main.yml rename to roles/web-app-discourse/vars/main.yml diff --git a/roles/docker-elk/Administration.md b/roles/web-app-elk/Administration.md similarity index 100% rename from roles/docker-elk/Administration.md rename to roles/web-app-elk/Administration.md diff --git a/roles/docker-elk/README.md b/roles/web-app-elk/README.md similarity index 100% rename from roles/docker-elk/README.md rename to roles/web-app-elk/README.md diff --git a/roles/docker-elk/TODO.md b/roles/web-app-elk/TODO.md similarity index 100% rename from roles/docker-elk/TODO.md rename to roles/web-app-elk/TODO.md diff --git a/roles/web-app-elk/defaults/main.yml b/roles/web-app-elk/defaults/main.yml new file mode 100644 index 00000000..5bff7199 --- /dev/null +++ b/roles/web-app-elk/defaults/main.yml @@ -0,0 +1,2 @@ +--- +docker_elk_compose_path: "/srv/github.com/kevinveenbirkenbach/web-app-elk/" diff --git a/roles/docker-elk/files/elasticsearch-sysctl.conf b/roles/web-app-elk/files/elasticsearch-sysctl.conf similarity index 100% rename from roles/docker-elk/files/elasticsearch-sysctl.conf rename to roles/web-app-elk/files/elasticsearch-sysctl.conf diff --git a/roles/docker-elk/handlers/main.yml b/roles/web-app-elk/handlers/main.yml similarity index 83% rename from roles/docker-elk/handlers/main.yml rename to roles/web-app-elk/handlers/main.yml index e295b64c..16ad42ba 100644 --- a/roles/docker-elk/handlers/main.yml +++ b/roles/web-app-elk/handlers/main.yml @@ -1,5 +1,5 @@ --- -- name: recreate docker-elk +- name: recreate web-app-elk command: cmd: docker-compose up -d --force-recreate chdir: "{{docker_elk_compose_path}}" diff --git a/roles/docker-elk/meta/main.yml b/roles/web-app-elk/meta/main.yml similarity index 100% rename from roles/docker-elk/meta/main.yml rename to roles/web-app-elk/meta/main.yml diff --git a/roles/docker-elk/tasks/main.yml b/roles/web-app-elk/tasks/main.yml similarity index 76% rename from roles/docker-elk/tasks/main.yml rename to roles/web-app-elk/tasks/main.yml index d5cd8ad9..6dbe3315 100644 --- a/roles/docker-elk/tasks/main.yml +++ b/roles/web-app-elk/tasks/main.yml @@ -1,8 +1,8 @@ --- -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" @@ -24,30 +24,30 @@ state: directory mode: 0755 -- name: git pull docker-elk +- name: git pull web-app-elk git: - repo: "https://github.com/kevinveenbirkenbach/docker-elk.git" + repo: "https://github.com/kevinveenbirkenbach/web-app-elk.git" dest: "{{docker_elk_compose_path}}" update: yes - notify: recreate docker-elk + notify: recreate web-app-elk ignore_errors: true - name: copy docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_elk_compose_path}}docker-compose.yml - notify: recreate docker-elk + notify: recreate web-app-elk - name: copy elasticsearch.yml template: src=elasticsearch.yml.j2 dest={{docker_elk_compose_path}}elasticsearch/config/elasticsearch.yml - notify: recreate docker-elk + notify: recreate web-app-elk - name: copy kibana.yml template: src=kibana.yml.j2 dest={{docker_elk_compose_path}}kibana/config/kibana.yml - notify: recreate docker-elk + notify: recreate web-app-elk - name: copy logstash.yml template: src=logstash.yml.j2 dest={{docker_elk_compose_path}}logstash/config/logstash.yml - notify: recreate docker-elk + notify: recreate web-app-elk - name: copy logstash.conf template: src=logstash.conf.j2 dest={{docker_elk_compose_path}}logstash/pipeline/logstash.conf - notify: recreate docker-elk + notify: recreate web-app-elk diff --git a/roles/docker-elk/templates/docker-compose.yml.j2 b/roles/web-app-elk/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-elk/templates/docker-compose.yml.j2 rename to roles/web-app-elk/templates/docker-compose.yml.j2 diff --git a/roles/docker-elk/templates/elasticsearch.yml.j2 b/roles/web-app-elk/templates/elasticsearch.yml.j2 similarity index 93% rename from roles/docker-elk/templates/elasticsearch.yml.j2 rename to roles/web-app-elk/templates/elasticsearch.yml.j2 index b06c1d21..b5a8d927 100644 --- a/roles/docker-elk/templates/elasticsearch.yml.j2 +++ b/roles/web-app-elk/templates/elasticsearch.yml.j2 @@ -2,7 +2,7 @@ ## Default Elasticsearch configuration from Elasticsearch base image. ## https://github.com/elastic/elasticsearch/blob/master/distribution/docker/src/docker/config/elasticsearch.yml # -cluster.name: "docker-cluster" +cluster.name: "web-app-cluster" network.host: 0.0.0.0 ## X-Pack settings diff --git a/roles/docker-elk/templates/kibana.yml.j2 b/roles/web-app-elk/templates/kibana.yml.j2 similarity index 100% rename from roles/docker-elk/templates/kibana.yml.j2 rename to roles/web-app-elk/templates/kibana.yml.j2 diff --git a/roles/docker-elk/templates/logstash.conf.j2 b/roles/web-app-elk/templates/logstash.conf.j2 similarity index 100% rename from roles/docker-elk/templates/logstash.conf.j2 rename to roles/web-app-elk/templates/logstash.conf.j2 diff --git a/roles/docker-elk/templates/logstash.yml.j2 b/roles/web-app-elk/templates/logstash.yml.j2 similarity index 100% rename from roles/docker-elk/templates/logstash.yml.j2 rename to roles/web-app-elk/templates/logstash.yml.j2 diff --git a/roles/docker-elk/vars/configuration.yml b/roles/web-app-elk/vars/configuration.yml similarity index 100% rename from roles/docker-elk/vars/configuration.yml rename to roles/web-app-elk/vars/configuration.yml diff --git a/roles/docker-elk/vars/main.yml b/roles/web-app-elk/vars/main.yml similarity index 100% rename from roles/docker-elk/vars/main.yml rename to roles/web-app-elk/vars/main.yml diff --git a/roles/docker-espocrm/README.md b/roles/web-app-espocrm/README.md similarity index 96% rename from roles/docker-espocrm/README.md rename to roles/web-app-espocrm/README.md index 14a6bc20..7119426e 100644 --- a/roles/docker-espocrm/README.md +++ b/roles/web-app-espocrm/README.md @@ -8,7 +8,7 @@ Enhance your sales and service processes with EspoCRM, an open-source CRM featur This Ansible role deploys EspoCRM using Docker. It handles: -- MariaDB database provisioning via the `docker-central-database` role +- MariaDB database provisioning via the `service-rdbms-central` role - Nginx domain setup with WebSocket and reverse-proxy configuration - Environment variable management through Jinja2 templates - Docker Compose orchestration for **web**, **daemon**, and **websocket** services diff --git a/roles/docker-espocrm/meta/main.yml b/roles/web-app-espocrm/meta/main.yml similarity index 94% rename from roles/docker-espocrm/meta/main.yml rename to roles/web-app-espocrm/meta/main.yml index f7a75901..4521ea49 100644 --- a/roles/docker-espocrm/meta/main.yml +++ b/roles/web-app-espocrm/meta/main.yml @@ -17,5 +17,5 @@ galaxy_info: logo: class: "fa-solid fa-phone" run_after: - - docker-keycloak - - docker-mailu \ No newline at end of file + - web-app-keycloak + - web-app-mailu \ No newline at end of file diff --git a/roles/docker-espocrm/meta/schema.yml b/roles/web-app-espocrm/meta/schema.yml similarity index 100% rename from roles/docker-espocrm/meta/schema.yml rename to roles/web-app-espocrm/meta/schema.yml diff --git a/roles/docker-espocrm/meta/users.yml b/roles/web-app-espocrm/meta/users.yml similarity index 100% rename from roles/docker-espocrm/meta/users.yml rename to roles/web-app-espocrm/meta/users.yml diff --git a/roles/docker-espocrm/tasks/main.yml b/roles/web-app-espocrm/tasks/main.yml similarity index 89% rename from roles/docker-espocrm/tasks/main.yml rename to roles/web-app-espocrm/tasks/main.yml index 7c6ac99e..6f219b53 100644 --- a/roles/docker-espocrm/tasks/main.yml +++ b/roles/web-app-espocrm/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "Include setup for domain '{{ domain }}'" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: ws_path: "/ws" ws_port: "{{ ports.localhost.websocket[application_id] }}" diff --git a/roles/docker-espocrm/templates/docker-compose.yml.j2 b/roles/web-app-espocrm/templates/docker-compose.yml.j2 similarity index 95% rename from roles/docker-espocrm/templates/docker-compose.yml.j2 rename to roles/web-app-espocrm/templates/docker-compose.yml.j2 index 6962234b..005af201 100644 --- a/roles/docker-espocrm/templates/docker-compose.yml.j2 +++ b/roles/web-app-espocrm/templates/docker-compose.yml.j2 @@ -15,7 +15,7 @@ restart: {{docker_restart_policy}} logging: driver: journald - entrypoint: docker-daemon.sh + entrypoint: web-app-daemon.sh {% include 'roles/docker-container/templates/networks.yml.j2' %} volumes: - data:/var/www/html @@ -30,7 +30,7 @@ - ESPOCRM_CONFIG_WEB_SOCKET_URL=wss://{{ domains | get_domain(application_id) }}/ws - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN=tcp://*:7777 - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN=tcp://websocket:7777 - entrypoint: docker-websocket.sh + entrypoint: web-app-websocket.sh {% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %} volumes: diff --git a/roles/docker-espocrm/templates/env.j2 b/roles/web-app-espocrm/templates/env.j2 similarity index 100% rename from roles/docker-espocrm/templates/env.j2 rename to roles/web-app-espocrm/templates/env.j2 diff --git a/roles/docker-espocrm/vars/configuration.yml b/roles/web-app-espocrm/vars/configuration.yml similarity index 100% rename from roles/docker-espocrm/vars/configuration.yml rename to roles/web-app-espocrm/vars/configuration.yml diff --git a/roles/docker-espocrm/vars/main.yml b/roles/web-app-espocrm/vars/main.yml similarity index 100% rename from roles/docker-espocrm/vars/main.yml rename to roles/web-app-espocrm/vars/main.yml diff --git a/roles/docker-friendica/Administration.md b/roles/web-app-friendica/Administration.md similarity index 100% rename from roles/docker-friendica/Administration.md rename to roles/web-app-friendica/Administration.md diff --git a/roles/docker-friendica/README.md b/roles/web-app-friendica/README.md similarity index 100% rename from roles/docker-friendica/README.md rename to roles/web-app-friendica/README.md diff --git a/roles/docker-friendica/meta/main.yml b/roles/web-app-friendica/meta/main.yml similarity index 92% rename from roles/docker-friendica/meta/main.yml rename to roles/web-app-friendica/meta/main.yml index 56d2c41c..e9e70399 100644 --- a/roles/docker-friendica/meta/main.yml +++ b/roles/web-app-friendica/meta/main.yml @@ -19,6 +19,6 @@ galaxy_info: logo: class: "fa-solid fa-users" run_after: - - docker-matomo - - docker-keycloak - - docker-ldap + - web-app-matomo + - web-app-keycloak + - service-openldap diff --git a/roles/docker-friendica/meta/schema.yml b/roles/web-app-friendica/meta/schema.yml similarity index 100% rename from roles/docker-friendica/meta/schema.yml rename to roles/web-app-friendica/meta/schema.yml diff --git a/roles/docker-friendica/tasks/main.yml b/roles/web-app-friendica/tasks/main.yml similarity index 89% rename from roles/docker-friendica/tasks/main.yml rename to roles/web-app-friendica/tasks/main.yml index 7d02debe..f78067ca 100644 --- a/roles/docker-friendica/tasks/main.yml +++ b/roles/web-app-friendica/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "create {{ friendica_host_ldap_config }}" template: @@ -14,9 +14,9 @@ notify: docker compose up when: applications | is_feature_enabled('ldap',application_id) -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-friendica/templates/docker-compose.yml.j2 b/roles/web-app-friendica/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-friendica/templates/docker-compose.yml.j2 rename to roles/web-app-friendica/templates/docker-compose.yml.j2 diff --git a/roles/docker-friendica/templates/env.j2 b/roles/web-app-friendica/templates/env.j2 similarity index 100% rename from roles/docker-friendica/templates/env.j2 rename to roles/web-app-friendica/templates/env.j2 diff --git a/roles/docker-friendica/templates/ldapauth.config.php.j2 b/roles/web-app-friendica/templates/ldapauth.config.php.j2 similarity index 100% rename from roles/docker-friendica/templates/ldapauth.config.php.j2 rename to roles/web-app-friendica/templates/ldapauth.config.php.j2 diff --git a/roles/docker-friendica/vars/configuration.yml b/roles/web-app-friendica/vars/configuration.yml similarity index 100% rename from roles/docker-friendica/vars/configuration.yml rename to roles/web-app-friendica/vars/configuration.yml diff --git a/roles/docker-friendica/vars/main.yml b/roles/web-app-friendica/vars/main.yml similarity index 100% rename from roles/docker-friendica/vars/main.yml rename to roles/web-app-friendica/vars/main.yml diff --git a/roles/docker-funkwhale/Administration.md b/roles/web-app-funkwhale/Administration.md similarity index 100% rename from roles/docker-funkwhale/Administration.md rename to roles/web-app-funkwhale/Administration.md diff --git a/roles/docker-funkwhale/README.md b/roles/web-app-funkwhale/README.md similarity index 100% rename from roles/docker-funkwhale/README.md rename to roles/web-app-funkwhale/README.md diff --git a/roles/docker-funkwhale/meta/main.yml b/roles/web-app-funkwhale/meta/main.yml similarity index 89% rename from roles/docker-funkwhale/meta/main.yml rename to roles/web-app-funkwhale/meta/main.yml index c6515dac..ef5ebb90 100644 --- a/roles/docker-funkwhale/meta/main.yml +++ b/roles/web-app-funkwhale/meta/main.yml @@ -19,7 +19,7 @@ galaxy_info: logo: class: "fa-solid fa-music" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu - - docker-ldap \ No newline at end of file + - web-app-matomo + - web-app-keycloak + - web-app-mailu + - service-openldap \ No newline at end of file diff --git a/roles/docker-funkwhale/meta/schema.yml b/roles/web-app-funkwhale/meta/schema.yml similarity index 100% rename from roles/docker-funkwhale/meta/schema.yml rename to roles/web-app-funkwhale/meta/schema.yml diff --git a/roles/web-app-funkwhale/tasks/main.yml b/roles/web-app-funkwhale/tasks/main.yml new file mode 100644 index 00000000..f8b92448 --- /dev/null +++ b/roles/web-app-funkwhale/tasks/main.yml @@ -0,0 +1,13 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" + + diff --git a/roles/docker-funkwhale/templates/docker-compose.yml.j2 b/roles/web-app-funkwhale/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-funkwhale/templates/docker-compose.yml.j2 rename to roles/web-app-funkwhale/templates/docker-compose.yml.j2 diff --git a/roles/docker-funkwhale/templates/env.j2 b/roles/web-app-funkwhale/templates/env.j2 similarity index 99% rename from roles/docker-funkwhale/templates/env.j2 rename to roles/web-app-funkwhale/templates/env.j2 index d2fcd88d..c4d38278 100644 --- a/roles/docker-funkwhale/templates/env.j2 +++ b/roles/web-app-funkwhale/templates/env.j2 @@ -19,7 +19,7 @@ # ----------- MUSIC_DIRECTORY_PATH={{funkwhale_music_directory_path}} -# End of docker-only configuration +# End of web-app-only configuration # General configuration # --------------------- diff --git a/roles/docker-funkwhale/vars/configuration.yml b/roles/web-app-funkwhale/vars/configuration.yml similarity index 100% rename from roles/docker-funkwhale/vars/configuration.yml rename to roles/web-app-funkwhale/vars/configuration.yml diff --git a/roles/docker-funkwhale/vars/main.yml b/roles/web-app-funkwhale/vars/main.yml similarity index 100% rename from roles/docker-funkwhale/vars/main.yml rename to roles/web-app-funkwhale/vars/main.yml diff --git a/roles/docker-fusiondirectory/README.md b/roles/web-app-fusiondirectory/README.md similarity index 76% rename from roles/docker-fusiondirectory/README.md rename to roles/web-app-fusiondirectory/README.md index 2dfbf3a5..d322a61c 100644 --- a/roles/docker-fusiondirectory/README.md +++ b/roles/web-app-fusiondirectory/README.md @@ -2,14 +2,14 @@ ## Description -This Ansible role deploys and configures [FusionDirectory](https://www.fusiondirectory.org/)—a web-based LDAP administration tool—using Docker Compose. It runs a pre-configured FusionDirectory container, connects it to your existing LDAP service, and ensures a consistent, repeatable setup. +This Ansible role deploys and configures [FusionDirectory](https://www.fusiondirectory.org/)—a web-app-based LDAP administration tool—using Docker Compose. It runs a pre-configured FusionDirectory container, connects it to your existing LDAP service, and ensures a consistent, repeatable setup. ## Overview - Loads and templating of FusionDirectory-specific variables - Generates a `.env` file for the container environment - Deploys the FusionDirectory container via Docker Compose -- Configures NGINX (via the `nginx-domain-setup` role) to expose the service +- Configures NGINX (via the `webserver-proxy-domain` role) to expose the service - Integrates with your central LDAP server for authentication ## Features @@ -25,5 +25,5 @@ This Ansible role deploys and configures [FusionDirectory](https://www.fusiondir - [FusionDirectory Official Website](https://www.fusiondirectory.org/) - [FusionDirectory Docker Image (tiredofit/fusiondirectory)](https://hub.docker.com/r/tiredofit/fusiondirectory) -- [Role Source & Documentation (CyMaIS)](https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/docker-fusiondirectory) +- [Role Source & Documentation (CyMaIS)](https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/web-app-fusiondirectory) - [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) diff --git a/roles/docker-fusiondirectory/TODO.md b/roles/web-app-fusiondirectory/TODO.md similarity index 100% rename from roles/docker-fusiondirectory/TODO.md rename to roles/web-app-fusiondirectory/TODO.md diff --git a/roles/docker-fusiondirectory/meta/main.yml b/roles/web-app-fusiondirectory/meta/main.yml similarity index 72% rename from roles/docker-fusiondirectory/meta/main.yml rename to roles/web-app-fusiondirectory/meta/main.yml index 870baba8..f7f7d7f1 100644 --- a/roles/docker-fusiondirectory/meta/main.yml +++ b/roles/web-app-fusiondirectory/meta/main.yml @@ -2,7 +2,7 @@ galaxy_info: author: "Kevin Veen-Birkenbach" description: >- - FusionDirectory is a web-based tool to manage LDAP directories and this role ensures a reliable, easy-to-use interface for LDAP administration. + FusionDirectory is a web-app-based tool to manage LDAP directories and this role ensures a reliable, easy-to-use interface for LDAP administration. license: "CyMaIS NonCommercial License (CNCL)" license_url: "https://s.veen.world/cncl" company: "Kevin Veen-Birkenbach Consulting & Coaching Solutions" @@ -20,6 +20,6 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu diff --git a/roles/docker-phpldapadmin/tasks/main.yml b/roles/web-app-fusiondirectory/tasks/main.yml similarity index 68% rename from roles/docker-phpldapadmin/tasks/main.yml rename to roles/web-app-fusiondirectory/tasks/main.yml index a7f37d15..ac55bbde 100644 --- a/roles/docker-phpldapadmin/tasks/main.yml +++ b/roles/web-app-fusiondirectory/tasks/main.yml @@ -2,9 +2,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-fusiondirectory/templates/docker-compose.yml.j2 b/roles/web-app-fusiondirectory/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-fusiondirectory/templates/docker-compose.yml.j2 rename to roles/web-app-fusiondirectory/templates/docker-compose.yml.j2 diff --git a/roles/docker-fusiondirectory/templates/env.j2 b/roles/web-app-fusiondirectory/templates/env.j2 similarity index 100% rename from roles/docker-fusiondirectory/templates/env.j2 rename to roles/web-app-fusiondirectory/templates/env.j2 diff --git a/roles/docker-fusiondirectory/vars/main.yml b/roles/web-app-fusiondirectory/vars/main.yml similarity index 100% rename from roles/docker-fusiondirectory/vars/main.yml rename to roles/web-app-fusiondirectory/vars/main.yml diff --git a/roles/docker-gitea/Administration.md b/roles/web-app-gitea/Administration.md similarity index 100% rename from roles/docker-gitea/Administration.md rename to roles/web-app-gitea/Administration.md diff --git a/roles/docker-gitea/README.md b/roles/web-app-gitea/README.md similarity index 100% rename from roles/docker-gitea/README.md rename to roles/web-app-gitea/README.md diff --git a/roles/docker-gitea/TODO.md b/roles/web-app-gitea/TODO.md similarity index 100% rename from roles/docker-gitea/TODO.md rename to roles/web-app-gitea/TODO.md diff --git a/roles/docker-gitea/meta/main.yml b/roles/web-app-gitea/meta/main.yml similarity index 92% rename from roles/docker-gitea/meta/main.yml rename to roles/web-app-gitea/meta/main.yml index 235f119c..f939d2ca 100644 --- a/roles/docker-gitea/meta/main.yml +++ b/roles/web-app-gitea/meta/main.yml @@ -20,7 +20,7 @@ galaxy_info: logo: class: "fa-solid fa-code" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-gitea/meta/schema.yml b/roles/web-app-gitea/meta/schema.yml similarity index 100% rename from roles/docker-gitea/meta/schema.yml rename to roles/web-app-gitea/meta/schema.yml diff --git a/roles/docker-gitea/tasks/cleanup.yml b/roles/web-app-gitea/tasks/cleanup.yml similarity index 100% rename from roles/docker-gitea/tasks/cleanup.yml rename to roles/web-app-gitea/tasks/cleanup.yml diff --git a/roles/docker-gitea/tasks/cleanup/ldap.yml b/roles/web-app-gitea/tasks/cleanup/ldap.yml similarity index 100% rename from roles/docker-gitea/tasks/cleanup/ldap.yml rename to roles/web-app-gitea/tasks/cleanup/ldap.yml diff --git a/roles/docker-gitea/tasks/cleanup/oidc.yml b/roles/web-app-gitea/tasks/cleanup/oidc.yml similarity index 100% rename from roles/docker-gitea/tasks/cleanup/oidc.yml rename to roles/web-app-gitea/tasks/cleanup/oidc.yml diff --git a/roles/docker-gitea/tasks/main.yml b/roles/web-app-gitea/tasks/main.yml similarity index 91% rename from roles/docker-gitea/tasks/main.yml rename to roles/web-app-gitea/tasks/main.yml index 318e9286..1eba436f 100644 --- a/roles/docker-gitea/tasks/main.yml +++ b/roles/web-app-gitea/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" @@ -64,7 +64,7 @@ - name: Include DNS role to register Gitea domain(s) include_role: - name: dns-records-cloudflare + name: network-dns-records vars: cloudflare_api_token: "{{ certbot_dns_api_token }}" cloudflare_domains: "{{ [ domains | get_domain(application_id) ] }}" diff --git a/roles/docker-gitea/tasks/setup.yml b/roles/web-app-gitea/tasks/setup.yml similarity index 100% rename from roles/docker-gitea/tasks/setup.yml rename to roles/web-app-gitea/tasks/setup.yml diff --git a/roles/docker-gitea/tasks/setup/ldap.yml b/roles/web-app-gitea/tasks/setup/ldap.yml similarity index 100% rename from roles/docker-gitea/tasks/setup/ldap.yml rename to roles/web-app-gitea/tasks/setup/ldap.yml diff --git a/roles/docker-gitea/tasks/setup/oidc.yml b/roles/web-app-gitea/tasks/setup/oidc.yml similarity index 100% rename from roles/docker-gitea/tasks/setup/oidc.yml rename to roles/web-app-gitea/tasks/setup/oidc.yml diff --git a/roles/docker-gitea/templates/docker-compose.yml.j2 b/roles/web-app-gitea/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-gitea/templates/docker-compose.yml.j2 rename to roles/web-app-gitea/templates/docker-compose.yml.j2 diff --git a/roles/docker-gitea/templates/env.j2 b/roles/web-app-gitea/templates/env.j2 similarity index 100% rename from roles/docker-gitea/templates/env.j2 rename to roles/web-app-gitea/templates/env.j2 diff --git a/roles/docker-gitea/vars/configuration.yml b/roles/web-app-gitea/vars/configuration.yml similarity index 100% rename from roles/docker-gitea/vars/configuration.yml rename to roles/web-app-gitea/vars/configuration.yml diff --git a/roles/docker-gitea/vars/main.yml b/roles/web-app-gitea/vars/main.yml similarity index 100% rename from roles/docker-gitea/vars/main.yml rename to roles/web-app-gitea/vars/main.yml diff --git a/roles/docker-gitlab/README.md b/roles/web-app-gitlab/README.md similarity index 95% rename from roles/docker-gitlab/README.md rename to roles/web-app-gitlab/README.md index cfa020cf..e8eab161 100644 --- a/roles/docker-gitlab/README.md +++ b/roles/web-app-gitlab/README.md @@ -21,7 +21,7 @@ For a detailed walkthrough of this role, please refer to the [ChatGPT Session Tr - [GitLab Official Website](https://about.gitlab.com/) - [Running GitLab on Docker](https://ralph.blog.imixs.com/2019/06/09/running-gitlab-on-docker/) -- [Reducing GitLab Memory Consumption](https://techoverflow.net/2020/04/18/how-i-reduced-gitlab-memory-consumption-in-my-docker-based-setup/) +- [Reducing GitLab Memory Consumption](https://techoverflow.net/2020/04/18/how-i-reduced-gitlab-memory-consumption-in-my-web-app-based-setup/) ## Credits diff --git a/roles/docker-gitlab/meta/main.yml b/roles/web-app-gitlab/meta/main.yml similarity index 92% rename from roles/docker-gitlab/meta/main.yml rename to roles/web-app-gitlab/meta/main.yml index 53946903..a99779bf 100644 --- a/roles/docker-gitlab/meta/main.yml +++ b/roles/web-app-gitlab/meta/main.yml @@ -20,7 +20,7 @@ galaxy_info: logo: class: "fa-solid fa-code-branch" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-gitlab/meta/schema.yml b/roles/web-app-gitlab/meta/schema.yml similarity index 100% rename from roles/docker-gitlab/meta/schema.yml rename to roles/web-app-gitlab/meta/schema.yml diff --git a/roles/web-app-gitlab/tasks/main.yml b/roles/web-app-gitlab/tasks/main.yml new file mode 100644 index 00000000..61682a38 --- /dev/null +++ b/roles/web-app-gitlab/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-gitlab/templates/docker-compose.yml.j2 b/roles/web-app-gitlab/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-gitlab/templates/docker-compose.yml.j2 rename to roles/web-app-gitlab/templates/docker-compose.yml.j2 diff --git a/roles/docker-gitlab/templates/env.j2 b/roles/web-app-gitlab/templates/env.j2 similarity index 100% rename from roles/docker-gitlab/templates/env.j2 rename to roles/web-app-gitlab/templates/env.j2 diff --git a/roles/docker-gitlab/vars/configuration.yml b/roles/web-app-gitlab/vars/configuration.yml similarity index 100% rename from roles/docker-gitlab/vars/configuration.yml rename to roles/web-app-gitlab/vars/configuration.yml diff --git a/roles/docker-gitlab/vars/main.yml b/roles/web-app-gitlab/vars/main.yml similarity index 100% rename from roles/docker-gitlab/vars/main.yml rename to roles/web-app-gitlab/vars/main.yml diff --git a/roles/docker-jenkins/README.md b/roles/web-app-jenkins/README.md similarity index 100% rename from roles/docker-jenkins/README.md rename to roles/web-app-jenkins/README.md diff --git a/roles/docker-jenkins/Todo.md b/roles/web-app-jenkins/Todo.md similarity index 100% rename from roles/docker-jenkins/Todo.md rename to roles/web-app-jenkins/Todo.md diff --git a/roles/web-app-jenkins/meta/main.yml b/roles/web-app-jenkins/meta/main.yml new file mode 100644 index 00000000..b729a456 --- /dev/null +++ b/roles/web-app-jenkins/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- webserver-proxy-core diff --git a/roles/docker-jenkins/tasks/main.yml b/roles/web-app-jenkins/tasks/main.yml similarity index 83% rename from roles/docker-jenkins/tasks/main.yml rename to roles/web-app-jenkins/tasks/main.yml index efd24475..a2a3dcea 100644 --- a/roles/docker-jenkins/tasks/main.yml +++ b/roles/web-app-jenkins/tasks/main.yml @@ -1,6 +1,6 @@ -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-jenkins/vars/configuration.yml b/roles/web-app-jenkins/vars/configuration.yml similarity index 100% rename from roles/docker-jenkins/vars/configuration.yml rename to roles/web-app-jenkins/vars/configuration.yml diff --git a/roles/docker-jenkins/vars/main.yml b/roles/web-app-jenkins/vars/main.yml similarity index 100% rename from roles/docker-jenkins/vars/main.yml rename to roles/web-app-jenkins/vars/main.yml diff --git a/roles/docker-joomla/Administration.md b/roles/web-app-joomla/Administration.md similarity index 100% rename from roles/docker-joomla/Administration.md rename to roles/web-app-joomla/Administration.md diff --git a/roles/docker-joomla/README.md b/roles/web-app-joomla/README.md similarity index 100% rename from roles/docker-joomla/README.md rename to roles/web-app-joomla/README.md diff --git a/roles/docker-joomla/meta/main.yml b/roles/web-app-joomla/meta/main.yml similarity index 92% rename from roles/docker-joomla/meta/main.yml rename to roles/web-app-joomla/meta/main.yml index fce519b5..d1c4686f 100644 --- a/roles/docker-joomla/meta/main.yml +++ b/roles/web-app-joomla/meta/main.yml @@ -20,7 +20,7 @@ galaxy_info: logo: class: "fa-solid fa-sitemap" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] \ No newline at end of file diff --git a/roles/docker-joomla/meta/schema.yml b/roles/web-app-joomla/meta/schema.yml similarity index 100% rename from roles/docker-joomla/meta/schema.yml rename to roles/web-app-joomla/meta/schema.yml diff --git a/roles/docker-joomla/tasks/main.yml b/roles/web-app-joomla/tasks/main.yml similarity index 56% rename from roles/docker-joomla/tasks/main.yml rename to roles/web-app-joomla/tasks/main.yml index 88e26168..72268250 100644 --- a/roles/docker-joomla/tasks/main.yml +++ b/roles/web-app-joomla/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-joomla/templates/docker-compose.yml.j2 b/roles/web-app-joomla/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-joomla/templates/docker-compose.yml.j2 rename to roles/web-app-joomla/templates/docker-compose.yml.j2 diff --git a/roles/docker-joomla/templates/env.j2 b/roles/web-app-joomla/templates/env.j2 similarity index 100% rename from roles/docker-joomla/templates/env.j2 rename to roles/web-app-joomla/templates/env.j2 diff --git a/roles/docker-joomla/vars/configuration.yml b/roles/web-app-joomla/vars/configuration.yml similarity index 100% rename from roles/docker-joomla/vars/configuration.yml rename to roles/web-app-joomla/vars/configuration.yml diff --git a/roles/docker-joomla/vars/main.yml b/roles/web-app-joomla/vars/main.yml similarity index 100% rename from roles/docker-joomla/vars/main.yml rename to roles/web-app-joomla/vars/main.yml diff --git a/roles/docker-keycloak/README.md b/roles/web-app-keycloak/README.md similarity index 100% rename from roles/docker-keycloak/README.md rename to roles/web-app-keycloak/README.md diff --git a/roles/docker-keycloak/meta/main.yml b/roles/web-app-keycloak/meta/main.yml similarity index 94% rename from roles/docker-keycloak/meta/main.yml rename to roles/web-app-keycloak/meta/main.yml index 65d2fd0b..19c214fd 100644 --- a/roles/docker-keycloak/meta/main.yml +++ b/roles/web-app-keycloak/meta/main.yml @@ -20,5 +20,5 @@ galaxy_info: logo: class: "fa-solid fa-lock" run_after: - - docker-matomo - - docker-ldap + - web-app-matomo + - service-openldap diff --git a/roles/docker-keycloak/meta/schema.yml b/roles/web-app-keycloak/meta/schema.yml similarity index 100% rename from roles/docker-keycloak/meta/schema.yml rename to roles/web-app-keycloak/meta/schema.yml diff --git a/roles/docker-keycloak/meta/users.yml b/roles/web-app-keycloak/meta/users.yml similarity index 100% rename from roles/docker-keycloak/meta/users.yml rename to roles/web-app-keycloak/meta/users.yml diff --git a/roles/docker-keycloak/tasks/attributes/ssh_public_key.yml b/roles/web-app-keycloak/tasks/attributes/ssh_public_key.yml similarity index 100% rename from roles/docker-keycloak/tasks/attributes/ssh_public_key.yml rename to roles/web-app-keycloak/tasks/attributes/ssh_public_key.yml diff --git a/roles/docker-keycloak/tasks/main.yml b/roles/web-app-keycloak/tasks/main.yml similarity index 81% rename from roles/docker-keycloak/tasks/main.yml rename to roles/web-app-keycloak/tasks/main.yml index 926c59d3..2d36a5bb 100644 --- a/roles/docker-keycloak/tasks/main.yml +++ b/roles/web-app-keycloak/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-keycloak/templates/docker-compose.yml.j2 b/roles/web-app-keycloak/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-keycloak/templates/docker-compose.yml.j2 rename to roles/web-app-keycloak/templates/docker-compose.yml.j2 diff --git a/roles/docker-keycloak/templates/env.j2 b/roles/web-app-keycloak/templates/env.j2 similarity index 100% rename from roles/docker-keycloak/templates/env.j2 rename to roles/web-app-keycloak/templates/env.j2 diff --git a/roles/docker-keycloak/templates/import/realm.json.j2 b/roles/web-app-keycloak/templates/import/realm.json.j2 similarity index 98% rename from roles/docker-keycloak/templates/import/realm.json.j2 rename to roles/web-app-keycloak/templates/import/realm.json.j2 index 77e8280d..021ef2d7 100644 --- a/roles/docker-keycloak/templates/import/realm.json.j2 +++ b/roles/web-app-keycloak/templates/import/realm.json.j2 @@ -512,7 +512,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [ "/realms/{{ keycloak_realm }}/account/*" ], @@ -542,7 +542,7 @@ "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -568,7 +568,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [ "/realms/{{ keycloak_realm }}/account/*" ], @@ -609,7 +609,7 @@ } ], "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -631,7 +631,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [], "webOrigins": [], "notBefore": 0, @@ -652,7 +652,7 @@ "fullScopeAllowed": true, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -674,7 +674,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [], "webOrigins": [], "notBefore": 0, @@ -694,7 +694,7 @@ "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -716,7 +716,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [], "webOrigins": [], "notBefore": 0, @@ -736,7 +736,7 @@ "fullScopeAllowed": false, "nodeReRegistrationTimeout": 0, "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -760,7 +760,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "redirectUris": [ "/admin/{{ keycloak_realm }}/console/*" ], @@ -805,7 +805,7 @@ } ], "defaultClientScopes": [ - "web-origins", + "web-app-origins", "acr", "roles", "profile", @@ -831,7 +831,7 @@ "surrogateAuthRequired": false, "enabled": true, "alwaysDisplayInConsole": false, - "clientAuthenticatorType": "client-secret", + "clientAuthenticatorType": "desktop-secret", "secret": "{{oidc.client.secret}}", {%- set redirect_uris = [] %} {%- for application, domain in domains.items() %} @@ -876,7 +876,7 @@ "fullScopeAllowed": true, "nodeReRegistrationTimeout": -1, "defaultClientScopes": [ - "web-origins", + "web-app-origins", "service_account", "acr", "roles", @@ -1280,7 +1280,7 @@ }, { "id": "c07f07bc-c4f9-48c7-87e6-0a09fca6bfa0", - "name": "web-origins", + "name": "web-app-origins", "description": "OpenID Connect scope for add allowed web origins to the access token", "protocol": "openid-connect", "attributes": { @@ -1361,7 +1361,7 @@ "id": "af5b6453-913d-48ad-af25-4318c11a7bcd", "name": "client roles", "protocol": "openid-connect", - "protocolMapper": "oidc-usermodel-client-role-mapper", + "protocolMapper": "oidc-usermodel-desktop-role-mapper", "consentRequired": false, "config": { "user.attribute": "foo", @@ -1665,7 +1665,7 @@ "profile", "email", "roles", - "web-origins", + "web-app-origins", "acr", "basic" ], @@ -1742,7 +1742,7 @@ "host-sending-registration-request-must-match": [ "true" ], - "client-uris-must-match": [ + "desktop-uris-must-match": [ "true" ] } @@ -1777,7 +1777,7 @@ { "id": "948347f4-9d91-41ec-bc13-578e629a8ff0", "name": "Allowed Client Scopes", - "providerId": "allowed-client-templates", + "providerId": "allowed-desktop-templates", "subType": "anonymous", "subComponents": {}, "config": { @@ -1789,7 +1789,7 @@ { "id": "31ef2e77-4cba-4fbf-bf96-da29cb4b4067", "name": "Allowed Client Scopes", - "providerId": "allowed-client-templates", + "providerId": "allowed-desktop-templates", "subType": "authenticated", "subComponents": {}, "config": { @@ -2626,12 +2626,12 @@ "id": "7e10ec72-f77f-415b-a854-0d946f73c933", "alias": "clients", "description": "Base authentication for clients", - "providerId": "client-flow", + "providerId": "desktop-flow", "topLevel": true, "builtIn": true, "authenticationExecutions": [ { - "authenticator": "client-secret", + "authenticator": "desktop-secret", "authenticatorFlow": false, "requirement": "ALTERNATIVE", "priority": 10, @@ -2639,7 +2639,7 @@ "userSetupAllowed": false }, { - "authenticator": "client-jwt", + "authenticator": "desktop-jwt", "authenticatorFlow": false, "requirement": "ALTERNATIVE", "priority": 20, @@ -2647,7 +2647,7 @@ "userSetupAllowed": false }, { - "authenticator": "client-secret-jwt", + "authenticator": "desktop-secret-jwt", "authenticatorFlow": false, "requirement": "ALTERNATIVE", "priority": 30, @@ -2655,7 +2655,7 @@ "userSetupAllowed": false }, { - "authenticator": "client-x509", + "authenticator": "desktop-x509", "authenticatorFlow": false, "requirement": "ALTERNATIVE", "priority": 40, @@ -2707,7 +2707,7 @@ "builtIn": true, "authenticationExecutions": [ { - "authenticator": "docker-http-basic-authenticator", + "authenticator": "web-app-http-basic-authenticator", "authenticatorFlow": false, "requirement": "REQUIRED", "priority": 10, diff --git a/roles/docker-keycloak/vars/configuration.yml b/roles/web-app-keycloak/vars/configuration.yml similarity index 100% rename from roles/docker-keycloak/vars/configuration.yml rename to roles/web-app-keycloak/vars/configuration.yml diff --git a/roles/docker-keycloak/vars/main.yml b/roles/web-app-keycloak/vars/main.yml similarity index 100% rename from roles/docker-keycloak/vars/main.yml rename to roles/web-app-keycloak/vars/main.yml diff --git a/roles/docker-lam/README.md b/roles/web-app-lam/README.md similarity index 96% rename from roles/docker-lam/README.md rename to roles/web-app-lam/README.md index 0c6b6f3e..d0d91775 100644 --- a/roles/docker-lam/README.md +++ b/roles/web-app-lam/README.md @@ -10,7 +10,7 @@ This role deploys LAM in a Docker environment and integrates it with an Nginx re ## Features -- **User-Friendly Interface:** Easily manage LDAP directories through an intuitive web-based interface. +- **User-Friendly Interface:** Easily manage LDAP directories through an intuitive web-app-based interface. - **Customizable Deployment:** Configure LDAP settings and LAM’s administrative credentials via flexible environment variables. - **Secure Access:** Utilize Nginx reverse proxy integration to safeguard your management interface. - **Efficient Administration:** Streamline the handling of LDAP objects such as users, groups, and organizational units. diff --git a/roles/docker-lam/meta/main.yml b/roles/web-app-lam/meta/main.yml similarity index 96% rename from roles/docker-lam/meta/main.yml rename to roles/web-app-lam/meta/main.yml index b95b60ac..4d6ac864 100644 --- a/roles/docker-lam/meta/main.yml +++ b/roles/web-app-lam/meta/main.yml @@ -20,5 +20,5 @@ galaxy_info: logo: class: "fa-solid fa-network-wired" run_after: - - docker-keycloak + - web-app-keycloak dependencies: [] diff --git a/roles/docker-lam/meta/schema.yml b/roles/web-app-lam/meta/schema.yml similarity index 100% rename from roles/docker-lam/meta/schema.yml rename to roles/web-app-lam/meta/schema.yml diff --git a/roles/docker-fusiondirectory/tasks/main.yml b/roles/web-app-lam/tasks/main.yml similarity index 68% rename from roles/docker-fusiondirectory/tasks/main.yml rename to roles/web-app-lam/tasks/main.yml index a7f37d15..ac55bbde 100644 --- a/roles/docker-fusiondirectory/tasks/main.yml +++ b/roles/web-app-lam/tasks/main.yml @@ -2,9 +2,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-lam/templates/docker-compose.yml.j2 b/roles/web-app-lam/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-lam/templates/docker-compose.yml.j2 rename to roles/web-app-lam/templates/docker-compose.yml.j2 diff --git a/roles/docker-lam/templates/env.j2 b/roles/web-app-lam/templates/env.j2 similarity index 100% rename from roles/docker-lam/templates/env.j2 rename to roles/web-app-lam/templates/env.j2 diff --git a/roles/docker-lam/vars/configuration.yml b/roles/web-app-lam/vars/configuration.yml similarity index 100% rename from roles/docker-lam/vars/configuration.yml rename to roles/web-app-lam/vars/configuration.yml diff --git a/roles/docker-lam/vars/main.yml b/roles/web-app-lam/vars/main.yml similarity index 100% rename from roles/docker-lam/vars/main.yml rename to roles/web-app-lam/vars/main.yml diff --git a/roles/docker-libretranslate/README.md b/roles/web-app-libretranslate/README.md similarity index 89% rename from roles/docker-libretranslate/README.md rename to roles/web-app-libretranslate/README.md index a9c94671..a519138e 100644 --- a/roles/docker-libretranslate/README.md +++ b/roles/web-app-libretranslate/README.md @@ -16,4 +16,4 @@ Put a feature list here ## Further Resources -* Put more ressources here \ No newline at end of file +* Put more resources here \ No newline at end of file diff --git a/roles/docker-libretranslate/meta/main.yml b/roles/web-app-libretranslate/meta/main.yml similarity index 100% rename from roles/docker-libretranslate/meta/main.yml rename to roles/web-app-libretranslate/meta/main.yml diff --git a/roles/docker-libretranslate/meta/schema.yml b/roles/web-app-libretranslate/meta/schema.yml similarity index 100% rename from roles/docker-libretranslate/meta/schema.yml rename to roles/web-app-libretranslate/meta/schema.yml diff --git a/roles/docker-libretranslate/tasks/main.yml b/roles/web-app-libretranslate/tasks/main.yml similarity index 82% rename from roles/docker-libretranslate/tasks/main.yml rename to roles/web-app-libretranslate/tasks/main.yml index ff057d47..945d01ab 100644 --- a/roles/docker-libretranslate/tasks/main.yml +++ b/roles/web-app-libretranslate/tasks/main.yml @@ -13,9 +13,9 @@ -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-libretranslate/templates/Dockerfile.j2 b/roles/web-app-libretranslate/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-libretranslate/templates/Dockerfile.j2 rename to roles/web-app-libretranslate/templates/Dockerfile.j2 diff --git a/roles/docker-libretranslate/templates/docker-compose.yml.j2 b/roles/web-app-libretranslate/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-libretranslate/templates/docker-compose.yml.j2 rename to roles/web-app-libretranslate/templates/docker-compose.yml.j2 diff --git a/roles/docker-libretranslate/templates/env.j2 b/roles/web-app-libretranslate/templates/env.j2 similarity index 100% rename from roles/docker-libretranslate/templates/env.j2 rename to roles/web-app-libretranslate/templates/env.j2 diff --git a/roles/docker-libretranslate/templates/javascript.js b/roles/web-app-libretranslate/templates/javascript.js similarity index 100% rename from roles/docker-libretranslate/templates/javascript.js rename to roles/web-app-libretranslate/templates/javascript.js diff --git a/roles/docker-libretranslate/vars/configuration.yml b/roles/web-app-libretranslate/vars/configuration.yml similarity index 100% rename from roles/docker-libretranslate/vars/configuration.yml rename to roles/web-app-libretranslate/vars/configuration.yml diff --git a/roles/docker-libretranslate/vars/main.yml b/roles/web-app-libretranslate/vars/main.yml similarity index 100% rename from roles/docker-libretranslate/vars/main.yml rename to roles/web-app-libretranslate/vars/main.yml diff --git a/roles/docker-listmonk/Installation.md b/roles/web-app-listmonk/Installation.md similarity index 100% rename from roles/docker-listmonk/Installation.md rename to roles/web-app-listmonk/Installation.md diff --git a/roles/docker-listmonk/README.md b/roles/web-app-listmonk/README.md similarity index 100% rename from roles/docker-listmonk/README.md rename to roles/web-app-listmonk/README.md diff --git a/roles/docker-listmonk/Upgrade.md b/roles/web-app-listmonk/Upgrade.md similarity index 100% rename from roles/docker-listmonk/Upgrade.md rename to roles/web-app-listmonk/Upgrade.md diff --git a/roles/docker-listmonk/files/deactivate-public-api.conf b/roles/web-app-listmonk/files/deactivate-public-api.conf similarity index 100% rename from roles/docker-listmonk/files/deactivate-public-api.conf rename to roles/web-app-listmonk/files/deactivate-public-api.conf diff --git a/roles/docker-listmonk/meta/main.yml b/roles/web-app-listmonk/meta/main.yml similarity index 92% rename from roles/docker-listmonk/meta/main.yml rename to roles/web-app-listmonk/meta/main.yml index 47516353..e830ec6e 100644 --- a/roles/docker-listmonk/meta/main.yml +++ b/roles/web-app-listmonk/meta/main.yml @@ -20,6 +20,6 @@ galaxy_info: logo: class: "fa-solid fa-list" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu \ No newline at end of file + - web-app-matomo + - web-app-keycloak + - web-app-mailu \ No newline at end of file diff --git a/roles/docker-listmonk/meta/schema.yml b/roles/web-app-listmonk/meta/schema.yml similarity index 100% rename from roles/docker-listmonk/meta/schema.yml rename to roles/web-app-listmonk/meta/schema.yml diff --git a/roles/docker-listmonk/meta/users.yml b/roles/web-app-listmonk/meta/users.yml similarity index 100% rename from roles/docker-listmonk/meta/users.yml rename to roles/web-app-listmonk/meta/users.yml diff --git a/roles/docker-listmonk/tasks/main.yml b/roles/web-app-listmonk/tasks/main.yml similarity index 93% rename from roles/docker-listmonk/tasks/main.yml rename to roles/web-app-listmonk/tasks/main.yml index 17e62828..e563a364 100644 --- a/roles/docker-listmonk/tasks/main.yml +++ b/roles/web-app-listmonk/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: Set nginx_docker_reverse_proxy_extra_configuration based on applications[application_id].public_api_activated set_fact: @@ -12,9 +12,9 @@ "" {% endif %} -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-listmonk/templates/config.toml.j2 b/roles/web-app-listmonk/templates/config.toml.j2 similarity index 100% rename from roles/docker-listmonk/templates/config.toml.j2 rename to roles/web-app-listmonk/templates/config.toml.j2 diff --git a/roles/docker-listmonk/templates/docker-compose.yml.j2 b/roles/web-app-listmonk/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-listmonk/templates/docker-compose.yml.j2 rename to roles/web-app-listmonk/templates/docker-compose.yml.j2 diff --git a/roles/docker-listmonk/templates/env.j2 b/roles/web-app-listmonk/templates/env.j2 similarity index 100% rename from roles/docker-listmonk/templates/env.j2 rename to roles/web-app-listmonk/templates/env.j2 diff --git a/roles/docker-listmonk/vars/configuration.yml b/roles/web-app-listmonk/vars/configuration.yml similarity index 100% rename from roles/docker-listmonk/vars/configuration.yml rename to roles/web-app-listmonk/vars/configuration.yml diff --git a/roles/docker-listmonk/vars/main.yml b/roles/web-app-listmonk/vars/main.yml similarity index 100% rename from roles/docker-listmonk/vars/main.yml rename to roles/web-app-listmonk/vars/main.yml diff --git a/roles/docker-mailu/Administration.md b/roles/web-app-mailu/Administration.md similarity index 100% rename from roles/docker-mailu/Administration.md rename to roles/web-app-mailu/Administration.md diff --git a/roles/docker-mailu/Installation.md b/roles/web-app-mailu/Installation.md similarity index 100% rename from roles/docker-mailu/Installation.md rename to roles/web-app-mailu/Installation.md diff --git a/roles/docker-mailu/README.md b/roles/web-app-mailu/README.md similarity index 99% rename from roles/docker-mailu/README.md rename to roles/web-app-mailu/README.md index 9affd6df..60fdb68f 100644 --- a/roles/docker-mailu/README.md +++ b/roles/web-app-mailu/README.md @@ -15,7 +15,7 @@ For further details on installation, configuration, and upgrades, please refer t - [User_Administration.md](./User_Administration.md) For more information about this role, visit the GitHub repositories: -- [Mailu](https://github.com/kevinveenbirkenbach/cymais/tree/master/roles/docker-mailu) +- [Mailu](https://github.com/kevinveenbirkenbach/cymais/tree/master/roles/web-app-mailu) - [Mailu-OIDC](https://github.com/heviat/Mailu-OIDC) ## Features diff --git a/roles/docker-mailu/Spam_Issues.md b/roles/web-app-mailu/Spam_Issues.md similarity index 100% rename from roles/docker-mailu/Spam_Issues.md rename to roles/web-app-mailu/Spam_Issues.md diff --git a/roles/docker-mailu/Testing.md b/roles/web-app-mailu/Testing.md similarity index 100% rename from roles/docker-mailu/Testing.md rename to roles/web-app-mailu/Testing.md diff --git a/roles/docker-mailu/User_Administration.md b/roles/web-app-mailu/User_Administration.md similarity index 100% rename from roles/docker-mailu/User_Administration.md rename to roles/web-app-mailu/User_Administration.md diff --git a/roles/docker-mailu/meta/main.yml b/roles/web-app-mailu/meta/main.yml similarity index 96% rename from roles/docker-mailu/meta/main.yml rename to roles/web-app-mailu/meta/main.yml index 8acdf873..b1db18bf 100644 --- a/roles/docker-mailu/meta/main.yml +++ b/roles/web-app-mailu/meta/main.yml @@ -20,4 +20,4 @@ galaxy_info: logo: class: "fa-solid fa-envelope" run_after: - - docker-keycloak + - web-app-keycloak diff --git a/roles/docker-mailu/meta/schema.yml b/roles/web-app-mailu/meta/schema.yml similarity index 100% rename from roles/docker-mailu/meta/schema.yml rename to roles/web-app-mailu/meta/schema.yml diff --git a/roles/docker-mailu/meta/users.yml b/roles/web-app-mailu/meta/users.yml similarity index 100% rename from roles/docker-mailu/meta/users.yml rename to roles/web-app-mailu/meta/users.yml diff --git a/roles/docker-mailu/tasks/TODO.md b/roles/web-app-mailu/tasks/TODO.md similarity index 100% rename from roles/docker-mailu/tasks/TODO.md rename to roles/web-app-mailu/tasks/TODO.md diff --git a/roles/docker-mailu/tasks/create-mailu-token.yml b/roles/web-app-mailu/tasks/create-mailu-token.yml similarity index 100% rename from roles/docker-mailu/tasks/create-mailu-token.yml rename to roles/web-app-mailu/tasks/create-mailu-token.yml diff --git a/roles/docker-mailu/tasks/create-mailu-user.yml b/roles/web-app-mailu/tasks/create-mailu-user.yml similarity index 100% rename from roles/docker-mailu/tasks/create-mailu-user.yml rename to roles/web-app-mailu/tasks/create-mailu-user.yml diff --git a/roles/docker-mailu/tasks/generate-and-read-dkim.yml b/roles/web-app-mailu/tasks/generate-and-read-dkim.yml similarity index 100% rename from roles/docker-mailu/tasks/generate-and-read-dkim.yml rename to roles/web-app-mailu/tasks/generate-and-read-dkim.yml diff --git a/roles/docker-mailu/tasks/main.yml b/roles/web-app-mailu/tasks/main.yml similarity index 85% rename from roles/docker-mailu/tasks/main.yml rename to roles/web-app-mailu/tasks/main.yml index 59b6cf42..d03451a3 100644 --- a/roles/docker-mailu/tasks/main.yml +++ b/roles/web-app-mailu/tasks/main.yml @@ -1,21 +1,21 @@ --- -- name: "Include docker-central-database" +- name: "Include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central when: run_once_docker_mailu is not defined -- name: "Include role nginx-domain-setup for {{ application_id }}" +- name: "Include role webserver-proxy-domain for {{ application_id }}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 31M;" when: run_once_docker_mailu is not defined -- name: "Include the nginx-docker-cert-deploy role" +- name: "Include the webserver-proxy-tls-deploy role" include_role: - name: nginx-docker-cert-deploy + name: webserver-proxy-tls-deploy when: run_once_docker_mailu is not defined - name: Flush docker service handlers diff --git a/roles/docker-mailu/tasks/set-mailu-dns-records.yml b/roles/web-app-mailu/tasks/set-mailu-dns-records.yml similarity index 100% rename from roles/docker-mailu/tasks/set-mailu-dns-records.yml rename to roles/web-app-mailu/tasks/set-mailu-dns-records.yml diff --git a/roles/docker-mailu/templates/docker-compose.yml.j2 b/roles/web-app-mailu/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-mailu/templates/docker-compose.yml.j2 rename to roles/web-app-mailu/templates/docker-compose.yml.j2 diff --git a/roles/docker-mailu/templates/env.j2 b/roles/web-app-mailu/templates/env.j2 similarity index 100% rename from roles/docker-mailu/templates/env.j2 rename to roles/web-app-mailu/templates/env.j2 diff --git a/roles/docker-mailu/vars/configuration.yml b/roles/web-app-mailu/vars/configuration.yml similarity index 100% rename from roles/docker-mailu/vars/configuration.yml rename to roles/web-app-mailu/vars/configuration.yml diff --git a/roles/docker-mailu/vars/mailu-dns.yml b/roles/web-app-mailu/vars/mailu-dns.yml similarity index 100% rename from roles/docker-mailu/vars/mailu-dns.yml rename to roles/web-app-mailu/vars/mailu-dns.yml diff --git a/roles/docker-mailu/vars/main.yml b/roles/web-app-mailu/vars/main.yml similarity index 100% rename from roles/docker-mailu/vars/main.yml rename to roles/web-app-mailu/vars/main.yml diff --git a/roles/docker-mastodon/Administration.md b/roles/web-app-mastodon/Administration.md similarity index 100% rename from roles/docker-mastodon/Administration.md rename to roles/web-app-mastodon/Administration.md diff --git a/roles/docker-mastodon/Installation.md b/roles/web-app-mastodon/Installation.md similarity index 100% rename from roles/docker-mastodon/Installation.md rename to roles/web-app-mastodon/Installation.md diff --git a/roles/docker-mastodon/README.md b/roles/web-app-mastodon/README.md similarity index 98% rename from roles/docker-mastodon/README.md rename to roles/web-app-mastodon/README.md index f17b7973..6928e823 100644 --- a/roles/docker-mastodon/README.md +++ b/roles/web-app-mastodon/README.md @@ -27,7 +27,7 @@ For detailed configuration and operational instructions, please refer to the fol - [Mastodon Official Website](https://joinmastodon.org/) - [Mastodon Documentation](https://docs.joinmastodon.org/) -- [Mastodon with Docker & Traefik](https://goneuland.de/mastodon-mit-docker-und-traefik-installieren/) +- [Mastodon with Docker & Traefik](https://goneuland.de/mastodon-mit-web-app-und-traefik-installieren/) - [Mastodon Configuration Guide](https://gist.github.com/TrillCyborg/84939cd4013ace9960031b803a0590c4) - [Check Website Availability](https://www.2daygeek.com/linux-command-check-website-is-up-down-alive/) - [Personal Mastodon Setup](https://vitobotta.com/2022/11/07/setting-up-a-personal-mastodon-instance/) diff --git a/roles/docker-mastodon/meta/main.yml b/roles/web-app-mastodon/meta/main.yml similarity index 97% rename from roles/docker-mastodon/meta/main.yml rename to roles/web-app-mastodon/meta/main.yml index 92c35117..e6d46099 100644 --- a/roles/docker-mastodon/meta/main.yml +++ b/roles/web-app-mastodon/meta/main.yml @@ -22,4 +22,4 @@ galaxy_info: logo: class: "fa-solid fa-bullhorn" run_after: - - docker-keycloak \ No newline at end of file + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-mastodon/meta/schema.yml b/roles/web-app-mastodon/meta/schema.yml similarity index 100% rename from roles/docker-mastodon/meta/schema.yml rename to roles/web-app-mastodon/meta/schema.yml diff --git a/roles/docker-mastodon/tasks/create-administrator.yml b/roles/web-app-mastodon/tasks/create-administrator.yml similarity index 100% rename from roles/docker-mastodon/tasks/create-administrator.yml rename to roles/web-app-mastodon/tasks/create-administrator.yml diff --git a/roles/docker-mastodon/tasks/main.yml b/roles/web-app-mastodon/tasks/main.yml similarity index 88% rename from roles/docker-mastodon/tasks/main.yml rename to roles/web-app-mastodon/tasks/main.yml index 7c7f11b9..9ac981e3 100644 --- a/roles/docker-mastodon/tasks/main.yml +++ b/roles/web-app-mastodon/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "Include setup for domain '{{ domain }}'" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain loop: "{{ domains.mastodon }}" loop_control: loop_var: domain diff --git a/roles/docker-mastodon/templates/docker-compose.yml.j2 b/roles/web-app-mastodon/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-mastodon/templates/docker-compose.yml.j2 rename to roles/web-app-mastodon/templates/docker-compose.yml.j2 diff --git a/roles/docker-mastodon/templates/env.j2 b/roles/web-app-mastodon/templates/env.j2 similarity index 100% rename from roles/docker-mastodon/templates/env.j2 rename to roles/web-app-mastodon/templates/env.j2 diff --git a/roles/docker-mastodon/vars/configuration.yml b/roles/web-app-mastodon/vars/configuration.yml similarity index 100% rename from roles/docker-mastodon/vars/configuration.yml rename to roles/web-app-mastodon/vars/configuration.yml diff --git a/roles/docker-mastodon/vars/main.yml b/roles/web-app-mastodon/vars/main.yml similarity index 100% rename from roles/docker-mastodon/vars/main.yml rename to roles/web-app-mastodon/vars/main.yml diff --git a/roles/docker-matomo/README.md b/roles/web-app-matomo/README.md similarity index 100% rename from roles/docker-matomo/README.md rename to roles/web-app-matomo/README.md diff --git a/roles/docker-matomo/meta/main.yml b/roles/web-app-matomo/meta/main.yml similarity index 96% rename from roles/docker-matomo/meta/main.yml rename to roles/web-app-matomo/meta/main.yml index e328e724..5ac43ea7 100644 --- a/roles/docker-matomo/meta/main.yml +++ b/roles/web-app-matomo/meta/main.yml @@ -19,4 +19,4 @@ galaxy_info: logo: class: "fa-solid fa-chart-line" run_after: - - "docker-postgres" \ No newline at end of file + - "service-rdbms-postgres" \ No newline at end of file diff --git a/roles/docker-matomo/meta/schema.yml b/roles/web-app-matomo/meta/schema.yml similarity index 100% rename from roles/docker-matomo/meta/schema.yml rename to roles/web-app-matomo/meta/schema.yml diff --git a/roles/docker-matomo/tasks/main.yml b/roles/web-app-matomo/tasks/main.yml similarity index 86% rename from roles/docker-matomo/tasks/main.yml rename to roles/web-app-matomo/tasks/main.yml index 1ea3ddc6..ce5fe9fe 100644 --- a/roles/docker-matomo/tasks/main.yml +++ b/roles/web-app-matomo/tasks/main.yml @@ -1,12 +1,12 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central when: run_once_docker_matomo is not defined -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-matomo/templates/docker-compose.yml.j2 b/roles/web-app-matomo/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-matomo/templates/docker-compose.yml.j2 rename to roles/web-app-matomo/templates/docker-compose.yml.j2 diff --git a/roles/docker-matomo/templates/env.j2 b/roles/web-app-matomo/templates/env.j2 similarity index 100% rename from roles/docker-matomo/templates/env.j2 rename to roles/web-app-matomo/templates/env.j2 diff --git a/roles/docker-matomo/vars/configuration.yml b/roles/web-app-matomo/vars/configuration.yml similarity index 100% rename from roles/docker-matomo/vars/configuration.yml rename to roles/web-app-matomo/vars/configuration.yml diff --git a/roles/docker-matomo/vars/main.yml b/roles/web-app-matomo/vars/main.yml similarity index 100% rename from roles/docker-matomo/vars/main.yml rename to roles/web-app-matomo/vars/main.yml diff --git a/roles/docker-matrix-deprecated/.gitignore b/roles/web-app-matrix-deprecated/.gitignore similarity index 100% rename from roles/docker-matrix-deprecated/.gitignore rename to roles/web-app-matrix-deprecated/.gitignore diff --git a/roles/docker-matrix-deprecated/Administration.md b/roles/web-app-matrix-deprecated/Administration.md similarity index 100% rename from roles/docker-matrix-deprecated/Administration.md rename to roles/web-app-matrix-deprecated/Administration.md diff --git a/roles/docker-matrix-deprecated/README.md b/roles/web-app-matrix-deprecated/README.md similarity index 100% rename from roles/docker-matrix-deprecated/README.md rename to roles/web-app-matrix-deprecated/README.md diff --git a/roles/docker-matrix-deprecated/meta/main.yml b/roles/web-app-matrix-deprecated/meta/main.yml similarity index 96% rename from roles/docker-matrix-deprecated/meta/main.yml rename to roles/web-app-matrix-deprecated/meta/main.yml index 2650a67f..e25f447f 100644 --- a/roles/docker-matrix-deprecated/meta/main.yml +++ b/roles/web-app-matrix-deprecated/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: logo: class: "fa-solid fa-satellite-dish" dependencies: -- nginx-docker-reverse-proxy +- webserver-proxy-core diff --git a/roles/docker-matrix-deprecated/tasks/main.yml b/roles/web-app-matrix-deprecated/tasks/main.yml similarity index 94% rename from roles/docker-matrix-deprecated/tasks/main.yml rename to roles/web-app-matrix-deprecated/tasks/main.yml index c5f1c05e..1c59072d 100644 --- a/roles/docker-matrix-deprecated/tasks/main.yml +++ b/roles/web-app-matrix-deprecated/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain loop: - "{{domains.matrix.element}}" - "{{domains.matrix.synapse}}" @@ -10,7 +10,7 @@ - name: Clone the git repository git: - repo: https://github.com/spantaleev/matrix-docker-ansible-deploy.git + repo: https://github.com/spantaleev/matrix-web-app-ansible-deploy.git dest: "{{ local_repository_directory }}" update: yes delegate_to: localhost @@ -79,7 +79,7 @@ chdir: "{{ local_repository_directory }}" become: false -- name: play matrix-docker-ansible-deploy +- name: play matrix-web-app-ansible-deploy local_action: "command ansible-playbook -i {{hosts_path}} {{local_repository_directory}}/setup.yml -vvv --tags={{applications.matrix.playbook_tags}}" become: false diff --git a/roles/docker-matrix-deprecated/templates/hosts.yml.j2 b/roles/web-app-matrix-deprecated/templates/hosts.yml.j2 similarity index 100% rename from roles/docker-matrix-deprecated/templates/hosts.yml.j2 rename to roles/web-app-matrix-deprecated/templates/hosts.yml.j2 diff --git a/roles/docker-matrix-deprecated/templates/vars.yml.j2 b/roles/web-app-matrix-deprecated/templates/vars.yml.j2 similarity index 97% rename from roles/docker-matrix-deprecated/templates/vars.yml.j2 rename to roles/web-app-matrix-deprecated/templates/vars.yml.j2 index 7722040c..01c3ba7c 100644 --- a/roles/docker-matrix-deprecated/templates/vars.yml.j2 +++ b/roles/web-app-matrix-deprecated/templates/vars.yml.j2 @@ -28,7 +28,7 @@ matrix_playbook_reverse_proxy_type: playbook-managed-traefik # Ensure that public urls use https matrix_playbook_ssl_enabled: true -# Disable the web-secure (port 443) endpoint, which also disables SSL certificate retrieval +# Disable the web-app-secure (port 443) endpoint, which also disables SSL certificate retrieval devture_traefik_config_entrypoint_web_secure_enabled: false # If your reverse-proxy runs on another machine, consider using `0.0.0.0:81`, just `81` or `SOME_IP_ADDRESS_OF_THIS_MACHINE:81` diff --git a/roles/docker-matrix-deprecated/vars/main.yml b/roles/web-app-matrix-deprecated/vars/main.yml similarity index 64% rename from roles/docker-matrix-deprecated/vars/main.yml rename to roles/web-app-matrix-deprecated/vars/main.yml index 1c86583c..918b5feb 100644 --- a/roles/docker-matrix-deprecated/vars/main.yml +++ b/roles/web-app-matrix-deprecated/vars/main.yml @@ -1,3 +1,3 @@ --- -local_repository_directory: "{{role_path}}/matrix-docker-ansible-deploy" +local_repository_directory: "{{role_path}}/matrix-web-app-ansible-deploy" application_id: "matrix-deprecated" # Just added to catch integration test exceptions. This role is anyhow deprecated. \ No newline at end of file diff --git a/roles/docker-matrix/Administration.md b/roles/web-app-matrix/Administration.md similarity index 100% rename from roles/docker-matrix/Administration.md rename to roles/web-app-matrix/Administration.md diff --git a/roles/docker-matrix/Installation.md b/roles/web-app-matrix/Installation.md similarity index 100% rename from roles/docker-matrix/Installation.md rename to roles/web-app-matrix/Installation.md diff --git a/roles/docker-matrix/README.md b/roles/web-app-matrix/README.md similarity index 100% rename from roles/docker-matrix/README.md rename to roles/web-app-matrix/README.md diff --git a/roles/docker-matrix/Todo.md b/roles/web-app-matrix/Todo.md similarity index 100% rename from roles/docker-matrix/Todo.md rename to roles/web-app-matrix/Todo.md diff --git a/roles/docker-matrix/filter_plugins/__init__.py b/roles/web-app-matrix/filter_plugins/__init__.py similarity index 100% rename from roles/docker-matrix/filter_plugins/__init__.py rename to roles/web-app-matrix/filter_plugins/__init__.py diff --git a/roles/docker-matrix/filter_plugins/bridge_filters.py b/roles/web-app-matrix/filter_plugins/bridge_filters.py similarity index 100% rename from roles/docker-matrix/filter_plugins/bridge_filters.py rename to roles/web-app-matrix/filter_plugins/bridge_filters.py diff --git a/roles/docker-matrix/meta/main.yml b/roles/web-app-matrix/meta/main.yml similarity index 93% rename from roles/docker-matrix/meta/main.yml rename to roles/web-app-matrix/meta/main.yml index e5fe4ecd..3ceb77f3 100644 --- a/roles/docker-matrix/meta/main.yml +++ b/roles/web-app-matrix/meta/main.yml @@ -21,7 +21,7 @@ galaxy_info: logo: class: "fa-solid fa-satellite-dish" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-matrix/meta/schema.yml b/roles/web-app-matrix/meta/schema.yml similarity index 100% rename from roles/docker-matrix/meta/schema.yml rename to roles/web-app-matrix/meta/schema.yml diff --git a/roles/docker-matrix/meta/users.yml b/roles/web-app-matrix/meta/users.yml similarity index 100% rename from roles/docker-matrix/meta/users.yml rename to roles/web-app-matrix/meta/users.yml diff --git a/roles/docker-matrix/tasks/create-and-seed-database.yml b/roles/web-app-matrix/tasks/create-and-seed-database.yml similarity index 92% rename from roles/docker-matrix/tasks/create-and-seed-database.yml rename to roles/web-app-matrix/tasks/create-and-seed-database.yml index b8a16768..6d8a16a7 100644 --- a/roles/docker-matrix/tasks/create-and-seed-database.yml +++ b/roles/web-app-matrix/tasks/create-and-seed-database.yml @@ -6,7 +6,7 @@ # - database_password - name: "create {{database_name}} database" include_role: - name: docker-postgres + name: service-rdbms-postgres when: applications | is_feature_enabled('central_database',application_id) - name: "include seed-database-to-backup.yml" diff --git a/roles/docker-matrix/tasks/main.yml b/roles/web-app-matrix/tasks/main.yml similarity index 96% rename from roles/docker-matrix/tasks/main.yml rename to roles/web-app-matrix/tasks/main.yml index 041a1d9c..11cce0b9 100644 --- a/roles/docker-matrix/tasks/main.yml +++ b/roles/web-app-matrix/tasks/main.yml @@ -8,13 +8,13 @@ bridges: "{{ bridges_configuration | filter_enabled_bridges(applications[application_id].plugins) }}" changed_when: false -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer vars: domain: "{{domains.matrix.synapse}}" http_port: "{{ports.localhost.http.synapse}}" @@ -39,9 +39,9 @@ http_port: "{{ports.localhost.http.synapse}}" notify: restart nginx -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{domains.matrix.element}}" http_port: "{{ports.localhost.http.element}}" diff --git a/roles/docker-matrix/templates/docker-compose.yml.j2 b/roles/web-app-matrix/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-matrix/templates/docker-compose.yml.j2 rename to roles/web-app-matrix/templates/docker-compose.yml.j2 diff --git a/roles/docker-matrix/templates/element.config.json.j2 b/roles/web-app-matrix/templates/element.config.json.j2 similarity index 100% rename from roles/docker-matrix/templates/element.config.json.j2 rename to roles/web-app-matrix/templates/element.config.json.j2 diff --git a/roles/docker-matrix/templates/mautrix/facebook.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/facebook.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/facebook.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/facebook.config.yml.j2 index d1518347..8d3ed9dd 100644 --- a/roles/docker-matrix/templates/mautrix/facebook.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/facebook.config.yml.j2 @@ -349,7 +349,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/imessage.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/imessage.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/imessage.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/imessage.config.yml.j2 index 86c8a076..0977c8d6 100644 --- a/roles/docker-matrix/templates/mautrix/imessage.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/imessage.config.yml.j2 @@ -134,7 +134,7 @@ bridge: # homeserver which could cause confusion in the chat history on the remote # network. Set to 0 to disable. max_handle_seconds: 0 - # Device ID to include in m.bridge data, read by client-integrated Android SMS. + # Device ID to include in m.bridge data, read by desktop-integrated Android SMS. # Not relevant for standalone bridges nor iMessage. device_id: null # Whether or not to sync with custom puppets to receive EDUs that are not normally sent to appservices. @@ -319,7 +319,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/instagram.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/instagram.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/instagram.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/instagram.config.yml.j2 index 1ace7c7d..f5655e80 100644 --- a/roles/docker-matrix/templates/mautrix/instagram.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/instagram.config.yml.j2 @@ -282,7 +282,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/signal.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/signal.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/signal.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/signal.config.yml.j2 index c6dfaab6..efa3ac98 100644 --- a/roles/docker-matrix/templates/mautrix/signal.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/signal.config.yml.j2 @@ -233,7 +233,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/slack.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/slack.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/slack.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/slack.config.yml.j2 index 0c7ec254..68ec6e3e 100644 --- a/roles/docker-matrix/templates/mautrix/slack.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/slack.config.yml.j2 @@ -239,7 +239,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/telegram.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/telegram.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/telegram.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/telegram.config.yml.j2 index c56f4dd8..26c33bbb 100644 --- a/roles/docker-matrix/templates/mautrix/telegram.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/telegram.config.yml.j2 @@ -314,7 +314,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/mautrix/whatsapp.config.yml.j2 b/roles/web-app-matrix/templates/mautrix/whatsapp.config.yml.j2 similarity index 99% rename from roles/docker-matrix/templates/mautrix/whatsapp.config.yml.j2 rename to roles/web-app-matrix/templates/mautrix/whatsapp.config.yml.j2 index bd927c8d..701583cb 100644 --- a/roles/docker-matrix/templates/mautrix/whatsapp.config.yml.j2 +++ b/roles/web-app-matrix/templates/mautrix/whatsapp.config.yml.j2 @@ -394,7 +394,7 @@ bridge: share: cross-signed-tofu # Options for Megolm room key rotation. These options allow you to # configure the m.room.encryption event content. See: - # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for + # https://spec.matrix.org/v1.3/desktop-server-api/#mroomencryption for # more information about that event. rotation: # Enable custom Megolm room key rotation settings. Note that these diff --git a/roles/docker-matrix/templates/nginx.conf.j2 b/roles/web-app-matrix/templates/nginx.conf.j2 similarity index 75% rename from roles/docker-matrix/templates/nginx.conf.j2 rename to roles/web-app-matrix/templates/nginx.conf.j2 index 23f7457d..9623d5e2 100644 --- a/roles/docker-matrix/templates/nginx.conf.j2 +++ b/roles/web-app-matrix/templates/nginx.conf.j2 @@ -11,6 +11,6 @@ server { listen 8448 ssl default_server; listen [::]:8448 ssl default_server; - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} } \ No newline at end of file diff --git a/roles/docker-matrix/templates/synapse/homeserver.yaml.j2 b/roles/web-app-matrix/templates/synapse/homeserver.yaml.j2 similarity index 100% rename from roles/docker-matrix/templates/synapse/homeserver.yaml.j2 rename to roles/web-app-matrix/templates/synapse/homeserver.yaml.j2 diff --git a/roles/docker-matrix/templates/synapse/log.config.j2 b/roles/web-app-matrix/templates/synapse/log.config.j2 similarity index 100% rename from roles/docker-matrix/templates/synapse/log.config.j2 rename to roles/web-app-matrix/templates/synapse/log.config.j2 diff --git a/roles/docker-matrix/templates/well-known.j2 b/roles/web-app-matrix/templates/well-known.j2 similarity index 100% rename from roles/docker-matrix/templates/well-known.j2 rename to roles/web-app-matrix/templates/well-known.j2 diff --git a/roles/docker-matrix/vars/bridges.yml b/roles/web-app-matrix/vars/bridges.yml similarity index 100% rename from roles/docker-matrix/vars/bridges.yml rename to roles/web-app-matrix/vars/bridges.yml diff --git a/roles/docker-matrix/vars/configuration.yml b/roles/web-app-matrix/vars/configuration.yml similarity index 100% rename from roles/docker-matrix/vars/configuration.yml rename to roles/web-app-matrix/vars/configuration.yml diff --git a/roles/docker-matrix/vars/main.yml b/roles/web-app-matrix/vars/main.yml similarity index 100% rename from roles/docker-matrix/vars/main.yml rename to roles/web-app-matrix/vars/main.yml diff --git a/roles/docker-mediawiki/Installation.md b/roles/web-app-mediawiki/Installation.md similarity index 100% rename from roles/docker-mediawiki/Installation.md rename to roles/web-app-mediawiki/Installation.md diff --git a/roles/docker-mediawiki/README.md b/roles/web-app-mediawiki/README.md similarity index 100% rename from roles/docker-mediawiki/README.md rename to roles/web-app-mediawiki/README.md diff --git a/roles/docker-mediawiki/TODO.md b/roles/web-app-mediawiki/TODO.md similarity index 100% rename from roles/docker-mediawiki/TODO.md rename to roles/web-app-mediawiki/TODO.md diff --git a/roles/docker-mediawiki/meta/main.yml b/roles/web-app-mediawiki/meta/main.yml similarity index 92% rename from roles/docker-mediawiki/meta/main.yml rename to roles/web-app-mediawiki/meta/main.yml index a72535dd..ac7d417b 100644 --- a/roles/docker-mediawiki/meta/main.yml +++ b/roles/web-app-mediawiki/meta/main.yml @@ -20,6 +20,6 @@ galaxy_info: logo: class: "fa-solid fa-book" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu \ No newline at end of file + - web-app-matomo + - web-app-keycloak + - web-app-mailu \ No newline at end of file diff --git a/roles/docker-mediawiki/tasks/main.yml b/roles/web-app-mediawiki/tasks/main.yml similarity index 65% rename from roles/docker-mediawiki/tasks/main.yml rename to roles/web-app-mediawiki/tasks/main.yml index 9e8748be..795547a4 100644 --- a/roles/docker-mediawiki/tasks/main.yml +++ b/roles/web-app-mediawiki/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-mediawiki/templates/docker-compose.yml.j2 b/roles/web-app-mediawiki/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-mediawiki/templates/docker-compose.yml.j2 rename to roles/web-app-mediawiki/templates/docker-compose.yml.j2 diff --git a/roles/docker-mediawiki/vars/configuration.yml b/roles/web-app-mediawiki/vars/configuration.yml similarity index 100% rename from roles/docker-mediawiki/vars/configuration.yml rename to roles/web-app-mediawiki/vars/configuration.yml diff --git a/roles/docker-mediawiki/vars/main.yml b/roles/web-app-mediawiki/vars/main.yml similarity index 100% rename from roles/docker-mediawiki/vars/main.yml rename to roles/web-app-mediawiki/vars/main.yml diff --git a/roles/docker-mobilizon/README.md b/roles/web-app-mobilizon/README.md similarity index 100% rename from roles/docker-mobilizon/README.md rename to roles/web-app-mobilizon/README.md diff --git a/roles/docker-mobilizon/meta/main.yml b/roles/web-app-mobilizon/meta/main.yml similarity index 86% rename from roles/docker-mobilizon/meta/main.yml rename to roles/web-app-mobilizon/meta/main.yml index 472730d2..79e8f0c4 100644 --- a/roles/docker-mobilizon/meta/main.yml +++ b/roles/web-app-mobilizon/meta/main.yml @@ -19,8 +19,8 @@ galaxy_info: logo: class: "fa-solid fa-calendar-days" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu - - docker-ldap - - docker-postgres + - web-app-matomo + - web-app-keycloak + - web-app-mailu + - service-openldap + - service-rdbms-postgres diff --git a/roles/docker-mobilizon/meta/schema.yml b/roles/web-app-mobilizon/meta/schema.yml similarity index 100% rename from roles/docker-mobilizon/meta/schema.yml rename to roles/web-app-mobilizon/meta/schema.yml diff --git a/roles/docker-mobilizon/tasks/main.yml b/roles/web-app-mobilizon/tasks/main.yml similarity index 63% rename from roles/docker-mobilizon/tasks/main.yml rename to roles/web-app-mobilizon/tasks/main.yml index 277ef17d..41faf4b8 100644 --- a/roles/docker-mobilizon/tasks/main.yml +++ b/roles/web-app-mobilizon/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-mobilizon/templates/config.exs.j2 b/roles/web-app-mobilizon/templates/config.exs.j2 similarity index 100% rename from roles/docker-mobilizon/templates/config.exs.j2 rename to roles/web-app-mobilizon/templates/config.exs.j2 diff --git a/roles/docker-mobilizon/templates/docker-compose.yml.j2 b/roles/web-app-mobilizon/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-mobilizon/templates/docker-compose.yml.j2 rename to roles/web-app-mobilizon/templates/docker-compose.yml.j2 diff --git a/roles/docker-mobilizon/templates/env.j2 b/roles/web-app-mobilizon/templates/env.j2 similarity index 100% rename from roles/docker-mobilizon/templates/env.j2 rename to roles/web-app-mobilizon/templates/env.j2 diff --git a/roles/docker-mobilizon/vars/configuration.yml b/roles/web-app-mobilizon/vars/configuration.yml similarity index 100% rename from roles/docker-mobilizon/vars/configuration.yml rename to roles/web-app-mobilizon/vars/configuration.yml diff --git a/roles/docker-mobilizon/vars/main.yml b/roles/web-app-mobilizon/vars/main.yml similarity index 100% rename from roles/docker-mobilizon/vars/main.yml rename to roles/web-app-mobilizon/vars/main.yml diff --git a/roles/docker-moodle/Administration.md b/roles/web-app-moodle/Administration.md similarity index 100% rename from roles/docker-moodle/Administration.md rename to roles/web-app-moodle/Administration.md diff --git a/roles/docker-moodle/README.md b/roles/web-app-moodle/README.md similarity index 100% rename from roles/docker-moodle/README.md rename to roles/web-app-moodle/README.md diff --git a/roles/docker-moodle/TODO.md b/roles/web-app-moodle/TODO.md similarity index 100% rename from roles/docker-moodle/TODO.md rename to roles/web-app-moodle/TODO.md diff --git a/roles/docker-moodle/meta/main.yml b/roles/web-app-moodle/meta/main.yml similarity index 96% rename from roles/docker-moodle/meta/main.yml rename to roles/web-app-moodle/meta/main.yml index c7620073..c70e08b8 100644 --- a/roles/docker-moodle/meta/main.yml +++ b/roles/web-app-moodle/meta/main.yml @@ -20,4 +20,4 @@ galaxy_info: logo: class: "fa-solid fa-graduation-cap" run_after: - - "docker-keycloak" \ No newline at end of file + - "web-app-keycloak" \ No newline at end of file diff --git a/roles/docker-moodle/meta/schema.yml b/roles/web-app-moodle/meta/schema.yml similarity index 100% rename from roles/docker-moodle/meta/schema.yml rename to roles/web-app-moodle/meta/schema.yml diff --git a/roles/docker-moodle/meta/users.yml b/roles/web-app-moodle/meta/users.yml similarity index 100% rename from roles/docker-moodle/meta/users.yml rename to roles/web-app-moodle/meta/users.yml diff --git a/roles/docker-moodle/tasks/main.yml b/roles/web-app-moodle/tasks/main.yml similarity index 84% rename from roles/docker-moodle/tasks/main.yml rename to roles/web-app-moodle/tasks/main.yml index 8e61e040..a5c74356 100644 --- a/roles/docker-moodle/tasks/main.yml +++ b/roles/web-app-moodle/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-moodle/tasks/oidc.yml b/roles/web-app-moodle/tasks/oidc.yml similarity index 100% rename from roles/docker-moodle/tasks/oidc.yml rename to roles/web-app-moodle/tasks/oidc.yml diff --git a/roles/docker-moodle/tasks/ownership.yml b/roles/web-app-moodle/tasks/ownership.yml similarity index 100% rename from roles/docker-moodle/tasks/ownership.yml rename to roles/web-app-moodle/tasks/ownership.yml diff --git a/roles/docker-moodle/templates/Dockerfile.j2 b/roles/web-app-moodle/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-moodle/templates/Dockerfile.j2 rename to roles/web-app-moodle/templates/Dockerfile.j2 diff --git a/roles/docker-moodle/templates/docker-compose.yml.j2 b/roles/web-app-moodle/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-moodle/templates/docker-compose.yml.j2 rename to roles/web-app-moodle/templates/docker-compose.yml.j2 diff --git a/roles/docker-moodle/templates/env.j2 b/roles/web-app-moodle/templates/env.j2 similarity index 100% rename from roles/docker-moodle/templates/env.j2 rename to roles/web-app-moodle/templates/env.j2 diff --git a/roles/docker-moodle/vars/configuration.yml b/roles/web-app-moodle/vars/configuration.yml similarity index 100% rename from roles/docker-moodle/vars/configuration.yml rename to roles/web-app-moodle/vars/configuration.yml diff --git a/roles/docker-moodle/vars/main.yml b/roles/web-app-moodle/vars/main.yml similarity index 100% rename from roles/docker-moodle/vars/main.yml rename to roles/web-app-moodle/vars/main.yml diff --git a/roles/docker-mybb/Installation.md b/roles/web-app-mybb/Installation.md similarity index 100% rename from roles/docker-mybb/Installation.md rename to roles/web-app-mybb/Installation.md diff --git a/roles/docker-mybb/README.md b/roles/web-app-mybb/README.md similarity index 100% rename from roles/docker-mybb/README.md rename to roles/web-app-mybb/README.md diff --git a/roles/docker-mybb/Todo.md b/roles/web-app-mybb/Todo.md similarity index 100% rename from roles/docker-mybb/Todo.md rename to roles/web-app-mybb/Todo.md diff --git a/roles/docker-mybb/meta/main.yml b/roles/web-app-mybb/meta/main.yml similarity index 89% rename from roles/docker-mybb/meta/main.yml rename to roles/web-app-mybb/meta/main.yml index 7012a24c..f0f45083 100644 --- a/roles/docker-mybb/meta/main.yml +++ b/roles/web-app-mybb/meta/main.yml @@ -20,8 +20,8 @@ galaxy_info: logo: class: "fa-solid fa-comments" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: - - nginx-docker-reverse-proxy \ No newline at end of file + - webserver-proxy-core \ No newline at end of file diff --git a/roles/docker-mybb/tasks/main.yml b/roles/web-app-mybb/tasks/main.yml similarity index 91% rename from roles/docker-mybb/tasks/main.yml rename to roles/web-app-mybb/tasks/main.yml index fc090955..acb5e021 100644 --- a/roles/docker-mybb/tasks/main.yml +++ b/roles/web-app-mybb/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "include tasks setup-domain.yml with {{domains | get_domain(application_id)}}" include_tasks: setup-domain.yml diff --git a/roles/docker-mybb/tasks/setup-domain.yml b/roles/web-app-mybb/tasks/setup-domain.yml similarity index 81% rename from roles/docker-mybb/tasks/setup-domain.yml rename to roles/web-app-mybb/tasks/setup-domain.yml index 8eec856e..73674393 100644 --- a/roles/docker-mybb/tasks/setup-domain.yml +++ b/roles/web-app-mybb/tasks/setup-domain.yml @@ -1,12 +1,12 @@ - name: "include role receive certbot certificate" include_role: - name: nginx-https-get-cert + name: webserver-tls-core vars: domain: "{{domains | get_domain(application_id)}}" - name: configure {{domains | get_domain(application_id)}}.conf template: - src: "roles/nginx-docker-reverse-proxy/templates/vhost/basic.conf.j2" + src: "roles/webserver-proxy-core/templates/vhost/basic.conf.j2" dest: "{{nginx.directories.http.servers}}{{domains | get_domain(application_id)}}.conf" notify: restart nginx vars: diff --git a/roles/docker-mybb/templates/default.conf b/roles/web-app-mybb/templates/default.conf similarity index 100% rename from roles/docker-mybb/templates/default.conf rename to roles/web-app-mybb/templates/default.conf diff --git a/roles/docker-mybb/templates/docker-compose.yml.j2 b/roles/web-app-mybb/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-mybb/templates/docker-compose.yml.j2 rename to roles/web-app-mybb/templates/docker-compose.yml.j2 diff --git a/roles/docker-mybb/vars/configuration.yml b/roles/web-app-mybb/vars/configuration.yml similarity index 100% rename from roles/docker-mybb/vars/configuration.yml rename to roles/web-app-mybb/vars/configuration.yml diff --git a/roles/docker-mybb/vars/main.yml b/roles/web-app-mybb/vars/main.yml similarity index 100% rename from roles/docker-mybb/vars/main.yml rename to roles/web-app-mybb/vars/main.yml diff --git a/roles/docker-nextcloud/README.md b/roles/web-app-nextcloud/README.md similarity index 100% rename from roles/docker-nextcloud/README.md rename to roles/web-app-nextcloud/README.md diff --git a/roles/docker-nextcloud/Todo.md b/roles/web-app-nextcloud/Todo.md similarity index 100% rename from roles/docker-nextcloud/Todo.md rename to roles/web-app-nextcloud/Todo.md diff --git a/roles/docker-nextcloud/docs/Administration.md b/roles/web-app-nextcloud/docs/Administration.md similarity index 100% rename from roles/docker-nextcloud/docs/Administration.md rename to roles/web-app-nextcloud/docs/Administration.md diff --git a/roles/docker-nextcloud/docs/Applications.md b/roles/web-app-nextcloud/docs/Applications.md similarity index 100% rename from roles/docker-nextcloud/docs/Applications.md rename to roles/web-app-nextcloud/docs/Applications.md diff --git a/roles/docker-nextcloud/docs/Database.md b/roles/web-app-nextcloud/docs/Database.md similarity index 100% rename from roles/docker-nextcloud/docs/Database.md rename to roles/web-app-nextcloud/docs/Database.md diff --git a/roles/docker-nextcloud/docs/IAM.md b/roles/web-app-nextcloud/docs/IAM.md similarity index 100% rename from roles/docker-nextcloud/docs/IAM.md rename to roles/web-app-nextcloud/docs/IAM.md diff --git a/roles/docker-nextcloud/docs/LDAP.md b/roles/web-app-nextcloud/docs/LDAP.md similarity index 100% rename from roles/docker-nextcloud/docs/LDAP.md rename to roles/web-app-nextcloud/docs/LDAP.md diff --git a/roles/docker-nextcloud/docs/OCC.md b/roles/web-app-nextcloud/docs/OCC.md similarity index 100% rename from roles/docker-nextcloud/docs/OCC.md rename to roles/web-app-nextcloud/docs/OCC.md diff --git a/roles/docker-nextcloud/docs/README.md b/roles/web-app-nextcloud/docs/README.md similarity index 100% rename from roles/docker-nextcloud/docs/README.md rename to roles/web-app-nextcloud/docs/README.md diff --git a/roles/docker-nextcloud/docs/Update.md b/roles/web-app-nextcloud/docs/Update.md similarity index 94% rename from roles/docker-nextcloud/docs/Update.md rename to roles/web-app-nextcloud/docs/Update.md index dc7f54a0..c07606e8 100644 --- a/roles/docker-nextcloud/docs/Update.md +++ b/roles/web-app-nextcloud/docs/Update.md @@ -45,7 +45,7 @@ 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 && -bash ./recover-docker-from-local.sh "nextcloud_data" "$(sha256sum /etc/machine-id | head -c 64)" +bash ./recover-web-app-from-local.sh "nextcloud_data" "$(sha256sum /etc/machine-id | head -c 64)" ``` ## Other Resources diff --git a/roles/docker-nextcloud/docs/Users.md b/roles/web-app-nextcloud/docs/Users.md similarity index 100% rename from roles/docker-nextcloud/docs/Users.md rename to roles/web-app-nextcloud/docs/Users.md diff --git a/roles/docker-nextcloud/handlers/main.yml b/roles/web-app-nextcloud/handlers/main.yml similarity index 100% rename from roles/docker-nextcloud/handlers/main.yml rename to roles/web-app-nextcloud/handlers/main.yml diff --git a/roles/docker-nextcloud/meta/main.yml b/roles/web-app-nextcloud/meta/main.yml similarity index 84% rename from roles/docker-nextcloud/meta/main.yml rename to roles/web-app-nextcloud/meta/main.yml index e2b2f6d6..3b45f1a3 100644 --- a/roles/docker-nextcloud/meta/main.yml +++ b/roles/web-app-nextcloud/meta/main.yml @@ -25,11 +25,11 @@ galaxy_info: - php repository: "https://s.veen.world/cymais" issue_tracker_url: "https://s.veen.world/cymaisissues" - documentation: "https://s.veen.world/cymais/docker-nextcloud" + documentation: "https://s.veen.world/cymais/web-app-nextcloud" logo: class: "fa-solid fa-cloud" run_after: - - docker-collabora - - docker-keycloak - - docker-mastodon - - docker-mariadb + - web-app-collabora + - web-app-keycloak + - web-app-mastodon + - service-rdbms-mariadb diff --git a/roles/docker-nextcloud/meta/schema.yml b/roles/web-app-nextcloud/meta/schema.yml similarity index 100% rename from roles/docker-nextcloud/meta/schema.yml rename to roles/web-app-nextcloud/meta/schema.yml diff --git a/roles/docker-nextcloud/meta/users.yml b/roles/web-app-nextcloud/meta/users.yml similarity index 100% rename from roles/docker-nextcloud/meta/users.yml rename to roles/web-app-nextcloud/meta/users.yml diff --git a/roles/docker-nextcloud/tasks/config.yml b/roles/web-app-nextcloud/tasks/config.yml similarity index 100% rename from roles/docker-nextcloud/tasks/config.yml rename to roles/web-app-nextcloud/tasks/config.yml diff --git a/roles/docker-nextcloud/tasks/main.yml b/roles/web-app-nextcloud/tasks/main.yml similarity index 95% rename from roles/docker-nextcloud/tasks/main.yml rename to roles/web-app-nextcloud/tasks/main.yml index 1237c856..ef35b031 100644 --- a/roles/docker-nextcloud/tasks/main.yml +++ b/roles/web-app-nextcloud/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "create {{ nextcloud_host_config_additives_directory }}" file: @@ -21,7 +21,7 @@ - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer - name: create nextcloud nginx proxy configuration file template: diff --git a/roles/docker-nextcloud/tasks/plugin.yml b/roles/web-app-nextcloud/tasks/plugin.yml similarity index 100% rename from roles/docker-nextcloud/tasks/plugin.yml rename to roles/web-app-nextcloud/tasks/plugin.yml diff --git a/roles/docker-nextcloud/tasks/plugins/user_ldap.yml b/roles/web-app-nextcloud/tasks/plugins/user_ldap.yml similarity index 100% rename from roles/docker-nextcloud/tasks/plugins/user_ldap.yml rename to roles/web-app-nextcloud/tasks/plugins/user_ldap.yml diff --git a/roles/docker-nextcloud/tasks/system.yml b/roles/web-app-nextcloud/tasks/system.yml similarity index 100% rename from roles/docker-nextcloud/tasks/system.yml rename to roles/web-app-nextcloud/tasks/system.yml diff --git a/roles/docker-nextcloud/templates/config/README.md b/roles/web-app-nextcloud/templates/config/README.md similarity index 100% rename from roles/docker-nextcloud/templates/config/README.md rename to roles/web-app-nextcloud/templates/config/README.md diff --git a/roles/docker-nextcloud/templates/config/memcache.config.php.j2 b/roles/web-app-nextcloud/templates/config/memcache.config.php.j2 similarity index 100% rename from roles/docker-nextcloud/templates/config/memcache.config.php.j2 rename to roles/web-app-nextcloud/templates/config/memcache.config.php.j2 diff --git a/roles/docker-nextcloud/templates/config/oidc.config.php.j2 b/roles/web-app-nextcloud/templates/config/oidc.config.php.j2 similarity index 100% rename from roles/docker-nextcloud/templates/config/oidc.config.php.j2 rename to roles/web-app-nextcloud/templates/config/oidc.config.php.j2 diff --git a/roles/docker-nextcloud/templates/config/turnserver.config.php.j2.draft b/roles/web-app-nextcloud/templates/config/turnserver.config.php.j2.draft similarity index 100% rename from roles/docker-nextcloud/templates/config/turnserver.config.php.j2.draft rename to roles/web-app-nextcloud/templates/config/turnserver.config.php.j2.draft diff --git a/roles/docker-nextcloud/templates/docker-compose.yml.j2 b/roles/web-app-nextcloud/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-nextcloud/templates/docker-compose.yml.j2 rename to roles/web-app-nextcloud/templates/docker-compose.yml.j2 diff --git a/roles/docker-nextcloud/templates/env.j2 b/roles/web-app-nextcloud/templates/env.j2 similarity index 100% rename from roles/docker-nextcloud/templates/env.j2 rename to roles/web-app-nextcloud/templates/env.j2 diff --git a/roles/docker-nextcloud/templates/include.php.j2 b/roles/web-app-nextcloud/templates/include.php.j2 similarity index 100% rename from roles/docker-nextcloud/templates/include.php.j2 rename to roles/web-app-nextcloud/templates/include.php.j2 diff --git a/roles/docker-nextcloud/templates/nginx/docker.conf.j2 b/roles/web-app-nextcloud/templates/nginx/docker.conf.j2 similarity index 96% rename from roles/docker-nextcloud/templates/nginx/docker.conf.j2 rename to roles/web-app-nextcloud/templates/nginx/docker.conf.j2 index 3c37043c..2eac2808 100644 --- a/roles/docker-nextcloud/templates/nginx/docker.conf.j2 +++ b/roles/web-app-nextcloud/templates/nginx/docker.conf.j2 @@ -61,7 +61,7 @@ http { gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; + gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Pagespeed is not supported by Nextcloud, so if your server is built # with the `ngx_pagespeed` module, uncomment this line to disable it. diff --git a/roles/docker-nextcloud/templates/nginx/host.conf.j2 b/roles/web-app-nextcloud/templates/nginx/host.conf.j2 similarity index 87% rename from roles/docker-nextcloud/templates/nginx/host.conf.j2 rename to roles/web-app-nextcloud/templates/nginx/host.conf.j2 index 6f8d0282..54a2784d 100644 --- a/roles/docker-nextcloud/templates/nginx/host.conf.j2 +++ b/roles/web-app-nextcloud/templates/nginx/host.conf.j2 @@ -6,7 +6,7 @@ server {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} # Remove X-Powered-By, which is an information leak fastcgi_hide_header X-Powered-By; @@ -18,7 +18,7 @@ server client_body_buffer_size 400M; fastcgi_buffers 64 4K; - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} location ^~ /.well-known { rewrite ^/\.well-known/host-meta\.json /public.php?service=host-meta-json last; diff --git a/roles/docker-nextcloud/vars/README.md b/roles/web-app-nextcloud/vars/README.md similarity index 100% rename from roles/docker-nextcloud/vars/README.md rename to roles/web-app-nextcloud/vars/README.md diff --git a/roles/docker-nextcloud/vars/configuration.yml b/roles/web-app-nextcloud/vars/configuration.yml similarity index 99% rename from roles/docker-nextcloud/vars/configuration.yml rename to roles/web-app-nextcloud/vars/configuration.yml index d1dd289a..7ce8035e 100644 --- a/roles/docker-nextcloud/vars/configuration.yml +++ b/roles/web-app-nextcloud/vars/configuration.yml @@ -204,7 +204,7 @@ plugins: - oidc_login # Will be disabled spreed: # Nextcloud Spreed: offers video conferencing and chat functionalities (https://apps.nextcloud.com/apps/spreed) - enabled: false # @todo to activate it first implement docker-coturn and activate it + enabled: false # @todo to activate it first implement web-app-coturn and activate it tables: # Nextcloud tables: allows creation and editing of tables within the interface (https://apps.nextcloud.com/apps/tables) enabled: true diff --git a/roles/docker-nextcloud/vars/main.yml b/roles/web-app-nextcloud/vars/main.yml similarity index 100% rename from roles/docker-nextcloud/vars/main.yml rename to roles/web-app-nextcloud/vars/main.yml diff --git a/roles/docker-nextcloud/vars/plugins/README.md b/roles/web-app-nextcloud/vars/plugins/README.md similarity index 100% rename from roles/docker-nextcloud/vars/plugins/README.md rename to roles/web-app-nextcloud/vars/plugins/README.md diff --git a/roles/docker-nextcloud/vars/plugins/bbb.yml b/roles/web-app-nextcloud/vars/plugins/bbb.yml similarity index 100% rename from roles/docker-nextcloud/vars/plugins/bbb.yml rename to roles/web-app-nextcloud/vars/plugins/bbb.yml diff --git a/roles/docker-nextcloud/vars/plugins/sociallogin.yml b/roles/web-app-nextcloud/vars/plugins/sociallogin.yml similarity index 100% rename from roles/docker-nextcloud/vars/plugins/sociallogin.yml rename to roles/web-app-nextcloud/vars/plugins/sociallogin.yml diff --git a/roles/docker-nextcloud/vars/plugins/user_ldap.yml b/roles/web-app-nextcloud/vars/plugins/user_ldap.yml similarity index 100% rename from roles/docker-nextcloud/vars/plugins/user_ldap.yml rename to roles/web-app-nextcloud/vars/plugins/user_ldap.yml diff --git a/roles/docker-nextcloud/vars/system.yml b/roles/web-app-nextcloud/vars/system.yml similarity index 100% rename from roles/docker-nextcloud/vars/system.yml rename to roles/web-app-nextcloud/vars/system.yml diff --git a/roles/docker-oauth2-proxy/README.md b/roles/web-app-oauth2-proxy/README.md similarity index 100% rename from roles/docker-oauth2-proxy/README.md rename to roles/web-app-oauth2-proxy/README.md diff --git a/roles/docker-oauth2-proxy/Setup.md b/roles/web-app-oauth2-proxy/Setup.md similarity index 100% rename from roles/docker-oauth2-proxy/Setup.md rename to roles/web-app-oauth2-proxy/Setup.md diff --git a/roles/docker-oauth2-proxy/Todo.md b/roles/web-app-oauth2-proxy/Todo.md similarity index 100% rename from roles/docker-oauth2-proxy/Todo.md rename to roles/web-app-oauth2-proxy/Todo.md diff --git a/roles/docker-oauth2-proxy/tasks/main.yml b/roles/web-app-oauth2-proxy/tasks/main.yml similarity index 100% rename from roles/docker-oauth2-proxy/tasks/main.yml rename to roles/web-app-oauth2-proxy/tasks/main.yml diff --git a/roles/docker-oauth2-proxy/templates/container.yml.j2 b/roles/web-app-oauth2-proxy/templates/container.yml.j2 similarity index 100% rename from roles/docker-oauth2-proxy/templates/container.yml.j2 rename to roles/web-app-oauth2-proxy/templates/container.yml.j2 diff --git a/roles/docker-oauth2-proxy/templates/endpoint.conf.j2 b/roles/web-app-oauth2-proxy/templates/endpoint.conf.j2 similarity index 100% rename from roles/docker-oauth2-proxy/templates/endpoint.conf.j2 rename to roles/web-app-oauth2-proxy/templates/endpoint.conf.j2 diff --git a/roles/docker-oauth2-proxy/templates/following_directives.conf.j2 b/roles/web-app-oauth2-proxy/templates/following_directives.conf.j2 similarity index 100% rename from roles/docker-oauth2-proxy/templates/following_directives.conf.j2 rename to roles/web-app-oauth2-proxy/templates/following_directives.conf.j2 diff --git a/roles/docker-oauth2-proxy/templates/oauth2-proxy-keycloak.cfg.j2 b/roles/web-app-oauth2-proxy/templates/oauth2-proxy-keycloak.cfg.j2 similarity index 100% rename from roles/docker-oauth2-proxy/templates/oauth2-proxy-keycloak.cfg.j2 rename to roles/web-app-oauth2-proxy/templates/oauth2-proxy-keycloak.cfg.j2 diff --git a/roles/docker-oauth2-proxy/vars/configuration.yml b/roles/web-app-oauth2-proxy/vars/configuration.yml similarity index 100% rename from roles/docker-oauth2-proxy/vars/configuration.yml rename to roles/web-app-oauth2-proxy/vars/configuration.yml diff --git a/roles/docker-oauth2-proxy/vars/main.yml b/roles/web-app-oauth2-proxy/vars/main.yml similarity index 100% rename from roles/docker-oauth2-proxy/vars/main.yml rename to roles/web-app-oauth2-proxy/vars/main.yml diff --git a/roles/docker-openproject/Development.md b/roles/web-app-openproject/Development.md similarity index 100% rename from roles/docker-openproject/Development.md rename to roles/web-app-openproject/Development.md diff --git a/roles/docker-openproject/README.md b/roles/web-app-openproject/README.md similarity index 100% rename from roles/docker-openproject/README.md rename to roles/web-app-openproject/README.md diff --git a/roles/docker-openproject/TODO.md b/roles/web-app-openproject/TODO.md similarity index 100% rename from roles/docker-openproject/TODO.md rename to roles/web-app-openproject/TODO.md diff --git a/roles/docker-openproject/files/Gemfile.plugins b/roles/web-app-openproject/files/Gemfile.plugins similarity index 100% rename from roles/docker-openproject/files/Gemfile.plugins rename to roles/web-app-openproject/files/Gemfile.plugins diff --git a/roles/docker-openproject/meta/main.yml b/roles/web-app-openproject/meta/main.yml similarity index 97% rename from roles/docker-openproject/meta/main.yml rename to roles/web-app-openproject/meta/main.yml index 02d9479d..0002170c 100644 --- a/roles/docker-openproject/meta/main.yml +++ b/roles/web-app-openproject/meta/main.yml @@ -30,4 +30,4 @@ galaxy_info: logo: class: "fa-solid fa-project-diagram" run_after: - - docker-keycloak + - web-app-keycloak diff --git a/roles/docker-openproject/meta/schema.yml b/roles/web-app-openproject/meta/schema.yml similarity index 100% rename from roles/docker-openproject/meta/schema.yml rename to roles/web-app-openproject/meta/schema.yml diff --git a/roles/docker-openproject/tasks/ldap.yml b/roles/web-app-openproject/tasks/ldap.yml similarity index 100% rename from roles/docker-openproject/tasks/ldap.yml rename to roles/web-app-openproject/tasks/ldap.yml diff --git a/roles/docker-openproject/tasks/main.yml b/roles/web-app-openproject/tasks/main.yml similarity index 86% rename from roles/docker-openproject/tasks/main.yml rename to roles/web-app-openproject/tasks/main.yml index 0318b4d1..3c58e5fa 100644 --- a/roles/docker-openproject/tasks/main.yml +++ b/roles/web-app-openproject/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-openproject/templates/Dockerfile.j2 b/roles/web-app-openproject/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-openproject/templates/Dockerfile.j2 rename to roles/web-app-openproject/templates/Dockerfile.j2 diff --git a/roles/docker-openproject/templates/docker-compose.yml.j2 b/roles/web-app-openproject/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-openproject/templates/docker-compose.yml.j2 rename to roles/web-app-openproject/templates/docker-compose.yml.j2 diff --git a/roles/docker-openproject/templates/env.j2 b/roles/web-app-openproject/templates/env.j2 similarity index 100% rename from roles/docker-openproject/templates/env.j2 rename to roles/web-app-openproject/templates/env.j2 diff --git a/roles/docker-openproject/vars/configuration.yml b/roles/web-app-openproject/vars/configuration.yml similarity index 100% rename from roles/docker-openproject/vars/configuration.yml rename to roles/web-app-openproject/vars/configuration.yml diff --git a/roles/docker-openproject/vars/ldap.yml b/roles/web-app-openproject/vars/ldap.yml similarity index 100% rename from roles/docker-openproject/vars/ldap.yml rename to roles/web-app-openproject/vars/ldap.yml diff --git a/roles/docker-openproject/vars/main.yml b/roles/web-app-openproject/vars/main.yml similarity index 100% rename from roles/docker-openproject/vars/main.yml rename to roles/web-app-openproject/vars/main.yml diff --git a/roles/docker-peertube/Administration.md b/roles/web-app-peertube/Administration.md similarity index 100% rename from roles/docker-peertube/Administration.md rename to roles/web-app-peertube/Administration.md diff --git a/roles/docker-peertube/README.md b/roles/web-app-peertube/README.md similarity index 100% rename from roles/docker-peertube/README.md rename to roles/web-app-peertube/README.md diff --git a/roles/docker-peertube/Setup.md b/roles/web-app-peertube/Setup.md similarity index 100% rename from roles/docker-peertube/Setup.md rename to roles/web-app-peertube/Setup.md diff --git a/roles/docker-peertube/Todo.md b/roles/web-app-peertube/Todo.md similarity index 100% rename from roles/docker-peertube/Todo.md rename to roles/web-app-peertube/Todo.md diff --git a/roles/docker-peertube/Upgrade.md b/roles/web-app-peertube/Upgrade.md similarity index 100% rename from roles/docker-peertube/Upgrade.md rename to roles/web-app-peertube/Upgrade.md diff --git a/roles/docker-peertube/meta/main.yml b/roles/web-app-peertube/meta/main.yml similarity index 97% rename from roles/docker-peertube/meta/main.yml rename to roles/web-app-peertube/meta/main.yml index be9c1e26..dd904ab0 100644 --- a/roles/docker-peertube/meta/main.yml +++ b/roles/web-app-peertube/meta/main.yml @@ -29,4 +29,4 @@ galaxy_info: logo: class: "fa-solid fa-video" run_after: - - docker-keycloak + - web-app-keycloak diff --git a/roles/docker-peertube/meta/schema.yml b/roles/web-app-peertube/meta/schema.yml similarity index 100% rename from roles/docker-peertube/meta/schema.yml rename to roles/web-app-peertube/meta/schema.yml diff --git a/roles/docker-peertube/tasks/create-domains.yml b/roles/web-app-peertube/tasks/create-domains.yml similarity index 86% rename from roles/docker-peertube/tasks/create-domains.yml rename to roles/web-app-peertube/tasks/create-domains.yml index 2317fb19..7d9af85c 100644 --- a/roles/docker-peertube/tasks/create-domains.yml +++ b/roles/web-app-peertube/tasks/create-domains.yml @@ -1,6 +1,6 @@ - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer - name: configure {{domain}}.conf template: diff --git a/roles/docker-peertube/tasks/disable-oidc.yml b/roles/web-app-peertube/tasks/disable-oidc.yml similarity index 100% rename from roles/docker-peertube/tasks/disable-oidc.yml rename to roles/web-app-peertube/tasks/disable-oidc.yml diff --git a/roles/docker-peertube/tasks/enable-oidc.yml b/roles/web-app-peertube/tasks/enable-oidc.yml similarity index 100% rename from roles/docker-peertube/tasks/enable-oidc.yml rename to roles/web-app-peertube/tasks/enable-oidc.yml diff --git a/roles/docker-peertube/tasks/main.yml b/roles/web-app-peertube/tasks/main.yml similarity index 88% rename from roles/docker-peertube/tasks/main.yml rename to roles/web-app-peertube/tasks/main.yml index 0baedfbb..05931a93 100644 --- a/roles/docker-peertube/tasks/main.yml +++ b/roles/web-app-peertube/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "include create-domains.yml for peertube" include_tasks: create-domains.yml diff --git a/roles/docker-peertube/templates/docker-compose.yml.j2 b/roles/web-app-peertube/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-peertube/templates/docker-compose.yml.j2 rename to roles/web-app-peertube/templates/docker-compose.yml.j2 diff --git a/roles/docker-peertube/templates/env.j2 b/roles/web-app-peertube/templates/env.j2 similarity index 100% rename from roles/docker-peertube/templates/env.j2 rename to roles/web-app-peertube/templates/env.j2 diff --git a/roles/docker-peertube/templates/peertube.conf.j2 b/roles/web-app-peertube/templates/peertube.conf.j2 similarity index 92% rename from roles/docker-peertube/templates/peertube.conf.j2 rename to roles/web-app-peertube/templates/peertube.conf.j2 index 4cdc94c8..07aa88fa 100644 --- a/roles/docker-peertube/templates/peertube.conf.j2 +++ b/roles/web-app-peertube/templates/peertube.conf.j2 @@ -3,9 +3,9 @@ server { {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} - {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2' %} ## # Application diff --git a/roles/docker-peertube/vars/configuration.yml b/roles/web-app-peertube/vars/configuration.yml similarity index 100% rename from roles/docker-peertube/vars/configuration.yml rename to roles/web-app-peertube/vars/configuration.yml diff --git a/roles/docker-peertube/vars/main.yml b/roles/web-app-peertube/vars/main.yml similarity index 100% rename from roles/docker-peertube/vars/main.yml rename to roles/web-app-peertube/vars/main.yml diff --git a/roles/docker-peertube/vars/oidc-settings.yml b/roles/web-app-peertube/vars/oidc-settings.yml similarity index 79% rename from roles/docker-peertube/vars/oidc-settings.yml rename to roles/web-app-peertube/vars/oidc-settings.yml index 8457b034..d3f2de89 100644 --- a/roles/docker-peertube/vars/oidc-settings.yml +++ b/roles/web-app-peertube/vars/oidc-settings.yml @@ -1,9 +1,9 @@ oidc_settings: | { "scope": "openid email profile", - "client-id": "{{ oidc.client.id }}", + "desktop-id": "{{ oidc.client.id }}", "discover-url": "{{ oidc.client.discovery_document }}", - "client-secret": "{{ oidc.client.secret }}", + "desktop-secret": "{{ oidc.client.secret }}", "mail-property": "email", "auth-display-name": "{{ oidc.button_text }}", "username-property": "{{ oidc.attributes.username }}", diff --git a/roles/docker-pgadmin/README.md b/roles/web-app-pgadmin/README.md similarity index 100% rename from roles/docker-pgadmin/README.md rename to roles/web-app-pgadmin/README.md diff --git a/roles/docker-pgadmin/meta/main.yml b/roles/web-app-pgadmin/meta/main.yml similarity index 72% rename from roles/docker-pgadmin/meta/main.yml rename to roles/web-app-pgadmin/meta/main.yml index 54084633..ffa7b13c 100644 --- a/roles/docker-pgadmin/meta/main.yml +++ b/roles/web-app-pgadmin/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: "Kevin Veen-Birkenbach" - description: "Take control of your PostgreSQL databases with pgAdmin — a powerful, open source, web-based administration tool offering an intuitive user interface, multi‑server management, robust configuration options, and optional OAuth2 integration for enhanced security." + description: "Take control of your PostgreSQL databases with pgAdmin — a powerful, open source, web-app-based administration tool offering an intuitive user interface, multi‑server management, robust configuration options, and optional OAuth2 integration for enhanced security." license: "CyMaIS NonCommercial License (CNCL)" license_url: "https://s.veen.world/cncl" company: | @@ -25,5 +25,5 @@ galaxy_info: logo: class: "fa-solid fa-database" run_after: - - docker-matomo - - docker-keycloak + - web-app-matomo + - web-app-keycloak diff --git a/roles/docker-pgadmin/meta/schema.yml b/roles/web-app-pgadmin/meta/schema.yml similarity index 100% rename from roles/docker-pgadmin/meta/schema.yml rename to roles/web-app-pgadmin/meta/schema.yml diff --git a/roles/docker-pgadmin/meta/users.yml b/roles/web-app-pgadmin/meta/users.yml similarity index 100% rename from roles/docker-pgadmin/meta/users.yml rename to roles/web-app-pgadmin/meta/users.yml diff --git a/roles/docker-pgadmin/tasks/configuration.yml b/roles/web-app-pgadmin/tasks/configuration.yml similarity index 100% rename from roles/docker-pgadmin/tasks/configuration.yml rename to roles/web-app-pgadmin/tasks/configuration.yml diff --git a/roles/docker-pgadmin/tasks/main.yml b/roles/web-app-pgadmin/tasks/main.yml similarity index 77% rename from roles/docker-pgadmin/tasks/main.yml rename to roles/web-app-pgadmin/tasks/main.yml index 91ecec31..6927b87e 100644 --- a/roles/docker-pgadmin/tasks/main.yml +++ b/roles/web-app-pgadmin/tasks/main.yml @@ -3,9 +3,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-pgadmin/templates/docker-compose.yml.j2 b/roles/web-app-pgadmin/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-pgadmin/templates/docker-compose.yml.j2 rename to roles/web-app-pgadmin/templates/docker-compose.yml.j2 diff --git a/roles/docker-pgadmin/templates/env.j2 b/roles/web-app-pgadmin/templates/env.j2 similarity index 100% rename from roles/docker-pgadmin/templates/env.j2 rename to roles/web-app-pgadmin/templates/env.j2 diff --git a/roles/docker-pgadmin/templates/pgpass.j2 b/roles/web-app-pgadmin/templates/pgpass.j2 similarity index 100% rename from roles/docker-pgadmin/templates/pgpass.j2 rename to roles/web-app-pgadmin/templates/pgpass.j2 diff --git a/roles/docker-pgadmin/templates/servers.json.j2 b/roles/web-app-pgadmin/templates/servers.json.j2 similarity index 100% rename from roles/docker-pgadmin/templates/servers.json.j2 rename to roles/web-app-pgadmin/templates/servers.json.j2 diff --git a/roles/docker-pgadmin/vars/configuration.yml b/roles/web-app-pgadmin/vars/configuration.yml similarity index 100% rename from roles/docker-pgadmin/vars/configuration.yml rename to roles/web-app-pgadmin/vars/configuration.yml diff --git a/roles/docker-pgadmin/vars/db_config.yml b/roles/web-app-pgadmin/vars/db_config.yml similarity index 100% rename from roles/docker-pgadmin/vars/db_config.yml rename to roles/web-app-pgadmin/vars/db_config.yml diff --git a/roles/docker-pgadmin/vars/main.yml b/roles/web-app-pgadmin/vars/main.yml similarity index 100% rename from roles/docker-pgadmin/vars/main.yml rename to roles/web-app-pgadmin/vars/main.yml diff --git a/roles/docker-phpldapadmin/README.md b/roles/web-app-phpldapadmin/README.md similarity index 100% rename from roles/docker-phpldapadmin/README.md rename to roles/web-app-phpldapadmin/README.md diff --git a/roles/docker-phpldapadmin/Todo.md b/roles/web-app-phpldapadmin/Todo.md similarity index 100% rename from roles/docker-phpldapadmin/Todo.md rename to roles/web-app-phpldapadmin/Todo.md diff --git a/roles/docker-phpldapadmin/meta/main.yml b/roles/web-app-phpldapadmin/meta/main.yml similarity index 93% rename from roles/docker-phpldapadmin/meta/main.yml rename to roles/web-app-phpldapadmin/meta/main.yml index dfd4c75b..7805cc10 100644 --- a/roles/docker-phpldapadmin/meta/main.yml +++ b/roles/web-app-phpldapadmin/meta/main.yml @@ -24,6 +24,6 @@ galaxy_info: logo: class: "fa-solid fa-user-lock" run_after: - - docker-ldap - - docker-matomo - - docker-keycloak + - service-openldap + - web-app-matomo + - web-app-keycloak diff --git a/roles/docker-phpldapadmin/meta/schema.yml b/roles/web-app-phpldapadmin/meta/schema.yml similarity index 100% rename from roles/docker-phpldapadmin/meta/schema.yml rename to roles/web-app-phpldapadmin/meta/schema.yml diff --git a/roles/docker-lam/tasks/main.yml b/roles/web-app-phpldapadmin/tasks/main.yml similarity index 68% rename from roles/docker-lam/tasks/main.yml rename to roles/web-app-phpldapadmin/tasks/main.yml index a7f37d15..ac55bbde 100644 --- a/roles/docker-lam/tasks/main.yml +++ b/roles/web-app-phpldapadmin/tasks/main.yml @@ -2,9 +2,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-phpldapadmin/templates/docker-compose.yml.j2 b/roles/web-app-phpldapadmin/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-phpldapadmin/templates/docker-compose.yml.j2 rename to roles/web-app-phpldapadmin/templates/docker-compose.yml.j2 diff --git a/roles/docker-phpldapadmin/templates/env.j2 b/roles/web-app-phpldapadmin/templates/env.j2 similarity index 100% rename from roles/docker-phpldapadmin/templates/env.j2 rename to roles/web-app-phpldapadmin/templates/env.j2 diff --git a/roles/docker-phpldapadmin/vars/configuration.yml b/roles/web-app-phpldapadmin/vars/configuration.yml similarity index 100% rename from roles/docker-phpldapadmin/vars/configuration.yml rename to roles/web-app-phpldapadmin/vars/configuration.yml diff --git a/roles/docker-phpldapadmin/vars/main.yml b/roles/web-app-phpldapadmin/vars/main.yml similarity index 100% rename from roles/docker-phpldapadmin/vars/main.yml rename to roles/web-app-phpldapadmin/vars/main.yml diff --git a/roles/docker-phpmyadmin/README.md b/roles/web-app-phpmyadmin/README.md similarity index 97% rename from roles/docker-phpmyadmin/README.md rename to roles/web-app-phpmyadmin/README.md index 3d940415..9cfdf39e 100644 --- a/roles/docker-phpmyadmin/README.md +++ b/roles/web-app-phpmyadmin/README.md @@ -2,7 +2,7 @@ ## Description -This Ansible role deploys [PhpMyAdmin](https://www.phpmyadmin.net/) in a secure Docker environment, complete with optional OAuth2 proxy support. It enables seamless management of MariaDB/MySQL databases via a web-based interface. +This Ansible role deploys [PhpMyAdmin](https://www.phpmyadmin.net/) in a secure Docker environment, complete with optional OAuth2 proxy support. It enables seamless management of MariaDB/MySQL databases via a web-app-based interface. ## Overview diff --git a/roles/docker-phpmyadmin/meta/main.yml b/roles/web-app-phpmyadmin/meta/main.yml similarity index 92% rename from roles/docker-phpmyadmin/meta/main.yml rename to roles/web-app-phpmyadmin/meta/main.yml index 56fdb050..4e083606 100644 --- a/roles/docker-phpmyadmin/meta/main.yml +++ b/roles/web-app-phpmyadmin/meta/main.yml @@ -26,6 +26,6 @@ galaxy_info: logo: class: "fa-solid fa-database" run_after: - - docker-mariadb - - docker-matomo - - docker-keycloak \ No newline at end of file + - service-rdbms-mariadb + - web-app-matomo + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-phpmyadmin/meta/schema.yml b/roles/web-app-phpmyadmin/meta/schema.yml similarity index 100% rename from roles/docker-phpmyadmin/meta/schema.yml rename to roles/web-app-phpmyadmin/meta/schema.yml diff --git a/roles/docker-phpmyadmin/tasks/main.yml b/roles/web-app-phpmyadmin/tasks/main.yml similarity index 69% rename from roles/docker-phpmyadmin/tasks/main.yml rename to roles/web-app-phpmyadmin/tasks/main.yml index 05415221..a40ed450 100644 --- a/roles/docker-phpmyadmin/tasks/main.yml +++ b/roles/web-app-phpmyadmin/tasks/main.yml @@ -3,9 +3,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-phpmyadmin/templates/docker-compose.yml.j2 b/roles/web-app-phpmyadmin/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-phpmyadmin/templates/docker-compose.yml.j2 rename to roles/web-app-phpmyadmin/templates/docker-compose.yml.j2 diff --git a/roles/docker-phpmyadmin/templates/env.j2 b/roles/web-app-phpmyadmin/templates/env.j2 similarity index 100% rename from roles/docker-phpmyadmin/templates/env.j2 rename to roles/web-app-phpmyadmin/templates/env.j2 diff --git a/roles/docker-phpmyadmin/vars/configuration.yml b/roles/web-app-phpmyadmin/vars/configuration.yml similarity index 100% rename from roles/docker-phpmyadmin/vars/configuration.yml rename to roles/web-app-phpmyadmin/vars/configuration.yml diff --git a/roles/docker-phpmyadmin/vars/main.yml b/roles/web-app-phpmyadmin/vars/main.yml similarity index 100% rename from roles/docker-phpmyadmin/vars/main.yml rename to roles/web-app-phpmyadmin/vars/main.yml diff --git a/roles/docker-pixelfed/Administration.md b/roles/web-app-pixelfed/Administration.md similarity index 97% rename from roles/docker-pixelfed/Administration.md rename to roles/web-app-pixelfed/Administration.md index 2d3d3614..d4100863 100644 --- a/roles/docker-pixelfed/Administration.md +++ b/roles/web-app-pixelfed/Administration.md @@ -18,7 +18,7 @@ docker-compose exec -it database mariadb -u pixelfed -p ``` ### User Management via CLI in Pixelfed Docker Setup -To manage users in your Pixelfed instance running in a Docker container, as configured in Kevin Veen-Birkenbach's docker-pixelfed role, you can follow these steps via the Command Line Interface (CLI): +To manage users in your Pixelfed instance running in a Docker container, as configured in Kevin Veen-Birkenbach's web-app-pixelfed role, you can follow these steps via the Command Line Interface (CLI): 1. **Access the Application Container:** First, gain shell access to the Pixelfed application container. Use the command provided in the README: diff --git a/roles/docker-pixelfed/README.md b/roles/web-app-pixelfed/README.md similarity index 89% rename from roles/docker-pixelfed/README.md rename to roles/web-app-pixelfed/README.md index bdece9aa..bbc4aab4 100644 --- a/roles/docker-pixelfed/README.md +++ b/roles/web-app-pixelfed/README.md @@ -14,7 +14,7 @@ This Docker Compose deployment automates the installation and operation of a Pix * **Modern, Responsive Web Interface:** Access an intuitive and adaptive UI for effortless browsing, administration, and content management. * **Robust Scalability & Performance:** Leverage integrated Redis caching and a reliable database (MariaDB or PostgreSQL) for smooth scaling and high performance. * **Flexible Configuration:** Customize cache sizes, domain settings, and authentication options via environment variables and templated configuration files. -* **Maintenance & Administration Tools:** Built-in CLI and web-based tools to clear caches, manage the database, and monitor application health. +* **Maintenance & Administration Tools:** Built-in CLI and web-app-based tools to clear caches, manage the database, and monitor application health. * **Single Sign-On (SSO) / OpenID Connect (OIDC):** Seamless integration with external identity providers for centralized authentication. ## Other Resources diff --git a/roles/docker-pixelfed/meta/main.yml b/roles/web-app-pixelfed/meta/main.yml similarity index 97% rename from roles/docker-pixelfed/meta/main.yml rename to roles/web-app-pixelfed/meta/main.yml index e7edca7d..14d858cc 100644 --- a/roles/docker-pixelfed/meta/main.yml +++ b/roles/web-app-pixelfed/meta/main.yml @@ -25,4 +25,4 @@ galaxy_info: logo: class: "fa-solid fa-camera" run_after: - - docker-keycloak \ No newline at end of file + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-pixelfed/meta/schema.yml b/roles/web-app-pixelfed/meta/schema.yml similarity index 100% rename from roles/docker-pixelfed/meta/schema.yml rename to roles/web-app-pixelfed/meta/schema.yml diff --git a/roles/web-app-pixelfed/tasks/main.yml b/roles/web-app-pixelfed/tasks/main.yml new file mode 100644 index 00000000..61682a38 --- /dev/null +++ b/roles/web-app-pixelfed/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-pixelfed/templates/docker-compose.yml.j2 b/roles/web-app-pixelfed/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-pixelfed/templates/docker-compose.yml.j2 rename to roles/web-app-pixelfed/templates/docker-compose.yml.j2 diff --git a/roles/docker-pixelfed/templates/env.j2 b/roles/web-app-pixelfed/templates/env.j2 similarity index 100% rename from roles/docker-pixelfed/templates/env.j2 rename to roles/web-app-pixelfed/templates/env.j2 diff --git a/roles/docker-pixelfed/vars/configuration.yml b/roles/web-app-pixelfed/vars/configuration.yml similarity index 100% rename from roles/docker-pixelfed/vars/configuration.yml rename to roles/web-app-pixelfed/vars/configuration.yml diff --git a/roles/docker-pixelfed/vars/main.yml b/roles/web-app-pixelfed/vars/main.yml similarity index 100% rename from roles/docker-pixelfed/vars/main.yml rename to roles/web-app-pixelfed/vars/main.yml diff --git a/roles/docker-portfolio/Administrator.md b/roles/web-app-portfolio/Administrator.md similarity index 100% rename from roles/docker-portfolio/Administrator.md rename to roles/web-app-portfolio/Administrator.md diff --git a/roles/docker-portfolio/README.md b/roles/web-app-portfolio/README.md similarity index 100% rename from roles/docker-portfolio/README.md rename to roles/web-app-portfolio/README.md diff --git a/roles/docker-portfolio/filter_plugins/list_in_filter.py b/roles/web-app-portfolio/filter_plugins/list_in_filter.py similarity index 100% rename from roles/docker-portfolio/filter_plugins/list_in_filter.py rename to roles/web-app-portfolio/filter_plugins/list_in_filter.py diff --git a/roles/docker-portfolio/filter_plugins/simpleicons_source.py b/roles/web-app-portfolio/filter_plugins/simpleicons_source.py similarity index 100% rename from roles/docker-portfolio/filter_plugins/simpleicons_source.py rename to roles/web-app-portfolio/filter_plugins/simpleicons_source.py diff --git a/roles/system-storage-optimizer/files/__init__.py b/roles/web-app-portfolio/lookup_plugins/__init__.py similarity index 100% rename from roles/system-storage-optimizer/files/__init__.py rename to roles/web-app-portfolio/lookup_plugins/__init__.py diff --git a/roles/docker-portfolio/lookup_plugins/docker_cards.py b/roles/web-app-portfolio/lookup_plugins/docker_cards.py similarity index 92% rename from roles/docker-portfolio/lookup_plugins/docker_cards.py rename to roles/web-app-portfolio/lookup_plugins/docker_cards.py index 21f4f363..3129d435 100644 --- a/roles/docker-portfolio/lookup_plugins/docker_cards.py +++ b/roles/web-app-portfolio/lookup_plugins/docker_cards.py @@ -13,10 +13,10 @@ from ansible.errors import AnsibleError class LookupModule(LookupBase): def run(self, terms, variables=None, **kwargs): """ - This lookup iterates over all roles whose folder name starts with 'docker-' + This lookup iterates over all roles whose folder name starts with 'web-app-' and generates a list of dictionaries (cards). For each role, it: - - Extracts the application_id (everything after "docker-") + - Extracts the application_id (everything after "web-app-") - Reads the title from the role's README.md (the first H1 line) - Retrieves the description from galaxy_info.description in meta/main.yml - Retrieves the icon class from galaxy_info.logo.class @@ -33,18 +33,18 @@ class LookupModule(LookupBase): # Retrieve group_names from variables (used to filter roles) group_names = variables.get("group_names", []) - # Search for all roles starting with "docker-" - pattern = os.path.join(roles_dir, "docker-*") + # Search for all roles starting with "web-app-" + pattern = os.path.join(roles_dir, "web-app-*") for role_path in glob.glob(pattern): role_dir = role_path.rstrip("/") role_basename = os.path.basename(role_dir) - # Skip roles not starting with "docker-" - if not role_basename.startswith("docker-"): + # Skip roles not starting with "web-app-" + if not role_basename.startswith("web-app-"): continue # Extract application_id from role name - application_id = role_basename[len("docker-"):] + application_id = role_basename[len("web-app-"):] # Skip roles not listed in group_names if application_id not in group_names: diff --git a/roles/docker-portfolio/lookup_plugins/docker_cards_grouped.py b/roles/web-app-portfolio/lookup_plugins/docker_cards_grouped.py similarity index 100% rename from roles/docker-portfolio/lookup_plugins/docker_cards_grouped.py rename to roles/web-app-portfolio/lookup_plugins/docker_cards_grouped.py diff --git a/roles/docker-portfolio/meta/main.yml b/roles/web-app-portfolio/meta/main.yml similarity index 97% rename from roles/docker-portfolio/meta/main.yml rename to roles/web-app-portfolio/meta/main.yml index daf968af..64b88f1e 100644 --- a/roles/docker-portfolio/meta/main.yml +++ b/roles/web-app-portfolio/meta/main.yml @@ -25,4 +25,4 @@ galaxy_info: logo: class: "fa-solid fa-briefcase" run_after: - - docker-simpleicons \ No newline at end of file + - web-app-simpleicons \ No newline at end of file diff --git a/roles/docker-portfolio/tasks/main.yml b/roles/web-app-portfolio/tasks/main.yml similarity index 96% rename from roles/docker-portfolio/tasks/main.yml rename to roles/web-app-portfolio/tasks/main.yml index 4c6e1087..2e5455a2 100644 --- a/roles/docker-portfolio/tasks/main.yml +++ b/roles/web-app-portfolio/tasks/main.yml @@ -5,9 +5,9 @@ name: docker-compose when: run_once_docker_portfolio is not defined -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-portfolio/templates/config.yaml.j2 b/roles/web-app-portfolio/templates/config.yaml.j2 similarity index 100% rename from roles/docker-portfolio/templates/config.yaml.j2 rename to roles/web-app-portfolio/templates/config.yaml.j2 diff --git a/roles/docker-portfolio/templates/docker-compose.yml.j2 b/roles/web-app-portfolio/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/docker-compose.yml.j2 rename to roles/web-app-portfolio/templates/docker-compose.yml.j2 diff --git a/roles/docker-portfolio/templates/javascript.js.j2 b/roles/web-app-portfolio/templates/javascript.js.j2 similarity index 100% rename from roles/docker-portfolio/templates/javascript.js.j2 rename to roles/web-app-portfolio/templates/javascript.js.j2 diff --git a/roles/docker-portfolio/templates/menu/applications.yml.j2 b/roles/web-app-portfolio/templates/menu/applications.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/applications.yml.j2 rename to roles/web-app-portfolio/templates/menu/applications.yml.j2 diff --git a/roles/docker-portfolio/templates/menu/contact.yml.j2 b/roles/web-app-portfolio/templates/menu/contact.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/contact.yml.j2 rename to roles/web-app-portfolio/templates/menu/contact.yml.j2 diff --git a/roles/docker-portfolio/templates/menu/followus.yml.j2 b/roles/web-app-portfolio/templates/menu/followus.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/followus.yml.j2 rename to roles/web-app-portfolio/templates/menu/followus.yml.j2 diff --git a/roles/docker-portfolio/templates/menu/footer.yml.j2 b/roles/web-app-portfolio/templates/menu/footer.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/footer.yml.j2 rename to roles/web-app-portfolio/templates/menu/footer.yml.j2 diff --git a/roles/docker-portfolio/templates/menu/header.yml.j2 b/roles/web-app-portfolio/templates/menu/header.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/header.yml.j2 rename to roles/web-app-portfolio/templates/menu/header.yml.j2 diff --git a/roles/docker-portfolio/templates/menu/support.yml.j2 b/roles/web-app-portfolio/templates/menu/support.yml.j2 similarity index 100% rename from roles/docker-portfolio/templates/menu/support.yml.j2 rename to roles/web-app-portfolio/templates/menu/support.yml.j2 diff --git a/roles/docker-portfolio/vars/configuration.yml b/roles/web-app-portfolio/vars/configuration.yml similarity index 100% rename from roles/docker-portfolio/vars/configuration.yml rename to roles/web-app-portfolio/vars/configuration.yml diff --git a/roles/docker-portfolio/vars/main.yml b/roles/web-app-portfolio/vars/main.yml similarity index 100% rename from roles/docker-portfolio/vars/main.yml rename to roles/web-app-portfolio/vars/main.yml diff --git a/roles/docker-portfolio/vars/menu_categories.yml b/roles/web-app-portfolio/vars/menu_categories.yml similarity index 100% rename from roles/docker-portfolio/vars/menu_categories.yml rename to roles/web-app-portfolio/vars/menu_categories.yml diff --git a/roles/docker-postmarks/Todo.md b/roles/web-app-postmarks/Todo.md similarity index 100% rename from roles/docker-postmarks/Todo.md rename to roles/web-app-postmarks/Todo.md diff --git a/roles/docker-postmarks/vars/main.yml b/roles/web-app-postmarks/vars/main.yml similarity index 100% rename from roles/docker-postmarks/vars/main.yml rename to roles/web-app-postmarks/vars/main.yml diff --git a/roles/docker-presentation/README.md b/roles/web-app-presentation/README.md similarity index 100% rename from roles/docker-presentation/README.md rename to roles/web-app-presentation/README.md diff --git a/roles/docker-presentation/meta/main.yml b/roles/web-app-presentation/meta/main.yml similarity index 100% rename from roles/docker-presentation/meta/main.yml rename to roles/web-app-presentation/meta/main.yml diff --git a/roles/docker-presentation/tasks/main.yml b/roles/web-app-presentation/tasks/main.yml similarity index 88% rename from roles/docker-presentation/tasks/main.yml rename to roles/web-app-presentation/tasks/main.yml index db039d94..d2489e1a 100644 --- a/roles/docker-presentation/tasks/main.yml +++ b/roles/web-app-presentation/tasks/main.yml @@ -18,9 +18,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-presentation/templates/docker-compose.yml.j2 b/roles/web-app-presentation/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-presentation/templates/docker-compose.yml.j2 rename to roles/web-app-presentation/templates/docker-compose.yml.j2 diff --git a/roles/docker-presentation/templates/env.j2 b/roles/web-app-presentation/templates/env.j2 similarity index 100% rename from roles/docker-presentation/templates/env.j2 rename to roles/web-app-presentation/templates/env.j2 diff --git a/roles/docker-presentation/vars/configuration.yml b/roles/web-app-presentation/vars/configuration.yml similarity index 100% rename from roles/docker-presentation/vars/configuration.yml rename to roles/web-app-presentation/vars/configuration.yml diff --git a/roles/docker-presentation/vars/main.yml b/roles/web-app-presentation/vars/main.yml similarity index 100% rename from roles/docker-presentation/vars/main.yml rename to roles/web-app-presentation/vars/main.yml diff --git a/roles/web-app-pretix/README.md b/roles/web-app-pretix/README.md new file mode 100644 index 00000000..a519138e --- /dev/null +++ b/roles/web-app-pretix/README.md @@ -0,0 +1,19 @@ +# Docker Role Template + +This folder contains a template to setup docker roles. + +## Description + +* Put a description here. + +## Overview + +Put an overview here. + +## Features + +Put a feature list here + +## Further Resources + +* Put more resources here \ No newline at end of file diff --git a/roles/roles/docker-pretix/Readme.md b/roles/web-app-pretix/Readme.md similarity index 100% rename from roles/roles/docker-pretix/Readme.md rename to roles/web-app-pretix/Readme.md diff --git a/roles/web-app-pretix/meta/main.yml b/roles/web-app-pretix/meta/main.yml new file mode 100644 index 00000000..443d3323 --- /dev/null +++ b/roles/web-app-pretix/meta/main.yml @@ -0,0 +1,19 @@ + +--- +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "" + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + galaxy_tags: [] + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/" + logo: + class: "" + run_after: [] +dependencies: [] diff --git a/roles/docker-sphinx/templates/env.j2 b/roles/web-app-pretix/meta/schema.yml similarity index 100% rename from roles/docker-sphinx/templates/env.j2 rename to roles/web-app-pretix/meta/schema.yml diff --git a/roles/web-app-pretix/tasks/main.yml b/roles/web-app-pretix/tasks/main.yml new file mode 100644 index 00000000..1232fb22 --- /dev/null +++ b/roles/web-app-pretix/tasks/main.yml @@ -0,0 +1,27 @@ +--- + + + + +- name: "include docker-compose role" + include_role: + name: docker-compose + when: run_once_docker_pretix is not defined + + + + + + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" + when: run_once_docker_pretix is not defined + +- name: run the pretix tasks once + set_fact: + run_once_docker_pretix: true + when: run_once_docker_pretix is not defined diff --git a/roles/docker-xmpp/vars/configuration.yml b/roles/web-app-pretix/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-xmpp/vars/configuration.yml rename to roles/web-app-pretix/templates/Dockerfile.j2 diff --git a/roles/web-app-pretix/templates/docker-compose.yml.j2 b/roles/web-app-pretix/templates/docker-compose.yml.j2 new file mode 100644 index 00000000..25f0c306 --- /dev/null +++ b/roles/web-app-pretix/templates/docker-compose.yml.j2 @@ -0,0 +1,20 @@ + +services: + +{% include 'roles/docker-compose/templates/base.yml.j2' %} + + application: + image: "{{ applications[application_id].images[application_id] }}" + volumes: [] + ports: + - "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}" +{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} +{% include 'roles/docker-container/templates/base.yml.j2' %} +{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %} +{% include 'roles/docker-container/templates/networks.yml.j2' %} + +{% include 'roles/docker-compose/templates/volumes.yml.j2' %} + +{% include 'roles/docker-compose/templates/networks.yml.j2' %} + + diff --git a/templates/docker_role/meta/schema.yml.j2 b/roles/web-app-pretix/templates/env.j2 similarity index 100% rename from templates/docker_role/meta/schema.yml.j2 rename to roles/web-app-pretix/templates/env.j2 diff --git a/templates/docker_role/templates/javascript.js.j2 b/roles/web-app-pretix/templates/javascript.js similarity index 100% rename from templates/docker_role/templates/javascript.js.j2 rename to roles/web-app-pretix/templates/javascript.js diff --git a/roles/web-app-pretix/vars/configuration.yml b/roles/web-app-pretix/vars/configuration.yml new file mode 100644 index 00000000..1a7e4d01 --- /dev/null +++ b/roles/web-app-pretix/vars/configuration.yml @@ -0,0 +1,28 @@ + +credentials: {} +docker: + images: {} # @todo Move under services + versions: {} # @todo Move under services + services: + redis: + enabled: false # Enable Redis + database: + enabled: false # Enable the database +features: + matomo: true # Enable Matomo Tracking + css: true # Enable Global CSS Styling + portfolio_iframe: true # Enable loading of app in iframe + ldap: false # Enable LDAP Network + central_database: false # Enable Central Database Network + recaptcha: false # Enable ReCaptcha + oauth2: false # Enable the OAuth2-Proy + javascript: false # Enables the custom JS in the javascript.js.j2 file +csp: + whitelist: {} # URL's which should be whitelisted + flags: {} # Flags which should be set +domains: + canonical: {} # Urls under which the domain should be directly accessible + aliases: [] # Alias redirections to the first element of the canonical domains +rbac: + roles: {} + diff --git a/roles/web-app-pretix/vars/main.yml b/roles/web-app-pretix/vars/main.yml new file mode 100644 index 00000000..22f79a6b --- /dev/null +++ b/roles/web-app-pretix/vars/main.yml @@ -0,0 +1,2 @@ +application_id: pretix # ID of the application +database_type: 0 # Database type [postgres, mariadb] \ No newline at end of file diff --git a/roles/docker-redis/README.md b/roles/web-app-redis/README.md similarity index 98% rename from roles/docker-redis/README.md rename to roles/web-app-redis/README.md index ff4723ce..48a8b4de 100644 --- a/roles/docker-redis/README.md +++ b/roles/web-app-redis/README.md @@ -1,4 +1,4 @@ -# Role: docker-redis +# Role: web-app-redis ## Description diff --git a/roles/docker-redis/templates/service.yml.j2 b/roles/web-app-redis/templates/service.yml.j2 similarity index 100% rename from roles/docker-redis/templates/service.yml.j2 rename to roles/web-app-redis/templates/service.yml.j2 diff --git a/roles/docker-redis/vars/main.yml b/roles/web-app-redis/vars/main.yml similarity index 100% rename from roles/docker-redis/vars/main.yml rename to roles/web-app-redis/vars/main.yml diff --git a/roles/docker-roulette-wheel/README.md b/roles/web-app-roulette-wheel/README.md similarity index 95% rename from roles/docker-roulette-wheel/README.md rename to roles/web-app-roulette-wheel/README.md index e93d5abe..60fd422e 100644 --- a/roles/docker-roulette-wheel/README.md +++ b/roles/web-app-roulette-wheel/README.md @@ -20,7 +20,7 @@ Roulette Wheel is a Node.js-based front-end application that is containerized us ## Other Resources - [Roulette Wheel on GitHub](https://github.com/p-wojt/roulette-wheel) -- [Packaging Front-End Projects into Docker Images (Dev.to)](https://dev.to/ms314006/how-to-package-front-end-projects-into-docker-images-and-use-it-with-webpack-go3) +- [Packaging Front-End Projects into Docker Images (Dev.to)](https://dev.to/ms314006/how-to-package-front-end-projects-into-web-app-images-and-use-it-with-webpack-go3) - [Stack Overflow: Dockerfile to Run NodeJS Static Content](https://stackoverflow.com/questions/53178820/dockerfile-to-run-nodejs-static-content-in-docker-container) - [Stack Overflow: Invalid Host Header Message with Webpack Dev Server](https://stackoverflow.com/questions/43619644/i-am-getting-an-invalid-host-header-message-when-connecting-to-webpack-dev-ser) diff --git a/roles/docker-roulette-wheel/TODO.md b/roles/web-app-roulette-wheel/TODO.md similarity index 100% rename from roles/docker-roulette-wheel/TODO.md rename to roles/web-app-roulette-wheel/TODO.md diff --git a/roles/docker-roulette-wheel/meta/main.yml b/roles/web-app-roulette-wheel/meta/main.yml similarity index 100% rename from roles/docker-roulette-wheel/meta/main.yml rename to roles/web-app-roulette-wheel/meta/main.yml diff --git a/roles/docker-roulette-wheel/tasks/main.yml b/roles/web-app-roulette-wheel/tasks/main.yml similarity index 100% rename from roles/docker-roulette-wheel/tasks/main.yml rename to roles/web-app-roulette-wheel/tasks/main.yml diff --git a/roles/docker-roulette-wheel/templates/Dockerfile.j2 b/roles/web-app-roulette-wheel/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-roulette-wheel/templates/Dockerfile.j2 rename to roles/web-app-roulette-wheel/templates/Dockerfile.j2 diff --git a/roles/docker-roulette-wheel/templates/docker-compose.yml.j2 b/roles/web-app-roulette-wheel/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-roulette-wheel/templates/docker-compose.yml.j2 rename to roles/web-app-roulette-wheel/templates/docker-compose.yml.j2 diff --git a/roles/docker-roulette-wheel/vars/configuration.yml b/roles/web-app-roulette-wheel/vars/configuration.yml similarity index 100% rename from roles/docker-roulette-wheel/vars/configuration.yml rename to roles/web-app-roulette-wheel/vars/configuration.yml diff --git a/roles/docker-roulette-wheel/vars/main.yml b/roles/web-app-roulette-wheel/vars/main.yml similarity index 100% rename from roles/docker-roulette-wheel/vars/main.yml rename to roles/web-app-roulette-wheel/vars/main.yml diff --git a/roles/docker-simpleicons/README.md b/roles/web-app-simpleicons/README.md similarity index 100% rename from roles/docker-simpleicons/README.md rename to roles/web-app-simpleicons/README.md diff --git a/roles/docker-simpleicons/meta/main.yml b/roles/web-app-simpleicons/meta/main.yml similarity index 100% rename from roles/docker-simpleicons/meta/main.yml rename to roles/web-app-simpleicons/meta/main.yml diff --git a/roles/docker-simpleicons/tasks/main.yml b/roles/web-app-simpleicons/tasks/main.yml similarity index 89% rename from roles/docker-simpleicons/tasks/main.yml rename to roles/web-app-simpleicons/tasks/main.yml index 0430d8a5..1a887634 100644 --- a/roles/docker-simpleicons/tasks/main.yml +++ b/roles/web-app-simpleicons/tasks/main.yml @@ -4,9 +4,9 @@ name: docker-compose when: run_once_docker_simpleicons is not defined -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-simpleicons/templates/Dockerfile.j2 b/roles/web-app-simpleicons/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-simpleicons/templates/Dockerfile.j2 rename to roles/web-app-simpleicons/templates/Dockerfile.j2 diff --git a/roles/docker-simpleicons/templates/docker-compose.yml.j2 b/roles/web-app-simpleicons/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-simpleicons/templates/docker-compose.yml.j2 rename to roles/web-app-simpleicons/templates/docker-compose.yml.j2 diff --git a/roles/docker-simpleicons/templates/env.j2 b/roles/web-app-simpleicons/templates/env.j2 similarity index 100% rename from roles/docker-simpleicons/templates/env.j2 rename to roles/web-app-simpleicons/templates/env.j2 diff --git a/roles/docker-simpleicons/templates/package.json.j2 b/roles/web-app-simpleicons/templates/package.json.j2 similarity index 100% rename from roles/docker-simpleicons/templates/package.json.j2 rename to roles/web-app-simpleicons/templates/package.json.j2 diff --git a/roles/docker-simpleicons/templates/server.js.j2 b/roles/web-app-simpleicons/templates/server.js.j2 similarity index 96% rename from roles/docker-simpleicons/templates/server.js.j2 rename to roles/web-app-simpleicons/templates/server.js.j2 index 7034fe30..dd25980b 100644 --- a/roles/docker-simpleicons/templates/server.js.j2 +++ b/roles/web-app-simpleicons/templates/server.js.j2 @@ -15,7 +15,7 @@ function getExportName(slug) { // Root: redirect to your documentation app.get('/', (req, res) => { - res.redirect('{{ domains | get_url('sphinx', web_protocol) }}/roles/docker-{{ application_id }}/README.html'); + res.redirect('{{ domains | get_url('sphinx', web_protocol) }}/roles/web-app-{{ application_id }}/README.html'); }); // GET /:slug.svg diff --git a/roles/docker-simpleicons/vars/configuration.yml b/roles/web-app-simpleicons/vars/configuration.yml similarity index 100% rename from roles/docker-simpleicons/vars/configuration.yml rename to roles/web-app-simpleicons/vars/configuration.yml diff --git a/roles/docker-simpleicons/vars/main.yml b/roles/web-app-simpleicons/vars/main.yml similarity index 100% rename from roles/docker-simpleicons/vars/main.yml rename to roles/web-app-simpleicons/vars/main.yml diff --git a/roles/docker-snipe-it/Administration.md b/roles/web-app-snipe-it/Administration.md similarity index 100% rename from roles/docker-snipe-it/Administration.md rename to roles/web-app-snipe-it/Administration.md diff --git a/roles/docker-snipe-it/README.md b/roles/web-app-snipe-it/README.md similarity index 100% rename from roles/docker-snipe-it/README.md rename to roles/web-app-snipe-it/README.md diff --git a/roles/docker-snipe-it/meta/main.yml b/roles/web-app-snipe-it/meta/main.yml similarity index 93% rename from roles/docker-snipe-it/meta/main.yml rename to roles/web-app-snipe-it/meta/main.yml index 8bf1fea4..eb4b7aee 100644 --- a/roles/docker-snipe-it/meta/main.yml +++ b/roles/web-app-snipe-it/meta/main.yml @@ -27,8 +27,8 @@ galaxy_info: logo: class: "fa-solid fa-box" run_after: - - docker-matomo - - docker-keycloak - - docker-mailu + - web-app-matomo + - web-app-keycloak + - web-app-mailu dependencies: [] diff --git a/roles/docker-snipe-it/meta/schema.yml b/roles/web-app-snipe-it/meta/schema.yml similarity index 100% rename from roles/docker-snipe-it/meta/schema.yml rename to roles/web-app-snipe-it/meta/schema.yml diff --git a/roles/docker-snipe-it/tasks/ldap.yml b/roles/web-app-snipe-it/tasks/ldap.yml similarity index 100% rename from roles/docker-snipe-it/tasks/ldap.yml rename to roles/web-app-snipe-it/tasks/ldap.yml diff --git a/roles/docker-snipe-it/tasks/main.yml b/roles/web-app-snipe-it/tasks/main.yml similarity index 63% rename from roles/docker-snipe-it/tasks/main.yml rename to roles/web-app-snipe-it/tasks/main.yml index 300b40f1..305070f4 100644 --- a/roles/docker-snipe-it/tasks/main.yml +++ b/roles/web-app-snipe-it/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-snipe-it/templates/docker-compose.yml.j2 b/roles/web-app-snipe-it/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-snipe-it/templates/docker-compose.yml.j2 rename to roles/web-app-snipe-it/templates/docker-compose.yml.j2 diff --git a/roles/docker-snipe-it/templates/env.j2 b/roles/web-app-snipe-it/templates/env.j2 similarity index 100% rename from roles/docker-snipe-it/templates/env.j2 rename to roles/web-app-snipe-it/templates/env.j2 diff --git a/roles/docker-snipe-it/vars/configuration.yml b/roles/web-app-snipe-it/vars/configuration.yml similarity index 100% rename from roles/docker-snipe-it/vars/configuration.yml rename to roles/web-app-snipe-it/vars/configuration.yml diff --git a/roles/docker-snipe-it/vars/main.yml b/roles/web-app-snipe-it/vars/main.yml similarity index 100% rename from roles/docker-snipe-it/vars/main.yml rename to roles/web-app-snipe-it/vars/main.yml diff --git a/roles/docker-socialhome/Todo.md b/roles/web-app-socialhome/Todo.md similarity index 100% rename from roles/docker-socialhome/Todo.md rename to roles/web-app-socialhome/Todo.md diff --git a/roles/docker-socialhome/vars/main.yml b/roles/web-app-socialhome/vars/main.yml similarity index 100% rename from roles/docker-socialhome/vars/main.yml rename to roles/web-app-socialhome/vars/main.yml diff --git a/roles/docker-sphinx/README.md b/roles/web-app-sphinx/README.md similarity index 100% rename from roles/docker-sphinx/README.md rename to roles/web-app-sphinx/README.md diff --git a/roles/docker-sphinx/meta/main.yml b/roles/web-app-sphinx/meta/main.yml similarity index 100% rename from roles/docker-sphinx/meta/main.yml rename to roles/web-app-sphinx/meta/main.yml diff --git a/roles/docker-sphinx/tasks/main.yml b/roles/web-app-sphinx/tasks/main.yml similarity index 87% rename from roles/docker-sphinx/tasks/main.yml rename to roles/web-app-sphinx/tasks/main.yml index 3b0651a4..7f133cf4 100644 --- a/roles/docker-sphinx/tasks/main.yml +++ b/roles/web-app-sphinx/tasks/main.yml @@ -15,9 +15,9 @@ include_role: name: docker-compose -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-sphinx/templates/docker-compose.yml.j2 b/roles/web-app-sphinx/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-sphinx/templates/docker-compose.yml.j2 rename to roles/web-app-sphinx/templates/docker-compose.yml.j2 diff --git a/templates/docker_role/templates/Dockerfile.j2.j2 b/roles/web-app-sphinx/templates/env.j2 similarity index 100% rename from templates/docker_role/templates/Dockerfile.j2.j2 rename to roles/web-app-sphinx/templates/env.j2 diff --git a/roles/docker-sphinx/vars/configuration.yml b/roles/web-app-sphinx/vars/configuration.yml similarity index 100% rename from roles/docker-sphinx/vars/configuration.yml rename to roles/web-app-sphinx/vars/configuration.yml diff --git a/roles/docker-sphinx/vars/main.yml b/roles/web-app-sphinx/vars/main.yml similarity index 100% rename from roles/docker-sphinx/vars/main.yml rename to roles/web-app-sphinx/vars/main.yml diff --git a/roles/docker-syncope/README.md b/roles/web-app-syncope/README.md similarity index 100% rename from roles/docker-syncope/README.md rename to roles/web-app-syncope/README.md diff --git a/roles/docker-syncope/TODO.md b/roles/web-app-syncope/TODO.md similarity index 100% rename from roles/docker-syncope/TODO.md rename to roles/web-app-syncope/TODO.md diff --git a/roles/docker-syncope/meta/main.yml b/roles/web-app-syncope/meta/main.yml similarity index 100% rename from roles/docker-syncope/meta/main.yml rename to roles/web-app-syncope/meta/main.yml diff --git a/roles/docker-syncope/tasks/main.yml b/roles/web-app-syncope/tasks/main.yml similarity index 84% rename from roles/docker-syncope/tasks/main.yml rename to roles/web-app-syncope/tasks/main.yml index 672fe2de..5a1c0f72 100644 --- a/roles/docker-syncope/tasks/main.yml +++ b/roles/web-app-syncope/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer - name: configure {{domain}}.conf template: diff --git a/roles/docker-syncope/templates/database.env.j2 b/roles/web-app-syncope/templates/database.env.j2 similarity index 100% rename from roles/docker-syncope/templates/database.env.j2 rename to roles/web-app-syncope/templates/database.env.j2 diff --git a/roles/docker-syncope/templates/docker-compose.yml.j2 b/roles/web-app-syncope/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-syncope/templates/docker-compose.yml.j2 rename to roles/web-app-syncope/templates/docker-compose.yml.j2 diff --git a/roles/docker-syncope/templates/env.j2 b/roles/web-app-syncope/templates/env.j2 similarity index 100% rename from roles/docker-syncope/templates/env.j2 rename to roles/web-app-syncope/templates/env.j2 diff --git a/roles/docker-syncope/templates/proxy.conf b/roles/web-app-syncope/templates/proxy.conf similarity index 69% rename from roles/docker-syncope/templates/proxy.conf rename to roles/web-app-syncope/templates/proxy.conf index 51f7cf46..e425a9f0 100644 --- a/roles/docker-syncope/templates/proxy.conf +++ b/roles/web-app-syncope/templates/proxy.conf @@ -3,10 +3,10 @@ server server_name {{domain}}; {% if applications | is_feature_enabled('oauth2',application_id) %} - {% include 'roles/docker-oauth2-proxy/templates/endpoint.conf.j2'%} + {% include 'roles/web-app-oauth2-proxy/templates/endpoint.conf.j2'%} {% endif %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} {% if nginx_docker_reverse_proxy_extra_configuration is defined %} {# Additional Domain Specific Configuration #} @@ -17,6 +17,6 @@ server {% for path in syncope_paths.values() %} {% set location = web_protocol ~ '://' ~ domains | get_domain(application_id) ~ '/' ~ path ~ '/' %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2'%} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2'%} {% endfor %} } \ No newline at end of file diff --git a/roles/docker-syncope/vars/configuration.yml b/roles/web-app-syncope/vars/configuration.yml similarity index 100% rename from roles/docker-syncope/vars/configuration.yml rename to roles/web-app-syncope/vars/configuration.yml diff --git a/roles/docker-syncope/vars/main.yml b/roles/web-app-syncope/vars/main.yml similarity index 100% rename from roles/docker-syncope/vars/main.yml rename to roles/web-app-syncope/vars/main.yml diff --git a/roles/docker-taiga/Development.md b/roles/web-app-taiga/Development.md similarity index 100% rename from roles/docker-taiga/Development.md rename to roles/web-app-taiga/Development.md diff --git a/roles/docker-taiga/README.md b/roles/web-app-taiga/README.md similarity index 98% rename from roles/docker-taiga/README.md rename to roles/web-app-taiga/README.md index 20cc713b..8ddd6046 100644 --- a/roles/docker-taiga/README.md +++ b/roles/web-app-taiga/README.md @@ -39,7 +39,7 @@ By using this role, teams can set up Taiga in minutes on Arch Linux systems — - [taiga-contrib-oidc-auth (official)](https://github.com/taigaio/taiga-contrib-oidc-auth) - 📨 **Email Backend:** Supports SMTP and console backends for development. - 🔁 **Async & Realtime Events:** Includes RabbitMQ and support for Taiga’s event system. -- 🌐 **Reverse Proxy Ready:** Integrates with Nginx using the `nginx-domain-setup` role. +- 🌐 **Reverse Proxy Ready:** Integrates with Nginx using the `webserver-proxy-domain` role. - 🧩 **Composable Design:** Integrates cleanly with other CyMaIS infrastructure roles. --- diff --git a/roles/docker-taiga/meta/main.yml b/roles/web-app-taiga/meta/main.yml similarity index 92% rename from roles/docker-taiga/meta/main.yml rename to roles/web-app-taiga/meta/main.yml index bc4952ff..5289091f 100644 --- a/roles/docker-taiga/meta/main.yml +++ b/roles/web-app-taiga/meta/main.yml @@ -29,6 +29,6 @@ galaxy_info: logo: class: "fa-solid fa-tasks" run_after: - - docker-postgres - - docker-matomo - - docker-keycloak + - service-rdbms-postgres + - web-app-matomo + - web-app-keycloak diff --git a/roles/docker-taiga/meta/schema.yml b/roles/web-app-taiga/meta/schema.yml similarity index 100% rename from roles/docker-taiga/meta/schema.yml rename to roles/web-app-taiga/meta/schema.yml diff --git a/roles/docker-taiga/tasks/main.yml b/roles/web-app-taiga/tasks/main.yml similarity index 79% rename from roles/docker-taiga/tasks/main.yml rename to roles/web-app-taiga/tasks/main.yml index 5b867237..ae5068fa 100644 --- a/roles/docker-taiga/tasks/main.yml +++ b/roles/web-app-taiga/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/docker-taiga/templates/docker-compose-inits.yml.j2 b/roles/web-app-taiga/templates/docker-compose-inits.yml.j2 similarity index 100% rename from roles/docker-taiga/templates/docker-compose-inits.yml.j2 rename to roles/web-app-taiga/templates/docker-compose-inits.yml.j2 diff --git a/roles/docker-taiga/templates/docker-compose.yml.j2 b/roles/web-app-taiga/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-taiga/templates/docker-compose.yml.j2 rename to roles/web-app-taiga/templates/docker-compose.yml.j2 diff --git a/roles/docker-taiga/templates/env.j2 b/roles/web-app-taiga/templates/env.j2 similarity index 100% rename from roles/docker-taiga/templates/env.j2 rename to roles/web-app-taiga/templates/env.j2 diff --git a/roles/docker-taiga/templates/oidc/local.py.j2 b/roles/web-app-taiga/templates/oidc/local.py.j2 similarity index 100% rename from roles/docker-taiga/templates/oidc/local.py.j2 rename to roles/web-app-taiga/templates/oidc/local.py.j2 diff --git a/roles/docker-taiga/templates/oidc/urls.py b/roles/web-app-taiga/templates/oidc/urls.py similarity index 100% rename from roles/docker-taiga/templates/oidc/urls.py rename to roles/web-app-taiga/templates/oidc/urls.py diff --git a/roles/docker-taiga/vars/configuration.yml b/roles/web-app-taiga/vars/configuration.yml similarity index 100% rename from roles/docker-taiga/vars/configuration.yml rename to roles/web-app-taiga/vars/configuration.yml diff --git a/roles/docker-taiga/vars/main.yml b/roles/web-app-taiga/vars/main.yml similarity index 100% rename from roles/docker-taiga/vars/main.yml rename to roles/web-app-taiga/vars/main.yml diff --git a/roles/docker-wordpress/Administration.md b/roles/web-app-wordpress/Administration.md similarity index 100% rename from roles/docker-wordpress/Administration.md rename to roles/web-app-wordpress/Administration.md diff --git a/roles/docker-wordpress/README.md b/roles/web-app-wordpress/README.md similarity index 100% rename from roles/docker-wordpress/README.md rename to roles/web-app-wordpress/README.md diff --git a/roles/docker-wordpress/meta/main.yml b/roles/web-app-wordpress/meta/main.yml similarity index 96% rename from roles/docker-wordpress/meta/main.yml rename to roles/web-app-wordpress/meta/main.yml index b2476291..393decee 100644 --- a/roles/docker-wordpress/meta/main.yml +++ b/roles/web-app-wordpress/meta/main.yml @@ -19,7 +19,6 @@ galaxy_info: - wordpress - docker - multisite - - msmtp - automation - blog repository: "https://s.veen.world/cymais" @@ -28,4 +27,4 @@ galaxy_info: logo: class: "fa-solid fa-blog" run_after: - - docker-keycloak \ No newline at end of file + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-wordpress/meta/schema.yml b/roles/web-app-wordpress/meta/schema.yml similarity index 100% rename from roles/docker-wordpress/meta/schema.yml rename to roles/web-app-wordpress/meta/schema.yml diff --git a/roles/docker-wordpress/meta/users.yml b/roles/web-app-wordpress/meta/users.yml similarity index 100% rename from roles/docker-wordpress/meta/users.yml rename to roles/web-app-wordpress/meta/users.yml diff --git a/roles/docker-wordpress/tasks/install.yml b/roles/web-app-wordpress/tasks/install.yml similarity index 100% rename from roles/docker-wordpress/tasks/install.yml rename to roles/web-app-wordpress/tasks/install.yml diff --git a/roles/docker-wordpress/tasks/main.yml b/roles/web-app-wordpress/tasks/main.yml similarity index 87% rename from roles/docker-wordpress/tasks/main.yml rename to roles/web-app-wordpress/tasks/main.yml index 77aab8cd..671b068c 100644 --- a/roles/docker-wordpress/tasks/main.yml +++ b/roles/web-app-wordpress/tasks/main.yml @@ -1,11 +1,11 @@ --- -- name: "Include docker-central-database" +- name: "Include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central -- name: "Include role nginx-domain-setup for {{ application_id }}" +- name: "Include role webserver-proxy-domain for {{ application_id }}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain loop: "{{ applications[application_id].domains.canonical }}" loop_control: loop_var: domain diff --git a/roles/docker-wordpress/tasks/plugin.yml b/roles/web-app-wordpress/tasks/plugin.yml similarity index 100% rename from roles/docker-wordpress/tasks/plugin.yml rename to roles/web-app-wordpress/tasks/plugin.yml diff --git a/roles/docker-wordpress/tasks/plugins/README.md b/roles/web-app-wordpress/tasks/plugins/README.md similarity index 100% rename from roles/docker-wordpress/tasks/plugins/README.md rename to roles/web-app-wordpress/tasks/plugins/README.md diff --git a/roles/docker-wordpress/tasks/plugins/daggerhart-openid-connect-generic.yml b/roles/web-app-wordpress/tasks/plugins/daggerhart-openid-connect-generic.yml similarity index 100% rename from roles/docker-wordpress/tasks/plugins/daggerhart-openid-connect-generic.yml rename to roles/web-app-wordpress/tasks/plugins/daggerhart-openid-connect-generic.yml diff --git a/roles/docker-wordpress/tasks/plugins/wp-discourse.yml b/roles/web-app-wordpress/tasks/plugins/wp-discourse.yml similarity index 97% rename from roles/docker-wordpress/tasks/plugins/wp-discourse.yml rename to roles/web-app-wordpress/tasks/plugins/wp-discourse.yml index c9827501..d9a7391c 100644 --- a/roles/docker-wordpress/tasks/plugins/wp-discourse.yml +++ b/roles/web-app-wordpress/tasks/plugins/wp-discourse.yml @@ -1,7 +1,7 @@ --- -- name: "Include docker-discourse" +- name: "Include web-app-discourse" include_role: - name: docker-discourse + name: web-app-discourse - name: Wait for Discourse API wait_for: diff --git a/roles/docker-wordpress/templates/Dockerfile.j2 b/roles/web-app-wordpress/templates/Dockerfile.j2 similarity index 100% rename from roles/docker-wordpress/templates/Dockerfile.j2 rename to roles/web-app-wordpress/templates/Dockerfile.j2 diff --git a/roles/docker-wordpress/templates/docker-compose.yml.j2 b/roles/web-app-wordpress/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-wordpress/templates/docker-compose.yml.j2 rename to roles/web-app-wordpress/templates/docker-compose.yml.j2 diff --git a/roles/docker-wordpress/templates/env.j2 b/roles/web-app-wordpress/templates/env.j2 similarity index 100% rename from roles/docker-wordpress/templates/env.j2 rename to roles/web-app-wordpress/templates/env.j2 diff --git a/roles/docker-wordpress/templates/upload.ini.j2 b/roles/web-app-wordpress/templates/upload.ini.j2 similarity index 100% rename from roles/docker-wordpress/templates/upload.ini.j2 rename to roles/web-app-wordpress/templates/upload.ini.j2 diff --git a/roles/docker-wordpress/vars/configuration.yml b/roles/web-app-wordpress/vars/configuration.yml similarity index 100% rename from roles/docker-wordpress/vars/configuration.yml rename to roles/web-app-wordpress/vars/configuration.yml diff --git a/roles/docker-wordpress/vars/discourse.yml b/roles/web-app-wordpress/vars/discourse.yml similarity index 95% rename from roles/docker-wordpress/vars/discourse.yml rename to roles/web-app-wordpress/vars/discourse.yml index 37c3f9f0..396d9085 100644 --- a/roles/docker-wordpress/vars/discourse.yml +++ b/roles/web-app-wordpress/vars/discourse.yml @@ -1,7 +1,7 @@ # Defines WP Discourse plugin settings # @see https://github.com/discourse/wp-discourse -# roles/docker-wordpress/vars/discourse.yml +# roles/web-app-wordpress/vars/discourse.yml # Defines WP Discourse plugin settings (exported from your current wp_options dump) discourse_settings: @@ -222,22 +222,22 @@ discourse_settings: # value: false # #- name: discourse_sso_client - # key: sso-client-enabled + # key: sso-desktop-enabled # value: false #- name: discourse_sso_client - # key: sso-client-login-form-change + # key: sso-desktop-login-form-change # value: false #- name: discourse_sso_client - # key: sso-client-login-form-redirect + # key: sso-desktop-login-form-redirect # value: "" #- name: discourse_sso_client - # key: sso-client-sync-by-email + # key: sso-desktop-sync-by-email # value: false #- name: discourse_sso_client - # key: sso-client-disable-create-user + # key: sso-desktop-disable-create-user # value: false #- name: discourse_sso_client - # key: sso-client-sync-logout + # key: sso-desktop-sync-logout # value: false # - name: discourse_logs diff --git a/roles/docker-wordpress/vars/main.yml b/roles/web-app-wordpress/vars/main.yml similarity index 100% rename from roles/docker-wordpress/vars/main.yml rename to roles/web-app-wordpress/vars/main.yml diff --git a/roles/docker-wordpress/vars/oidc.yml b/roles/web-app-wordpress/vars/oidc.yml similarity index 100% rename from roles/docker-wordpress/vars/oidc.yml rename to roles/web-app-wordpress/vars/oidc.yml diff --git a/roles/docker-xmpp/README.md b/roles/web-app-xmpp/README.md similarity index 80% rename from roles/docker-xmpp/README.md rename to roles/web-app-xmpp/README.md index ebfbcbec..7de0b447 100644 --- a/roles/docker-xmpp/README.md +++ b/roles/web-app-xmpp/README.md @@ -2,6 +2,6 @@ This role needs to be implemented - https://hub.docker.com/r/ejabberd/ecs/ - https://docs.ejabberd.im/CONTAINER/ -- https://github.com/processone/docker-ejabberd +- https://github.com/processone/web-app-ejabberd - https://chatgpt.com/c/67988a80-0764-800f-b1bb-9ae94ad46860 - https://conversejs.org/ \ No newline at end of file diff --git a/roles/docker-xmpp/templates/configuration.yml.j2 b/roles/web-app-xmpp/templates/configuration.yml.j2 similarity index 100% rename from roles/docker-xmpp/templates/configuration.yml.j2 rename to roles/web-app-xmpp/templates/configuration.yml.j2 diff --git a/templates/docker_role/templates/env.j2.j2 b/roles/web-app-xmpp/vars/configuration.yml similarity index 100% rename from templates/docker_role/templates/env.j2.j2 rename to roles/web-app-xmpp/vars/configuration.yml diff --git a/roles/docker-xmpp/vars/main.yml b/roles/web-app-xmpp/vars/main.yml similarity index 100% rename from roles/docker-xmpp/vars/main.yml rename to roles/web-app-xmpp/vars/main.yml diff --git a/roles/docker-yourls/Administration.md b/roles/web-app-yourls/Administration.md similarity index 100% rename from roles/docker-yourls/Administration.md rename to roles/web-app-yourls/Administration.md diff --git a/roles/docker-yourls/README.md b/roles/web-app-yourls/README.md similarity index 100% rename from roles/docker-yourls/README.md rename to roles/web-app-yourls/README.md diff --git a/roles/docker-yourls/meta/main.yml b/roles/web-app-yourls/meta/main.yml similarity index 91% rename from roles/docker-yourls/meta/main.yml rename to roles/web-app-yourls/meta/main.yml index e937e77b..58727d26 100644 --- a/roles/docker-yourls/meta/main.yml +++ b/roles/web-app-yourls/meta/main.yml @@ -25,6 +25,6 @@ galaxy_info: logo: class: "fa-solid fa-link" run_after: - - docker-mariadb - - docker-matomo - - docker-keycloak \ No newline at end of file + - service-rdbms-mariadb + - web-app-matomo + - web-app-keycloak \ No newline at end of file diff --git a/roles/docker-yourls/meta/schema.yml b/roles/web-app-yourls/meta/schema.yml similarity index 100% rename from roles/docker-yourls/meta/schema.yml rename to roles/web-app-yourls/meta/schema.yml diff --git a/roles/docker-yourls/meta/users.yml b/roles/web-app-yourls/meta/users.yml similarity index 100% rename from roles/docker-yourls/meta/users.yml rename to roles/web-app-yourls/meta/users.yml diff --git a/roles/web-app-yourls/tasks/main.yml b/roles/web-app-yourls/tasks/main.yml new file mode 100644 index 00000000..bdabb3c8 --- /dev/null +++ b/roles/web-app-yourls/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: "include service-rdbms-central" + include_role: + name: service-rdbms-central + +- name: "include role webserver-proxy-domain for {{application_id}}" + include_role: + name: webserver-proxy-domain + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" + diff --git a/roles/docker-yourls/templates/docker-compose.yml.j2 b/roles/web-app-yourls/templates/docker-compose.yml.j2 similarity index 100% rename from roles/docker-yourls/templates/docker-compose.yml.j2 rename to roles/web-app-yourls/templates/docker-compose.yml.j2 diff --git a/roles/docker-yourls/templates/env.j2 b/roles/web-app-yourls/templates/env.j2 similarity index 100% rename from roles/docker-yourls/templates/env.j2 rename to roles/web-app-yourls/templates/env.j2 diff --git a/roles/docker-yourls/vars/configuration.yml b/roles/web-app-yourls/vars/configuration.yml similarity index 100% rename from roles/docker-yourls/vars/configuration.yml rename to roles/web-app-yourls/vars/configuration.yml diff --git a/roles/docker-yourls/vars/main.yml b/roles/web-app-yourls/vars/main.yml similarity index 100% rename from roles/docker-yourls/vars/main.yml rename to roles/web-app-yourls/vars/main.yml diff --git a/roles/nginx-redirect-domains/README.md b/roles/web-redirect-domains/README.md similarity index 92% rename from roles/nginx-redirect-domains/README.md rename to roles/web-redirect-domains/README.md index c11091c2..cf426130 100644 --- a/roles/nginx-redirect-domains/README.md +++ b/roles/web-redirect-domains/README.md @@ -9,7 +9,7 @@ This Ansible role configures Nginx to perform 301 redirects from one domain to a ## Dependencies -- `nginx-https`: A role for setting up HTTPS for Nginx +- `webserver-https`: A role for setting up HTTPS for Nginx - `letsencrypt`: A role for managing SSL certificates with Let's Encrypt ## Author Information diff --git a/roles/web-redirect-domains/meta/main.yml b/roles/web-redirect-domains/meta/main.yml new file mode 100644 index 00000000..7ab1df67 --- /dev/null +++ b/roles/web-redirect-domains/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- webserver-https diff --git a/roles/nginx-redirect-domains/tasks/main.yml b/roles/web-redirect-domains/tasks/main.yml similarity index 100% rename from roles/nginx-redirect-domains/tasks/main.yml rename to roles/web-redirect-domains/tasks/main.yml diff --git a/roles/nginx-redirect-domains/tasks/redirect-domain.yml b/roles/web-redirect-domains/tasks/redirect-domain.yml similarity index 89% rename from roles/nginx-redirect-domains/tasks/redirect-domain.yml rename to roles/web-redirect-domains/tasks/redirect-domain.yml index f91d5fb4..56ffba6f 100644 --- a/roles/nginx-redirect-domains/tasks/redirect-domain.yml +++ b/roles/web-redirect-domains/tasks/redirect-domain.yml @@ -1,6 +1,6 @@ - name: "include task receive certbot certificate" include_role: - name: nginx-https-get-cert + name: webserver-tls-core - name: "Deploying NGINX redirect configuration for {{ domain }}" template: diff --git a/roles/nginx-redirect-domains/templates/redirect.domain.nginx.conf.j2 b/roles/web-redirect-domains/templates/redirect.domain.nginx.conf.j2 similarity index 100% rename from roles/nginx-redirect-domains/templates/redirect.domain.nginx.conf.j2 rename to roles/web-redirect-domains/templates/redirect.domain.nginx.conf.j2 diff --git a/roles/nginx-redirect-www/README.md b/roles/web-redirect-www/README.md similarity index 95% rename from roles/nginx-redirect-www/README.md rename to roles/web-redirect-www/README.md index 8428ff09..3899384c 100644 --- a/roles/nginx-redirect-www/README.md +++ b/roles/web-redirect-www/README.md @@ -7,7 +7,7 @@ Automates the creation of Nginx server blocks that redirect all `www.` subdomain This role will: - **Discover** existing `*.conf` vhosts in your Nginx servers directory - **Filter** domains with or without your `primary_domain` -- **Generate** redirect rules via the `nginx-redirect-domains` role +- **Generate** redirect rules via the `web-redirect-domains` role - **Optionally** include a wildcard redirect template (experimental) ⭐️ - **Clean up** leftover configs when running in cleanup mode 🧹 diff --git a/roles/nginx-redirect-www/meta/main.yml b/roles/web-redirect-www/meta/main.yml similarity index 100% rename from roles/nginx-redirect-www/meta/main.yml rename to roles/web-redirect-www/meta/main.yml diff --git a/roles/nginx-redirect-www/tasks/main.yml b/roles/web-redirect-www/tasks/main.yml similarity index 83% rename from roles/nginx-redirect-www/tasks/main.yml rename to roles/web-redirect-www/tasks/main.yml index 70030245..aa12c986 100644 --- a/roles/nginx-redirect-www/tasks/main.yml +++ b/roles/web-redirect-www/tasks/main.yml @@ -3,9 +3,9 @@ set_fact: www_domains: "{{ current_play_domains_all | select('match', '^www\\.') | list }}" -- name: Include nginx-redirect-domains role for www-to-bare redirects +- name: Include web-redirect-domains role for www-to-bare redirects include_role: - name: nginx-redirect-domains + name: web-redirect-domains vars: domain_mappings: "{{ www_domains | map('regex_replace', @@ -17,7 +17,7 @@ - name: Include DNS role to set redirects include_role: - name: dns-records-cloudflare + name: network-dns-records vars: cloudflare_api_token: "{{ certbot_dns_api_token }}" cloudflare_domains: "{{ www_domains }}" diff --git a/roles/nginx-serve-assets/README.md b/roles/web-service-assets/README.md similarity index 100% rename from roles/nginx-serve-assets/README.md rename to roles/web-service-assets/README.md diff --git a/roles/web-service-assets/meta/main.yml b/roles/web-service-assets/meta/main.yml new file mode 100644 index 00000000..844c949f --- /dev/null +++ b/roles/web-service-assets/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- web-service-files diff --git a/roles/nginx-serve-assets/tasks/main.yml b/roles/web-service-assets/tasks/main.yml similarity index 100% rename from roles/nginx-serve-assets/tasks/main.yml rename to roles/web-service-assets/tasks/main.yml diff --git a/roles/nginx-serve-assets/vars/configuration.yml b/roles/web-service-assets/vars/configuration.yml similarity index 100% rename from roles/nginx-serve-assets/vars/configuration.yml rename to roles/web-service-assets/vars/configuration.yml diff --git a/roles/nginx-serve-assets/vars/main.yml b/roles/web-service-assets/vars/main.yml similarity index 100% rename from roles/nginx-serve-assets/vars/main.yml rename to roles/web-service-assets/vars/main.yml diff --git a/roles/nginx-serve-files/README.md b/roles/web-service-files/README.md similarity index 100% rename from roles/nginx-serve-files/README.md rename to roles/web-service-files/README.md diff --git a/roles/nginx-serve-files/meta/main.yml b/roles/web-service-files/meta/main.yml similarity index 95% rename from roles/nginx-serve-files/meta/main.yml rename to roles/web-service-files/meta/main.yml index 1a33ca8b..92560bdb 100644 --- a/roles/nginx-serve-files/meta/main.yml +++ b/roles/web-service-files/meta/main.yml @@ -26,5 +26,5 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - nginx-https - - git + - webserver-https + - generic-git diff --git a/roles/nginx-serve-files/tasks/main.yml b/roles/web-service-files/tasks/main.yml similarity index 91% rename from roles/nginx-serve-files/tasks/main.yml rename to roles/web-service-files/tasks/main.yml index cf091adf..57624212 100644 --- a/roles/nginx-serve-files/tasks/main.yml +++ b/roles/web-service-files/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/nginx-serve-files/templates/nginx.conf.j2 b/roles/web-service-files/templates/nginx.conf.j2 similarity index 78% rename from roles/nginx-serve-files/templates/nginx.conf.j2 rename to roles/web-service-files/templates/nginx.conf.j2 index 4a8e9808..6aa54507 100644 --- a/roles/nginx-serve-files/templates/nginx.conf.j2 +++ b/roles/web-service-files/templates/nginx.conf.j2 @@ -4,9 +4,9 @@ server {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} - {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2' %} charset utf-8; location / diff --git a/roles/nginx-serve-files/vars/configuration.yml b/roles/web-service-files/vars/configuration.yml similarity index 100% rename from roles/nginx-serve-files/vars/configuration.yml rename to roles/web-service-files/vars/configuration.yml diff --git a/roles/nginx-serve-files/vars/main.yml b/roles/web-service-files/vars/main.yml similarity index 100% rename from roles/nginx-serve-files/vars/main.yml rename to roles/web-service-files/vars/main.yml diff --git a/roles/nginx-serve-html/README.md b/roles/web-service-html/README.md similarity index 100% rename from roles/nginx-serve-html/README.md rename to roles/web-service-html/README.md diff --git a/roles/nginx-serve-html/meta/main.yml b/roles/web-service-html/meta/main.yml similarity index 95% rename from roles/nginx-serve-html/meta/main.yml rename to roles/web-service-html/meta/main.yml index 5b295f8f..e5006fc6 100644 --- a/roles/nginx-serve-html/meta/main.yml +++ b/roles/web-service-html/meta/main.yml @@ -27,5 +27,5 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - nginx-https - - git + - webserver-https + - generic-git diff --git a/roles/nginx-serve-html/tasks/main.yml b/roles/web-service-html/tasks/main.yml similarity index 91% rename from roles/nginx-serve-html/tasks/main.yml rename to roles/web-service-html/tasks/main.yml index a783b35f..bbf77fd1 100644 --- a/roles/nginx-serve-html/tasks/main.yml +++ b/roles/web-service-html/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: "include role for {{application_id}} to receive certs & do modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer vars: domain: "{{domains | get_domain(application_id)}}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/roles/nginx-serve-html/templates/nginx.conf.j2 b/roles/web-service-html/templates/nginx.conf.j2 similarity index 68% rename from roles/nginx-serve-html/templates/nginx.conf.j2 rename to roles/web-service-html/templates/nginx.conf.j2 index 4974f513..21a43737 100644 --- a/roles/nginx-serve-html/templates/nginx.conf.j2 +++ b/roles/web-service-html/templates/nginx.conf.j2 @@ -4,9 +4,9 @@ server {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} - {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2' %} charset utf-8; location / diff --git a/roles/nginx-serve-html/vars/configuration.yml b/roles/web-service-html/vars/configuration.yml similarity index 100% rename from roles/nginx-serve-html/vars/configuration.yml rename to roles/web-service-html/vars/configuration.yml diff --git a/roles/nginx-serve-html/vars/main.yml b/roles/web-service-html/vars/main.yml similarity index 100% rename from roles/nginx-serve-html/vars/main.yml rename to roles/web-service-html/vars/main.yml diff --git a/roles/nginx-serve-legal/README.md b/roles/web-service-legal/README.md similarity index 100% rename from roles/nginx-serve-legal/README.md rename to roles/web-service-legal/README.md diff --git a/roles/web-service-legal/meta/main.yml b/roles/web-service-legal/meta/main.yml new file mode 100644 index 00000000..a85a8fa6 --- /dev/null +++ b/roles/web-service-legal/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- web-service-html diff --git a/roles/nginx-serve-legal/tasks/main.yml b/roles/web-service-legal/tasks/main.yml similarity index 100% rename from roles/nginx-serve-legal/tasks/main.yml rename to roles/web-service-legal/tasks/main.yml diff --git a/roles/nginx-serve-legal/templates/imprint.html.j2 b/roles/web-service-legal/templates/imprint.html.j2 similarity index 100% rename from roles/nginx-serve-legal/templates/imprint.html.j2 rename to roles/web-service-legal/templates/imprint.html.j2 diff --git a/roles/nginx-serve-legal/vars/main.yml b/roles/web-service-legal/vars/main.yml similarity index 100% rename from roles/nginx-serve-legal/vars/main.yml rename to roles/web-service-legal/vars/main.yml diff --git a/roles/webserver-composer/README.md b/roles/webserver-composer/README.md new file mode 100644 index 00000000..abe86e1d --- /dev/null +++ b/roles/webserver-composer/README.md @@ -0,0 +1,23 @@ +# Role: webserver-composer + +This Ansible role composes and orchestrates all necessary HTTPS-layer tasks and HTML-content injections for your webserver domains. It integrates two key sub-roles into a unified workflow: + +1. **`webserver-injector-core`** + Injects global HTML snippets (CSS, Matomo tracking, iFrame notifier, custom JavaScript) into responses using Nginx `sub_filter`. +2. **`webserver-tls-core`** + Handles issuing, renewing, and managing TLS certificates via ACME/Certbot. + +By combining encryption setup with content enhancements, this role streamlines domain provisioning for secure, fully-featured HTTP/HTTPS delivery. + +## Features + +* **Unified HTTPS Orchestration** + Seamlessly sets up TLS and performs HTML-level content injections in one role. +* **Content Injection** + Adds global theming, analytics, and custom scripts before `` and tracking noscript tags before ``. +* **Certificate Management** + Automates cert issuance and renewal via `webserver-tls-core`. +* **Idempotent Workflow** + Ensures each component runs only once per domain. +* **Simplified Playbooks** + Call a single role to handle both security (TLS) and user-experience (injections). diff --git a/roles/webserver-composer/meta/main.yml b/roles/webserver-composer/meta/main.yml new file mode 100644 index 00000000..51a63c96 --- /dev/null +++ b/roles/webserver-composer/meta/main.yml @@ -0,0 +1,33 @@ +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Composes HTTPS setup and HTML-content injections (CSS, Matomo, iFrame, JS) for webserver domains." + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + min_ansible_version: "2.9" + platforms: + - name: Archlinux + versions: + - rolling + - name: Ubuntu + versions: + - all + galaxy_tags: + - webserver + - https + - tls + - injection + - css + - matomo + - iframe + - javascript + - orchestration + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/roles/webserver-composer" +dependencies: + - webserver-injector-core + - webserver-tls-core diff --git a/roles/webserver-composer/tasks/main.yml b/roles/webserver-composer/tasks/main.yml new file mode 100644 index 00000000..96aea1a1 --- /dev/null +++ b/roles/webserver-composer/tasks/main.yml @@ -0,0 +1,7 @@ +- name: "include role webserver-injector-core for {{domain}}" + include_role: + name: webserver-injector-core + +- name: "include role webserver-tls-core for {{domain}}" + include_role: + name: webserver-tls-core \ No newline at end of file diff --git a/roles/webserver-core/README.md b/roles/webserver-core/README.md new file mode 100644 index 00000000..a8312863 --- /dev/null +++ b/roles/webserver-core/README.md @@ -0,0 +1,24 @@ +# Webserver + +This Ansible role installs and configures **Nginx** as a core HTTP/stream server on Arch Linux systems. It provides: + +* **HTTP serving** with MIME types, gzip compression, caching, and custom `nginx.conf` templating. +* **TCP/UDP stream support** via the Nginx Streams module. +* **Directory management** for configuration, `sites-available`/`enabled`, cache, and data. +* **Debugging helpers**: log formats and instructions for general and detailed troubleshooting. + +## Features + +* **Package installation** of `nginx` and `nginx-mod-stream`. +* **Idempotent setup**: tasks run only once per host. +* **Configurable reset and cleanup** modes to purge and recreate directories. +* **Custom `nginx.conf`** template with sensible defaults for performance and security. +* **Stream proxy support**: includes `stream` block for TCP/UDP proxies. +* **Cache directory management**: cleanup and recreation based on `mode_cleanup`. + + +## Debugging Tips + +* **General logs**: `journalctl -f -u nginx` +* **Filter by host**: `journalctl -u nginx -f | grep "{{ inventory_hostname }}"` +* **Enable detailed format**: set `enable_debug: true` and reload Nginx. diff --git a/roles/nginx/handlers/main.yml b/roles/webserver-core/handlers/main.yml similarity index 100% rename from roles/nginx/handlers/main.yml rename to roles/webserver-core/handlers/main.yml diff --git a/roles/webserver-core/meta/main.yml b/roles/webserver-core/meta/main.yml new file mode 100644 index 00000000..2b292e57 --- /dev/null +++ b/roles/webserver-core/meta/main.yml @@ -0,0 +1,24 @@ +galaxy_info: + author: "Kevin Veen-Birkenbach" + description: "Installs and configures Nginx HTTP and stream modules with performance-tuned defaults." + company: | + Kevin Veen-Birkenbach + Consulting & Coaching Solutions + https://www.veen.world + license: "CyMaIS NonCommercial License (CNCL)" + license_url: "https://s.veen.world/cncl" + min_ansible_version: "2.9" + galaxy_tags: + - nginx + - http + - stream + - caching + - compression + - security + - performance + repository: "https://github.com/kevinveenbirkenbach/cymais" + issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues" + documentation: "https://github.com/kevinveenbirkenbach/cymais/roles/webserver-core" +dependencies: + - monitor-bot-webserver + - monitor-bot-csp \ No newline at end of file diff --git a/roles/nginx/tasks/cache_directories.yml b/roles/webserver-core/tasks/cache_directories.yml similarity index 100% rename from roles/nginx/tasks/cache_directories.yml rename to roles/webserver-core/tasks/cache_directories.yml diff --git a/roles/nginx/tasks/main.yml b/roles/webserver-core/tasks/main.yml similarity index 100% rename from roles/nginx/tasks/main.yml rename to roles/webserver-core/tasks/main.yml diff --git a/roles/nginx/templates/nginx.conf.j2 b/roles/webserver-core/templates/nginx.conf.j2 similarity index 89% rename from roles/nginx/templates/nginx.conf.j2 rename to roles/webserver-core/templates/nginx.conf.j2 index eb456a2c..e1c678a8 100644 --- a/roles/nginx/templates/nginx.conf.j2 +++ b/roles/webserver-core/templates/nginx.conf.j2 @@ -49,7 +49,7 @@ http gzip_disable "MSIE [1-6]\.(?!.*SV1)"; # Disable for Internetexplorer 6 gzip_comp_level 4; gzip_min_length 256; - gzip_types application/atom+xml application/javascript application/xml+rss application/x-javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy text/javascript text/xml; + gzip_types application/atom+xml application/javascript application/xml+rss application/x-javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy text/javascript text/xml; types_hash_max_size 4096; {% for dir in nginx.directories.http.values() %} diff --git a/roles/nginx-https/README.md b/roles/webserver-https/README.md similarity index 100% rename from roles/nginx-https/README.md rename to roles/webserver-https/README.md diff --git a/roles/nginx-https/meta/main.yml b/roles/webserver-https/meta/main.yml similarity index 100% rename from roles/nginx-https/meta/main.yml rename to roles/webserver-https/meta/main.yml diff --git a/roles/nginx-modifier-all/README.md b/roles/webserver-injector-core/README.md similarity index 100% rename from roles/nginx-modifier-all/README.md rename to roles/webserver-injector-core/README.md diff --git a/roles/nginx-modifier-all/tasks/main.yml b/roles/webserver-injector-core/tasks/main.yml similarity index 79% rename from roles/nginx-modifier-all/tasks/main.yml rename to roles/webserver-injector-core/tasks/main.yml index 97051d55..c051c8a1 100644 --- a/roles/nginx-modifier-all/tasks/main.yml +++ b/roles/webserver-injector-core/tasks/main.yml @@ -1,19 +1,19 @@ - name: "Activate Global CSS for {{domain}}" include_role: - name: nginx-modifier-css + name: webserver-injector-css when: applications | is_feature_enabled('css',application_id) - name: "Activate Global Matomo Tracking for {{domain}}" include_role: - name: nginx-modifier-matomo + name: webserver-injector-matomo when: applications | is_feature_enabled('matomo',application_id) - name: "Activate Portfolio iFrame Notifier for {{ domain }}" include_role: - name: nginx-modifier-iframe + name: webserver-injector-iframe when: applications | is_feature_enabled('portfolio_iframe', application_id) - name: "Activate Javascript for {{ domain }}" include_role: - name: nginx-modifier-javascript + name: webserver-injector-javascript when: applications | is_feature_enabled('javascript', application_id) \ No newline at end of file diff --git a/roles/nginx-modifier-all/templates/global.includes.conf.j2 b/roles/webserver-injector-core/templates/global.includes.conf.j2 similarity index 68% rename from roles/nginx-modifier-all/templates/global.includes.conf.j2 rename to roles/webserver-injector-core/templates/global.includes.conf.j2 index 729ba2e7..d0f06e11 100644 --- a/roles/nginx-modifier-all/templates/global.includes.conf.j2 +++ b/roles/webserver-injector-core/templates/global.includes.conf.j2 @@ -10,24 +10,24 @@ sub_filter_types text/html; {% if modifier_iframe_enabled or modifier_css_enabled or modifier_matomo_enabled or modifier_javascript_enabled %} sub_filter '' ' {%- if modifier_css_enabled -%} - {%- include "roles/nginx-modifier-css/templates/head_sub.j2" -%} + {%- include "roles/webserver-injector-css/templates/head_sub.j2" -%} {%- endif -%} {%- if modifier_matomo_enabled -%} - {%- include "roles/nginx-modifier-matomo/templates/head_sub.j2" -%} + {%- include "roles/webserver-injector-matomo/templates/head_sub.j2" -%} {%- endif -%} {%- if modifier_iframe_enabled -%} - {%- include "roles/nginx-modifier-iframe/templates/head_sub.j2" -%} + {%- include "roles/webserver-injector-iframe/templates/head_sub.j2" -%} {%- endif -%} {%- if modifier_javascript_enabled -%} - {%- include "roles/nginx-modifier-javascript/templates/head_sub.j2" -%} + {%- include "roles/webserver-injector-javascript/templates/head_sub.j2" -%} {%- endif -%} '; {% endif %} {% if modifier_css_enabled | bool %} -{% include 'roles/nginx-modifier-css/templates/location.conf.j2' %} +{% include 'roles/webserver-injector-css/templates/location.conf.j2' %} {% endif %} {% if modifier_matomo_enabled %} -{% include 'roles/nginx-modifier-matomo/templates/matomo-tracking.conf.j2' %} +{% include 'roles/webserver-injector-matomo/templates/matomo-tracking.conf.j2' %} {% endif %} \ No newline at end of file diff --git a/roles/nginx-modifier-css/README.md b/roles/webserver-injector-css/README.md similarity index 100% rename from roles/nginx-modifier-css/README.md rename to roles/webserver-injector-css/README.md diff --git a/roles/nginx-modifier-css/meta/main.yml b/roles/webserver-injector-css/meta/main.yml similarity index 100% rename from roles/nginx-modifier-css/meta/main.yml rename to roles/webserver-injector-css/meta/main.yml diff --git a/roles/nginx-modifier-css/tasks/main.yml b/roles/webserver-injector-css/tasks/main.yml similarity index 95% rename from roles/nginx-modifier-css/tasks/main.yml rename to roles/webserver-injector-css/tasks/main.yml index 0af9fe7c..bec9eba6 100644 --- a/roles/nginx-modifier-css/tasks/main.yml +++ b/roles/webserver-injector-css/tasks/main.yml @@ -1,4 +1,4 @@ -# Load this role via nginx-modifier-all for consistency +# Load this role via webserver-injector-core for consistency - name: Generate color palette with colorscheme-generator set_fact: diff --git a/roles/nginx-modifier-css/templates/global.css.j2 b/roles/webserver-injector-css/templates/global.css.j2 similarity index 99% rename from roles/nginx-modifier-css/templates/global.css.j2 rename to roles/webserver-injector-css/templates/global.css.j2 index fd85c643..8f4e7fad 100644 --- a/roles/nginx-modifier-css/templates/global.css.j2 +++ b/roles/webserver-injector-css/templates/global.css.j2 @@ -13,7 +13,7 @@ HINT: {% endif %} -{# roles/nginx-modifier-css/templates/global.css.j2 #} +{# roles/webserver-injector-css/templates/global.css.j2 #} /* Auto-generated by colorscheme-generator */ :root { diff --git a/roles/nginx-modifier-css/templates/head_sub.j2 b/roles/webserver-injector-css/templates/head_sub.j2 similarity index 100% rename from roles/nginx-modifier-css/templates/head_sub.j2 rename to roles/webserver-injector-css/templates/head_sub.j2 diff --git a/roles/nginx-modifier-css/templates/location.conf.j2 b/roles/webserver-injector-css/templates/location.conf.j2 similarity index 100% rename from roles/nginx-modifier-css/templates/location.conf.j2 rename to roles/webserver-injector-css/templates/location.conf.j2 diff --git a/roles/nginx-modifier-css/vars/main.yml b/roles/webserver-injector-css/vars/main.yml similarity index 100% rename from roles/nginx-modifier-css/vars/main.yml rename to roles/webserver-injector-css/vars/main.yml diff --git a/roles/nginx-modifier-iframe/README.md b/roles/webserver-injector-iframe/README.md similarity index 100% rename from roles/nginx-modifier-iframe/README.md rename to roles/webserver-injector-iframe/README.md diff --git a/roles/nginx-modifier-iframe/meta/main.yml b/roles/webserver-injector-iframe/meta/main.yml similarity index 100% rename from roles/nginx-modifier-iframe/meta/main.yml rename to roles/webserver-injector-iframe/meta/main.yml diff --git a/roles/nginx-modifier-iframe/tasks/main.yml b/roles/webserver-injector-iframe/tasks/main.yml similarity index 100% rename from roles/nginx-modifier-iframe/tasks/main.yml rename to roles/webserver-injector-iframe/tasks/main.yml diff --git a/roles/nginx-modifier-iframe/templates/head_sub.j2 b/roles/webserver-injector-iframe/templates/head_sub.j2 similarity index 100% rename from roles/nginx-modifier-iframe/templates/head_sub.j2 rename to roles/webserver-injector-iframe/templates/head_sub.j2 diff --git a/roles/nginx-modifier-iframe/templates/iframe-handler.js.j2 b/roles/webserver-injector-iframe/templates/iframe-handler.js.j2 similarity index 100% rename from roles/nginx-modifier-iframe/templates/iframe-handler.js.j2 rename to roles/webserver-injector-iframe/templates/iframe-handler.js.j2 diff --git a/roles/nginx-modifier-javascript/README.md b/roles/webserver-injector-javascript/README.md similarity index 100% rename from roles/nginx-modifier-javascript/README.md rename to roles/webserver-injector-javascript/README.md diff --git a/roles/nginx-modifier-javascript/meta/main.yml b/roles/webserver-injector-javascript/meta/main.yml similarity index 100% rename from roles/nginx-modifier-javascript/meta/main.yml rename to roles/webserver-injector-javascript/meta/main.yml diff --git a/roles/nginx-modifier-javascript/tasks/main.yml b/roles/webserver-injector-javascript/tasks/main.yml similarity index 100% rename from roles/nginx-modifier-javascript/tasks/main.yml rename to roles/webserver-injector-javascript/tasks/main.yml diff --git a/roles/nginx-modifier-javascript/templates/head_sub.j2 b/roles/webserver-injector-javascript/templates/head_sub.j2 similarity index 100% rename from roles/nginx-modifier-javascript/templates/head_sub.j2 rename to roles/webserver-injector-javascript/templates/head_sub.j2 diff --git a/roles/webserver-injector-javascript/vars/main.yml b/roles/webserver-injector-javascript/vars/main.yml new file mode 100644 index 00000000..b8a76683 --- /dev/null +++ b/roles/webserver-injector-javascript/vars/main.yml @@ -0,0 +1 @@ +modifier_javascript_template_file: "{{ playbook_dir }}/roles/web-app-{{ application_id }}/templates/javascript.js.j2" \ No newline at end of file diff --git a/roles/nginx-modifier-matomo/README.md b/roles/webserver-injector-matomo/README.md similarity index 100% rename from roles/nginx-modifier-matomo/README.md rename to roles/webserver-injector-matomo/README.md diff --git a/roles/webserver-injector-matomo/meta/main.yml b/roles/webserver-injector-matomo/meta/main.yml new file mode 100644 index 00000000..666eff9a --- /dev/null +++ b/roles/webserver-injector-matomo/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: + # - web-app-matomo Don't activate this otherwise the plays take super long + - nginx \ No newline at end of file diff --git a/roles/nginx-modifier-matomo/tasks/main.yml b/roles/webserver-injector-matomo/tasks/main.yml similarity index 96% rename from roles/nginx-modifier-matomo/tasks/main.yml rename to roles/webserver-injector-matomo/tasks/main.yml index a6886d1c..b8f7a01b 100644 --- a/roles/nginx-modifier-matomo/tasks/main.yml +++ b/roles/webserver-injector-matomo/tasks/main.yml @@ -1,4 +1,4 @@ -# Load this role via nginx-modifier-all for consistency +# Load this role via webserver-injector-core for consistency - name: "Relevant variables for role: {{ role_path | basename }}" debug: diff --git a/roles/nginx-modifier-matomo/templates/head_sub.j2 b/roles/webserver-injector-matomo/templates/head_sub.j2 similarity index 100% rename from roles/nginx-modifier-matomo/templates/head_sub.j2 rename to roles/webserver-injector-matomo/templates/head_sub.j2 diff --git a/roles/nginx-modifier-matomo/templates/matomo-tracking.conf.j2 b/roles/webserver-injector-matomo/templates/matomo-tracking.conf.j2 similarity index 100% rename from roles/nginx-modifier-matomo/templates/matomo-tracking.conf.j2 rename to roles/webserver-injector-matomo/templates/matomo-tracking.conf.j2 diff --git a/roles/nginx-modifier-matomo/templates/matomo-tracking.js.j2 b/roles/webserver-injector-matomo/templates/matomo-tracking.js.j2 similarity index 100% rename from roles/nginx-modifier-matomo/templates/matomo-tracking.js.j2 rename to roles/webserver-injector-matomo/templates/matomo-tracking.js.j2 diff --git a/roles/nginx-modifier-matomo/vars/main.yml b/roles/webserver-injector-matomo/vars/main.yml similarity index 100% rename from roles/nginx-modifier-matomo/vars/main.yml rename to roles/webserver-injector-matomo/vars/main.yml diff --git a/roles/nginx-docker-reverse-proxy/README.md b/roles/webserver-proxy-core/README.md similarity index 88% rename from roles/nginx-docker-reverse-proxy/README.md rename to roles/webserver-proxy-core/README.md index a2a704cd..a2223fee 100644 --- a/roles/nginx-docker-reverse-proxy/README.md +++ b/roles/webserver-proxy-core/README.md @@ -16,11 +16,11 @@ The goal of this role is to deliver a **hassle-free, production-ready reverse pr ## Features -- **Automatic TLS & HSTS** — integrates with the *nginx-https* role for certificate management. +- **Automatic TLS & HSTS** — integrates with the *webserver-https* role for certificate management. - **Flexible vHost templates** — *basic* and *ws_generic* flavours cover standard HTTP and WebSocket applications. - **Security headers** — sensible defaults plus optional X-Frame-Options / CSP based on application settings. - **WebSocket & HTTP/2 aware** — upgrades, keep-alive tuning, and gzip already configured. -- **OAuth2 gating** — drop-in support when *docker-oauth2-proxy* is present. +- **OAuth2 gating** — drop-in support when *web-app-oauth2-proxy* is present. - **Modular includes** — headers, locations, and global snippets are factored for easy extension. ## Credits 📝 diff --git a/roles/nginx-docker-reverse-proxy/Todo.md b/roles/webserver-proxy-core/Todo.md similarity index 100% rename from roles/nginx-docker-reverse-proxy/Todo.md rename to roles/webserver-proxy-core/Todo.md diff --git a/roles/nginx-docker-reverse-proxy/meta/main.yml b/roles/webserver-proxy-core/meta/main.yml similarity index 97% rename from roles/nginx-docker-reverse-proxy/meta/main.yml rename to roles/webserver-proxy-core/meta/main.yml index 6c9d4150..8eb551b7 100644 --- a/roles/nginx-docker-reverse-proxy/meta/main.yml +++ b/roles/webserver-proxy-core/meta/main.yml @@ -25,4 +25,4 @@ galaxy_info: documentation: https://s.veen.world/cymais dependencies: - docker - - nginx-https \ No newline at end of file + - webserver-https \ No newline at end of file diff --git a/roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2 b/roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2 similarity index 100% rename from roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2 rename to roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2 diff --git a/roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2 b/roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2 similarity index 81% rename from roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2 rename to roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2 index a8dbfa0e..6bbefa81 100644 --- a/roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2 +++ b/roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2 @@ -1,7 +1,7 @@ location {{location | default("/")}} { {% if oauth2_proxy_enabled | default(false) | bool %} - {% include 'roles/docker-oauth2-proxy/templates/following_directives.conf.j2'%} + {% include 'roles/web-app-oauth2-proxy/templates/following_directives.conf.j2'%} {% endif %} proxy_pass http://127.0.0.1:{{http_port}}{{location | default("/")}}; @@ -14,7 +14,7 @@ location {{location | default("/")}} proxy_set_header X-Forwarded-Port 443; proxy_set_header Accept-Encoding ""; - {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/headers/content_security_policy.conf.j2' %} # WebSocket specific header proxy_http_version 1.1; diff --git a/roles/nginx-docker-reverse-proxy/templates/location/proxy_cache.conf.j2 b/roles/webserver-proxy-core/templates/location/proxy_cache.conf.j2 similarity index 100% rename from roles/nginx-docker-reverse-proxy/templates/location/proxy_cache.conf.j2 rename to roles/webserver-proxy-core/templates/location/proxy_cache.conf.j2 diff --git a/roles/nginx-docker-reverse-proxy/templates/vhost/basic.conf.j2 b/roles/webserver-proxy-core/templates/vhost/basic.conf.j2 similarity index 67% rename from roles/nginx-docker-reverse-proxy/templates/vhost/basic.conf.j2 rename to roles/webserver-proxy-core/templates/vhost/basic.conf.j2 index d632869e..02a091e8 100644 --- a/roles/nginx-docker-reverse-proxy/templates/vhost/basic.conf.j2 +++ b/roles/webserver-proxy-core/templates/vhost/basic.conf.j2 @@ -3,10 +3,10 @@ server server_name {{domain}}; {% if applications | is_feature_enabled('oauth2',application_id) %} - {% include 'roles/docker-oauth2-proxy/templates/endpoint.conf.j2'%} + {% include 'roles/web-app-oauth2-proxy/templates/endpoint.conf.j2'%} {% endif %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2'%} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2'%} {% if nginx_docker_reverse_proxy_extra_configuration is defined %} {# Additional Domain Specific Configuration #} @@ -22,38 +22,38 @@ server {# 1. Expose everything by default, then protect blacklisted paths #} {% set oauth2_proxy_enabled = false %} {% set location = "/" %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% for loc in acl.blacklist %} {% set oauth2_proxy_enabled = true %} {% set location = loc %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% endfor %} {% elif acl.whitelist is defined %} {# 2. Protect everything by default, then expose whitelisted paths #} {% set oauth2_proxy_enabled = true %} {% set location = "/" %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% for loc in acl.whitelist %} {% set oauth2_proxy_enabled = false %} {% set location = loc %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% endfor %} {% else %} {# 3. OAuth2 enabled but no (or empty) ACL — protect all #} {% set oauth2_proxy_enabled = true %} {% set location = "/" %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% endif %} {% else %} {# 4. OAuth2 completely disabled — expose all #} {% set oauth2_proxy_enabled = false %} {% set location = "/" %} - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% endif %} } diff --git a/roles/nginx-docker-reverse-proxy/templates/vhost/ws_generic.conf.j2 b/roles/webserver-proxy-core/templates/vhost/ws_generic.conf.j2 similarity index 88% rename from roles/nginx-docker-reverse-proxy/templates/vhost/ws_generic.conf.j2 rename to roles/webserver-proxy-core/templates/vhost/ws_generic.conf.j2 index 06b49cc8..380af16a 100644 --- a/roles/nginx-docker-reverse-proxy/templates/vhost/ws_generic.conf.j2 +++ b/roles/webserver-proxy-core/templates/vhost/ws_generic.conf.j2 @@ -7,7 +7,7 @@ server { server_name {{ domain }}; {% include 'roles/letsencrypt/templates/ssl_header.j2' %} - {% include 'roles/nginx-modifier-all/templates/global.includes.conf.j2' %} + {% include 'roles/webserver-injector-core/templates/global.includes.conf.j2' %} client_max_body_size {{ client_max_body_size | default('100m') }}; keepalive_timeout 70; @@ -24,7 +24,7 @@ server { add_header Strict-Transport-Security "max-age=31536000"; - {% include 'roles/nginx-docker-reverse-proxy/templates/location/proxy_basic.conf.j2' %} + {% include 'roles/webserver-proxy-core/templates/location/proxy_basic.conf.j2' %} {% if ws_path is defined %} location {{ ws_path }} { diff --git a/roles/nginx-domain-setup/README.md b/roles/webserver-proxy-domain/README.md similarity index 76% rename from roles/nginx-domain-setup/README.md rename to roles/webserver-proxy-domain/README.md index e32d4ed1..5a47eb37 100644 --- a/roles/nginx-domain-setup/README.md +++ b/roles/webserver-proxy-domain/README.md @@ -6,12 +6,12 @@ This role bootstraps **per-domain Nginx configuration**: it requests TLS certifi ## Overview -A higher-level orchestration wrapper, *nginx-domain-setup* ties together several lower-level roles: +A higher-level orchestration wrapper, *webserver-proxy-domain* ties together several lower-level roles: -1. **`nginx-modifier-all`** – applies global tweaks and includes. -2. **`nginx-https-get-cert`** – obtains Let’s Encrypt certificates. -3. **Domain template deployment** – copies a Jinja2 vHost from *nginx-docker-reverse-proxy*. -4. **`docker-oauth2-proxy`** *(optional)* – protects the site with OAuth2. +1. **`webserver-injector-core`** – applies global tweaks and includes. +2. **`webserver-tls-core`** – obtains Let’s Encrypt certificates. +3. **Domain template deployment** – copies a Jinja2 vHost from *webserver-proxy-core*. +4. **`web-app-oauth2-proxy`** *(optional)* – protects the site with OAuth2. The result is a complete, reproducible domain rollout in a single playbook task. diff --git a/roles/nginx-domain-setup/defaults/main.yml b/roles/webserver-proxy-domain/defaults/main.yml similarity index 59% rename from roles/nginx-domain-setup/defaults/main.yml rename to roles/webserver-proxy-domain/defaults/main.yml index 149cb6fd..12d252e6 100644 --- a/roles/nginx-domain-setup/defaults/main.yml +++ b/roles/webserver-proxy-domain/defaults/main.yml @@ -2,4 +2,4 @@ vhost_flavour: "basic" # valid: basic | ws_generic # build the full template path from the flavour -vhost_template_src: "roles/nginx-docker-reverse-proxy/templates/vhost/{{ vhost_flavour }}.conf.j2" \ No newline at end of file +vhost_template_src: "roles/webserver-proxy-core/templates/vhost/{{ vhost_flavour }}.conf.j2" \ No newline at end of file diff --git a/roles/nginx-domain-setup/meta/main.yml b/roles/webserver-proxy-domain/meta/main.yml similarity index 100% rename from roles/nginx-domain-setup/meta/main.yml rename to roles/webserver-proxy-domain/meta/main.yml diff --git a/roles/nginx-domain-setup/tasks/main.yml b/roles/webserver-proxy-domain/tasks/main.yml similarity index 82% rename from roles/nginx-domain-setup/tasks/main.yml rename to roles/webserver-proxy-domain/tasks/main.yml index 030d360d..0f269052 100644 --- a/roles/nginx-domain-setup/tasks/main.yml +++ b/roles/webserver-proxy-domain/tasks/main.yml @@ -1,6 +1,6 @@ - name: "include role for {{domain}} to receive certificates and do the modification routines" include_role: - name: nginx-https-get-cert-modify-all + name: webserver-composer - name: "copy nginx domain configuration to {{ configuration_destination }}" template: @@ -13,7 +13,7 @@ oauth2_proxy_application_id: "{{ application_id }}" when: applications | is_feature_enabled('oauth2',application_id) -- name: "include the docker-oauth2-proxy role {{domain}}" +- name: "include the web-app-oauth2-proxy role {{domain}}" include_role: - name: docker-oauth2-proxy + name: web-app-oauth2-proxy when: applications | is_feature_enabled('oauth2',application_id) \ No newline at end of file diff --git a/roles/nginx-domain-setup/vars/main.yml b/roles/webserver-proxy-domain/vars/main.yml similarity index 100% rename from roles/nginx-domain-setup/vars/main.yml rename to roles/webserver-proxy-domain/vars/main.yml diff --git a/roles/nginx-docker-cert-deploy/README.md b/roles/webserver-proxy-tls-deploy/README.md similarity index 84% rename from roles/nginx-docker-cert-deploy/README.md rename to roles/webserver-proxy-tls-deploy/README.md index 25fe2d17..f5131fed 100644 --- a/roles/nginx-docker-cert-deploy/README.md +++ b/roles/webserver-proxy-tls-deploy/README.md @@ -13,7 +13,7 @@ This Ansible role simplifies the deployment of **Let's Encrypt certificates** in - Automatically **reloads or restarts Nginx services** when certificates are updated. - **Configures and manages a `systemd` service** for automated certificate deployment. - **Includes a `systemd` timer** for scheduled renewals. -- **Handles dependent services** like `systemd-notifier`. +- **Handles dependent services** like `alert-core`. --- @@ -21,7 +21,7 @@ This Ansible role simplifies the deployment of **Let's Encrypt certificates** in ### **1️⃣ Main Tasks** 1. **Add Deployment Script** - - Copies `nginx-docker-cert-deploy.sh` to the administrator scripts directory. + - Copies `webserver-proxy-tls-deploy.sh` to the administrator scripts directory. 2. **Create Certificate Directory** - Ensures `cert_mount_directory` exists with proper permissions. @@ -29,19 +29,19 @@ This Ansible role simplifies the deployment of **Let's Encrypt certificates** in 3. **Configure `systemd` Service** - Deploys a `systemd` service file for the deployment process. -4. **Include `systemd-timer` Role** +4. **Include `generic-timer` Role** - Schedules automatic certificate deployment using a `systemd` timer. ### **2️⃣ Handlers** - **Restart Nginx Service** - - Restarts `nginx-docker-cert-deploy` whenever a certificate update occurs. + - Restarts `webserver-proxy-tls-deploy` whenever a certificate update occurs. --- ## **🔧 Deploying Certificates into Docker Containers** The role **automates copying certificates** into Docker Compose setups. -### **1️⃣ Deployment Script (`nginx-docker-cert-deploy.sh`)** +### **1️⃣ Deployment Script (`webserver-proxy-tls-deploy.sh`)** This script: - **Copies certificates** to the correct container directory. - **Reloads Nginx** inside all running containers. @@ -49,7 +49,7 @@ This script: **Usage:** ```sh -sh nginx-docker-cert-deploy.sh primary_domain /path/to/docker/compose +sh webserver-proxy-tls-deploy.sh primary_domain /path/to/docker/compose ``` --- diff --git a/roles/nginx-docker-cert-deploy/SETUP.md b/roles/webserver-proxy-tls-deploy/SETUP.md similarity index 100% rename from roles/nginx-docker-cert-deploy/SETUP.md rename to roles/webserver-proxy-tls-deploy/SETUP.md diff --git a/roles/nginx-docker-cert-deploy/files/nginx-docker-cert-deploy.sh b/roles/webserver-proxy-tls-deploy/files/webserver-proxy-tls-deploy.sh similarity index 100% rename from roles/nginx-docker-cert-deploy/files/nginx-docker-cert-deploy.sh rename to roles/webserver-proxy-tls-deploy/files/webserver-proxy-tls-deploy.sh diff --git a/roles/webserver-proxy-tls-deploy/handlers/main.yml b/roles/webserver-proxy-tls-deploy/handlers/main.yml new file mode 100644 index 00000000..e0ca253e --- /dev/null +++ b/roles/webserver-proxy-tls-deploy/handlers/main.yml @@ -0,0 +1,7 @@ +--- +- name: "restart webserver-proxy-tls-deploy.cymais.service" + systemd: + name: webserver-proxy-tls-deploy.{{application_id}}.cymais.service + state: restarted + enabled: yes + daemon_reload: yes \ No newline at end of file diff --git a/roles/client-bluray-player/meta/main.yml b/roles/webserver-proxy-tls-deploy/meta/main.yml similarity index 51% rename from roles/client-bluray-player/meta/main.yml rename to roles/webserver-proxy-tls-deploy/meta/main.yml index e7d23ddb..0ce35b15 100644 --- a/roles/client-bluray-player/meta/main.yml +++ b/roles/webserver-proxy-tls-deploy/meta/main.yml @@ -1,2 +1,2 @@ dependencies: -- java \ No newline at end of file +- alert-core diff --git a/roles/webserver-proxy-tls-deploy/tasks/main.yml b/roles/webserver-proxy-tls-deploy/tasks/main.yml new file mode 100644 index 00000000..111c9fa8 --- /dev/null +++ b/roles/webserver-proxy-tls-deploy/tasks/main.yml @@ -0,0 +1,32 @@ +- name: add webserver-proxy-tls-deploy.sh + copy: + src: "webserver-proxy-tls-deploy.sh" + dest: "{{nginx_docker_cert_deploy_script}}" + when: run_once_nginx_docker_cert_deploy is not defined + notify: restart webserver-proxy-tls-deploy.cymais.service + +- name: run the nginx_docker_cert_deploy tasks once + set_fact: + run_once_backup_directory_validator: true + when: run_once_nginx_docker_cert_deploy is not defined + +- name: "create {{cert_mount_directory}}" + file: + path: "{{cert_mount_directory}}" + state: directory + mode: 0755 + notify: restart webserver-proxy-tls-deploy.cymais.service + +- name: configure webserver-proxy-tls-deploy.cymais.service + template: + src: "webserver-proxy-tls-deploy.service.j2" + dest: "/etc/systemd/system/webserver-proxy-tls-deploy.{{application_id}}.cymais.service" + notify: restart webserver-proxy-tls-deploy.cymais.service + +- name: "include role for generic-timer for {{service_name}}" + include_role: + name: generic-timer + vars: + on_calendar: "{{on_calendar_deploy_certificates}}" + service_name: "webserver-proxy-tls-deploy.{{application_id}}" + persistent: "true" \ No newline at end of file diff --git a/roles/webserver-proxy-tls-deploy/templates/webserver-proxy-tls-deploy.service.j2 b/roles/webserver-proxy-tls-deploy/templates/webserver-proxy-tls-deploy.service.j2 new file mode 100644 index 00000000..6af9d7fd --- /dev/null +++ b/roles/webserver-proxy-tls-deploy/templates/webserver-proxy-tls-deploy.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=Let's Encrypt deploy to {{docker_compose.directories.instance}} +OnFailure=alert-core.cymais@%n.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/bash {{path_administrator_scripts}}/webserver-proxy-tls-deploy.sh {{ssl_cert_folder}} {{docker_compose.directories.instance}} diff --git a/roles/nginx-docker-cert-deploy/vars/main.yml b/roles/webserver-proxy-tls-deploy/vars/main.yml similarity index 67% rename from roles/nginx-docker-cert-deploy/vars/main.yml rename to roles/webserver-proxy-tls-deploy/vars/main.yml index 5a19b2c7..ae982ff9 100644 --- a/roles/nginx-docker-cert-deploy/vars/main.yml +++ b/roles/webserver-proxy-tls-deploy/vars/main.yml @@ -1 +1 @@ -nginx_docker_cert_deploy_script: "{{path_administrator_scripts}}nginx-docker-cert-deploy.sh" \ No newline at end of file +nginx_docker_cert_deploy_script: "{{path_administrator_scripts}}webserver-proxy-tls-deploy.sh" \ No newline at end of file diff --git a/roles/nginx-https-get-cert/README.md b/roles/webserver-tls-core/README.md similarity index 100% rename from roles/nginx-https-get-cert/README.md rename to roles/webserver-tls-core/README.md diff --git a/roles/nginx-https-get-cert/meta/main.yml b/roles/webserver-tls-core/meta/main.yml similarity index 97% rename from roles/nginx-https-get-cert/meta/main.yml rename to roles/webserver-tls-core/meta/main.yml index 4abc6ffb..57c313c7 100644 --- a/roles/nginx-https-get-cert/meta/main.yml +++ b/roles/webserver-tls-core/meta/main.yml @@ -28,4 +28,4 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - nginx-https + - webserver-https diff --git a/roles/nginx-https-get-cert/tasks/flavors/dedicated.yml b/roles/webserver-tls-core/tasks/flavors/dedicated.yml similarity index 100% rename from roles/nginx-https-get-cert/tasks/flavors/dedicated.yml rename to roles/webserver-tls-core/tasks/flavors/dedicated.yml diff --git a/roles/nginx-https-get-cert/tasks/flavors/san.yml b/roles/webserver-tls-core/tasks/flavors/san.yml similarity index 100% rename from roles/nginx-https-get-cert/tasks/flavors/san.yml rename to roles/webserver-tls-core/tasks/flavors/san.yml diff --git a/roles/nginx-https-get-cert/tasks/flavors/wildcard.yml b/roles/webserver-tls-core/tasks/flavors/wildcard.yml similarity index 100% rename from roles/nginx-https-get-cert/tasks/flavors/wildcard.yml rename to roles/webserver-tls-core/tasks/flavors/wildcard.yml diff --git a/roles/nginx-https-get-cert/tasks/main.yml b/roles/webserver-tls-core/tasks/main.yml similarity index 100% rename from roles/nginx-https-get-cert/tasks/main.yml rename to roles/webserver-tls-core/tasks/main.yml diff --git a/roles/nginx-certbot/README.md b/roles/webserver-tls-renew/README.md similarity index 85% rename from roles/nginx-certbot/README.md rename to roles/webserver-tls-renew/README.md index c8aa409e..f1958856 100644 --- a/roles/nginx-certbot/README.md +++ b/roles/webserver-tls-renew/README.md @@ -6,12 +6,12 @@ This role automates the setup of an automatic [Let's Encrypt](https://letsencryp ## 📖 Overview -Optimized for Archlinux systems, this role installs the `certbot-nginx` package, configures a dedicated `systemd` service for certificate renewal, and integrates with a `systemd-timer` to schedule periodic renewals. After a renewal, Nginx is reloaded to apply the updated certificates immediately. +Optimized for Archlinux systems, this role installs the `certbot-nginx` package, configures a dedicated `systemd` service for certificate renewal, and integrates with a `generic-timer` to schedule periodic renewals. After a renewal, Nginx is reloaded to apply the updated certificates immediately. ### Key Features -- **Automatic Renewal:** Schedules unattended certificate renewals using systemd-timers. +- **Automatic Renewal:** Schedules unattended certificate renewals using generic-timers. - **Seamless Nginx Reload:** Reloads the Nginx service automatically after successful renewals. -- **Systemd Integration:** Manages renewal operations reliably with `systemd` and `systemd-notifier`. +- **Systemd Integration:** Manages renewal operations reliably with `systemd` and `alert-core`. - **Quiet and Safe Operation:** Uses `--quiet` and `--agree-tos` flags to ensure non-interactive renewals. ## 🎯 Purpose @@ -22,8 +22,8 @@ The Nginx Certbot Automation role ensures that Let's Encrypt SSL/TLS certificate - **Certbot-Nginx Package Installation:** Installs required certbot plugins for Nginx. - **Custom Systemd Service:** Configures a lightweight, dedicated renewal service. -- **Timer Setup:** Uses systemd-timer to run certbot renewals periodically. -- **Failure Notification:** Integrated with `systemd-notifier` for alerting on failures. +- **Timer Setup:** Uses generic-timer to run certbot renewals periodically. +- **Failure Notification:** Integrated with `alert-core` for alerting on failures. ## 🔗 Learn More diff --git a/roles/nginx-certbot/handlers/main.yml b/roles/webserver-tls-renew/handlers/main.yml similarity index 69% rename from roles/nginx-certbot/handlers/main.yml rename to roles/webserver-tls-renew/handlers/main.yml index 5cab9c81..eb639937 100644 --- a/roles/nginx-certbot/handlers/main.yml +++ b/roles/webserver-tls-renew/handlers/main.yml @@ -1,6 +1,6 @@ - name: "reload certbot service" systemd: - name: nginx-certbot.cymais.service + name: webserver-tls-renew.cymais.service state: reloaded enabled: yes daemon_reload: yes diff --git a/roles/nginx-certbot/meta/main.yml b/roles/webserver-tls-renew/meta/main.yml similarity index 95% rename from roles/nginx-certbot/meta/main.yml rename to roles/webserver-tls-renew/meta/main.yml index d6fdbdd5..fa7540da 100644 --- a/roles/nginx-certbot/meta/main.yml +++ b/roles/webserver-tls-renew/meta/main.yml @@ -27,7 +27,7 @@ galaxy_info: issue_tracker_url: "https://s.veen.world/cymaisissues" documentation: "https://s.veen.world/cymais" dependencies: - - certbot + - generic-certbot - nginx - - systemd-notifier + - alert-core - cleanup-certs diff --git a/roles/nginx-certbot/tasks/main.yml b/roles/webserver-tls-renew/tasks/main.yml similarity index 73% rename from roles/nginx-certbot/tasks/main.yml rename to roles/webserver-tls-renew/tasks/main.yml index 76f9e8f3..9086f6d5 100644 --- a/roles/nginx-certbot/tasks/main.yml +++ b/roles/webserver-tls-renew/tasks/main.yml @@ -5,10 +5,10 @@ state: present when: run_once_nginx_certbot is not defined -- name: configure nginx-certbot.cymais.service +- name: configure webserver-tls-renew.cymais.service template: - src: nginx-certbot.service.j2 - dest: /etc/systemd/system/nginx-certbot.cymais.service + src: webserver-tls-renew.service.j2 + dest: /etc/systemd/system/webserver-tls-renew.cymais.service notify: reload certbot service when: run_once_nginx_certbot is not defined @@ -17,9 +17,9 @@ service_name: "{{ role_name }}" when: run_once_nginx_certbot is not defined -- name: "include role for systemd-timer for {{service_name}}" +- name: "include role for generic-timer for {{service_name}}" include_role: - name: systemd-timer + name: generic-timer vars: on_calendar: "{{on_calendar_renew_lets_encrypt_certificates}}" persistent: "true" diff --git a/roles/nginx-certbot/templates/nginx-certbot.service.j2 b/roles/webserver-tls-renew/templates/webserver-tls-renew.service.j2 similarity index 78% rename from roles/nginx-certbot/templates/nginx-certbot.service.j2 rename to roles/webserver-tls-renew/templates/webserver-tls-renew.service.j2 index cfb8ded6..70253d93 100644 --- a/roles/nginx-certbot/templates/nginx-certbot.service.j2 +++ b/roles/webserver-tls-renew/templates/webserver-tls-renew.service.j2 @@ -1,6 +1,6 @@ [Unit] Description=Let's Encrypt renewal -OnFailure=systemd-notifier.cymais@%n.service +OnFailure=alert-core.cymais@%n.service [Service] Type=oneshot diff --git a/tasks/plays/01_constructor.yml b/tasks/plays/01_constructor.yml index bf4427d6..7a043bf4 100644 --- a/tasks/plays/01_constructor.yml +++ b/tasks/plays/01_constructor.yml @@ -104,24 +104,23 @@ - name: setup standard wireguard when: ('wireguard_server' | application_allowed(group_names, allowed_applications)) include_role: - name: wireguard + name: network-wireguard-core # vpn setup - name: setup wireguard client behind firewall\nat when: ('wireguard_behind_firewall' | application_allowed(group_names, allowed_applications)) include_role: - name: client-wireguard-behind-firewall + name: network-wireguard-firewalled - name: setup wireguard client when: ('wireguard_client' | application_allowed(group_names, allowed_applications)) include_role: - name: client-wireguard + name: network-wireguard-plain ## backup setup - name: setup replica backup hosts when: ('backup_remote_to_local' | application_allowed(group_names, allowed_applications)) - include_role: - name: backup-remote-to-local + include_role: backup-remote-to-local - name: setup backup to swappable when: ('backup_to_usb' | application_allowed(group_names, allowed_applications)) @@ -149,4 +148,4 @@ - name: setup swapfile hosts when: ('swapfile' | application_allowed(group_names, allowed_applications)) include_role: - name: system-swapfile \ No newline at end of file + name: maintenance-swapfile \ No newline at end of file diff --git a/tasks/plays/02_personal-computer.yml b/tasks/plays/02_personal-computer.yml index 7eab4db7..39759050 100644 --- a/tasks/plays/02_personal-computer.yml +++ b/tasks/plays/02_personal-computer.yml @@ -14,43 +14,43 @@ name: "{{ item }}" loop: - persona-employee - - client-jrnl + - desktop-jrnl - name: personal computer for business when: ("business_personal_computer" in group_names) include_role: - name: client-gnucash + name: desktop-gnucash - name: persona-designer when: ("collection_designer" in group_names) include_role: name: persona-designer -- name: client-qbittorrent +- name: desktop-qbittorrent when: ("collection_torrent" in group_names) include_role: - name: client-qbittorrent + name: desktop-qbittorrent - name: persona-streamer when: ("collection_streamer" in group_names) include_role: name: persona-streamer -- name: client-bluray-player +- name: desktop-bluray-player when: ("collection_bluray_player" in group_names) include_role: - name: client-bluray-player + name: desktop-bluray-player - name: GNOME setup when: ("gnome" in group_names) include_role: - name: client-gnome + name: desktop-gnome - name: setup ssh client when: ("ssh-client" in group_names) include_role: - name: client-ssh + name: desktop-ssh - name: setup gaming hosts when: ("gaming" in group_names) @@ -60,22 +60,22 @@ - name: setup entertainment hosts when: ("entertainment" in group_names) include_role: - name: client-spotify + name: desktop-spotify - name: setup torbrowser hosts when: ("torbrowser" in group_names) include_role: - name: client-torbrowser + name: desktop-torbrowser - name: setup nextcloud-client when: ("nextcloud_client" in group_names) include_role: - name: client-nextcloud + name: desktop-nextcloud - name: setup docker when: ("docker_client" in group_names) include_role: - name: client-docker + name: desktop-docker # driver - name: setup msi rgb keyboard diff --git a/tasks/plays/02_server.yml b/tasks/plays/02_server.yml index 5dc38b18..6c57a847 100644 --- a/tasks/plays/02_server.yml +++ b/tasks/plays/02_server.yml @@ -4,23 +4,23 @@ include_role: name: "{{ item }}" loop: - - system-security - - journalctl - - health-disc-space + - core-security + - core-journalctl + - monitor-bot-disc-space - cleanup-disc-space - - health-btrfs - - system-btrfs-auto-balancer + - monitor-bot-btrfs + - maintenance-btrfs-auto-balancer - name: "Integrate Docker Role includes" - include_tasks: "./tasks/utils/docker-roles.yml" + include_tasks: "./tasks/utils/web-app-roles.yml" # Native Webserver Roles -- name: setup nginx-serve-htmls +- name: setup web-service-htmls include_role: - name: nginx-serve-html + name: web-service-html vars: domain: "{{primary_domain}}" - when: ('nginx-serve-htmls' | application_allowed(group_names, allowed_applications)) + when: ('web-service-htmls' | application_allowed(group_names, allowed_applications)) - name: "setup corporate identity" include_role: @@ -30,11 +30,11 @@ - name: setup redirect hosts when: ('redirect' | application_allowed(group_names, allowed_applications)) include_role: - name: nginx-redirect-domains + name: web-redirect-domains vars: domain_mappings: "{{ current_play_domain_mappings_redirect}}" - name: setup www redirect when: ('www_redirect' | application_allowed(group_names, allowed_applications)) include_role: - name: nginx-redirect-www \ No newline at end of file + name: web-redirect-www \ No newline at end of file diff --git a/tasks/plays/03_destructor.yml b/tasks/plays/03_destructor.yml index f1a78e79..78a0715a 100644 --- a/tasks/plays/03_destructor.yml +++ b/tasks/plays/03_destructor.yml @@ -1,6 +1,6 @@ - name: optimize storage performance include_role: - name: system-storage-optimizer + name: maintenance-docker-storage-optimizer when: ('storage-optimizer' | application_allowed(group_names, allowed_applications)) - name: Cleanup Docker Anonymous Volumes diff --git a/tasks/utils/web-app-roles.yml b/tasks/utils/web-app-roles.yml new file mode 100644 index 00000000..5145a4b7 --- /dev/null +++ b/tasks/utils/web-app-roles.yml @@ -0,0 +1,300 @@ +- name: setup presentation + when: ('presentation' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-presentation +- name: flush handlers after presentation + meta: flush_handlers +- name: setup matrix-deprecated + when: ('matrix-deprecated' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-matrix-deprecated +- name: flush handlers after matrix-deprecated + meta: flush_handlers +- name: setup postgres + when: ('postgres' | application_allowed(group_names, allowed_applications)) + include_role: + name: service-rdbms-postgres +- name: flush handlers after postgres + meta: flush_handlers +- name: setup syncope + when: ('syncope' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-syncope +- name: flush handlers after syncope + meta: flush_handlers +- name: setup elk + when: ('elk' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-elk +- name: flush handlers after elk + meta: flush_handlers +- name: setup ldap + when: ('ldap' | application_allowed(group_names, allowed_applications)) + include_role: + name: service-openldap +- name: flush handlers after ldap + meta: flush_handlers +- name: setup None + when: ('None' | application_allowed(group_names, allowed_applications)) + include_role: + name: docker-compose +- name: flush handlers after None + meta: flush_handlers +- name: setup collabora + when: ('collabora' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-collabora +- name: flush handlers after collabora + meta: flush_handlers +- name: setup sphinx + when: ('sphinx' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-sphinx +- name: flush handlers after sphinx + meta: flush_handlers +- name: setup mariadb + when: ('mariadb' | application_allowed(group_names, allowed_applications)) + include_role: + name: service-rdbms-mariadb +- name: flush handlers after mariadb + meta: flush_handlers +- name: setup simpleicons + when: ('simpleicons' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-simpleicons +- name: flush handlers after simpleicons + meta: flush_handlers +- name: setup None + when: ('None' | application_allowed(group_names, allowed_applications)) + include_role: + name: service-rdbms-central +- name: flush handlers after None + meta: flush_handlers +- name: setup roulette-wheel + when: ('roulette-wheel' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-roulette-wheel +- name: flush handlers after roulette-wheel + meta: flush_handlers +- name: setup jenkins + when: ('jenkins' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-jenkins +- name: flush handlers after jenkins + meta: flush_handlers +- name: setup matomo + when: ('matomo' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-matomo +- name: flush handlers after matomo + meta: flush_handlers +- name: setup portfolio + when: ('portfolio' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-portfolio +- name: flush handlers after portfolio + meta: flush_handlers +- name: setup keycloak + when: ('keycloak' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-keycloak +- name: flush handlers after keycloak + meta: flush_handlers +- name: setup yourls + when: ('yourls' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-yourls +- name: flush handlers after yourls + meta: flush_handlers +- name: setup wordpress + when: ('wordpress' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-wordpress +- name: flush handlers after wordpress + meta: flush_handlers +- name: setup pixelfed + when: ('pixelfed' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-pixelfed +- name: flush handlers after pixelfed + meta: flush_handlers +- name: setup peertube + when: ('peertube' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-peertube +- name: flush handlers after peertube + meta: flush_handlers +- name: setup phpmyadmin + when: ('phpmyadmin' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-phpmyadmin +- name: flush handlers after phpmyadmin + meta: flush_handlers +- name: setup openproject + when: ('openproject' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-openproject +- name: flush handlers after openproject + meta: flush_handlers +- name: setup phpldapadmin + when: ('phpldapadmin' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-phpldapadmin +- name: flush handlers after phpldapadmin + meta: flush_handlers +- name: setup friendica + when: ('friendica' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-friendica +- name: flush handlers after friendica + meta: flush_handlers +- name: setup taiga + when: ('taiga' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-taiga +- name: flush handlers after taiga + meta: flush_handlers +- name: setup bigbluebutton + when: ('bigbluebutton' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-bigbluebutton +- name: flush handlers after bigbluebutton + meta: flush_handlers +- name: setup lam + when: ('lam' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-lam +- name: flush handlers after lam + meta: flush_handlers +- name: setup mastodon + when: ('mastodon' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-mastodon +- name: flush handlers after mastodon + meta: flush_handlers +- name: setup pgadmin + when: ('pgadmin' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-pgadmin +- name: flush handlers after pgadmin + meta: flush_handlers +- name: setup mailu + when: ('mailu' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-mailu +- name: flush handlers after mailu + meta: flush_handlers +- name: setup moodle + when: ('moodle' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-moodle +- name: flush handlers after moodle + meta: flush_handlers +- name: setup discourse + when: ('discourse' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-discourse +- name: flush handlers after discourse + meta: flush_handlers +- name: setup nextcloud + when: ('nextcloud' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-nextcloud +- name: flush handlers after nextcloud + meta: flush_handlers +- name: setup espocrm + when: ('espocrm' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-espocrm +- name: flush handlers after espocrm + meta: flush_handlers +- name: setup joomla + when: ('joomla' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-joomla +- name: flush handlers after joomla + meta: flush_handlers +- name: setup matrix + when: ('matrix' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-matrix +- name: flush handlers after matrix + meta: flush_handlers +- name: setup mobilizon + when: ('mobilizon' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-mobilizon +- name: flush handlers after mobilizon + meta: flush_handlers +- name: setup snipe-it + when: ('snipe-it' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-snipe-it +- name: flush handlers after snipe-it + meta: flush_handlers +- name: setup mybb + when: ('mybb' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-mybb +- name: flush handlers after mybb + meta: flush_handlers +- name: setup attendize + when: ('attendize' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-attendize +- name: flush handlers after attendize + meta: flush_handlers +- name: setup gitlab + when: ('gitlab' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-gitlab +- name: flush handlers after gitlab + meta: flush_handlers +- name: setup mediawiki + when: ('mediawiki' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-mediawiki +- name: flush handlers after mediawiki + meta: flush_handlers +- name: setup funkwhale + when: ('funkwhale' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-funkwhale +- name: flush handlers after funkwhale + meta: flush_handlers +- name: setup gitea + when: ('gitea' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-gitea +- name: flush handlers after gitea + meta: flush_handlers +- name: setup baserow + when: ('baserow' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-baserow +- name: flush handlers after baserow + meta: flush_handlers +- name: setup akaunting + when: ('akaunting' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-akaunting +- name: flush handlers after akaunting + meta: flush_handlers +- name: setup bluesky + when: ('bluesky' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-bluesky +- name: flush handlers after bluesky + meta: flush_handlers +- name: setup listmonk + when: ('listmonk' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-listmonk +- name: flush handlers after listmonk + meta: flush_handlers +- name: setup fusiondirectory + when: ('fusiondirectory' | application_allowed(group_names, allowed_applications)) + include_role: + name: web-app-fusiondirectory +- name: flush handlers after fusiondirectory + meta: flush_handlers diff --git a/templates/inventories/README.md b/templates/inventories/README.md new file mode 100644 index 00000000..0cedc8f1 --- /dev/null +++ b/templates/inventories/README.md @@ -0,0 +1,5 @@ +## Inventory Templates + +This repository provides ready-to-use templates for creating and managing persona inventories. + +[Check out the related task in the project management system »](https://project.veen.world/projects/cymais/work_packages/80/activity) diff --git a/inventories/TODO.md b/templates/inventories/TODO.md similarity index 100% rename from inventories/TODO.md rename to templates/inventories/TODO.md diff --git a/roles/persona-administrator-network/README.md b/templates/inventories/persona-administrator-network/README.md similarity index 100% rename from roles/persona-administrator-network/README.md rename to templates/inventories/persona-administrator-network/README.md diff --git a/roles/persona-administrator-network/meta/main.yml b/templates/inventories/persona-administrator-network/meta/main.yml similarity index 100% rename from roles/persona-administrator-network/meta/main.yml rename to templates/inventories/persona-administrator-network/meta/main.yml diff --git a/roles/persona-administrator-network/tasks/main.yml b/templates/inventories/persona-administrator-network/tasks/main.yml similarity index 100% rename from roles/persona-administrator-network/tasks/main.yml rename to templates/inventories/persona-administrator-network/tasks/main.yml diff --git a/roles/persona-administrator/README.md b/templates/inventories/persona-administrator/README.md similarity index 100% rename from roles/persona-administrator/README.md rename to templates/inventories/persona-administrator/README.md diff --git a/roles/persona-administrator/meta/main.yml b/templates/inventories/persona-administrator/meta/main.yml similarity index 93% rename from roles/persona-administrator/meta/main.yml rename to templates/inventories/persona-administrator/meta/main.yml index d8fb8e9f..ae211eb9 100644 --- a/roles/persona-administrator/meta/main.yml +++ b/templates/inventories/persona-administrator/meta/main.yml @@ -23,6 +23,6 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - client-git - - make - - gcc \ No newline at end of file + - desktop-git + - generic-make + - generic-gcc \ No newline at end of file diff --git a/roles/persona-administrator/tasks/main.yml b/templates/inventories/persona-administrator/tasks/main.yml similarity index 100% rename from roles/persona-administrator/tasks/main.yml rename to templates/inventories/persona-administrator/tasks/main.yml diff --git a/roles/persona-corporate/README.md b/templates/inventories/persona-corporate/README.md similarity index 100% rename from roles/persona-corporate/README.md rename to templates/inventories/persona-corporate/README.md diff --git a/roles/persona-corporate/meta/main.yml b/templates/inventories/persona-corporate/meta/main.yml similarity index 91% rename from roles/persona-corporate/meta/main.yml rename to templates/inventories/persona-corporate/meta/main.yml index 9d91324c..d19bd2d9 100644 --- a/roles/persona-corporate/meta/main.yml +++ b/templates/inventories/persona-corporate/meta/main.yml @@ -24,6 +24,6 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - nginx-serve-legal - - nginx-serve-assets - - docker-portfolio \ No newline at end of file + - web-service-legal + - web-service-assets + - web-app-portfolio \ No newline at end of file diff --git a/roles/persona-designer/README.md b/templates/inventories/persona-designer/README.md similarity index 92% rename from roles/persona-designer/README.md rename to templates/inventories/persona-designer/README.md index 0af39e06..946bd25c 100644 --- a/roles/persona-designer/README.md +++ b/templates/inventories/persona-designer/README.md @@ -14,7 +14,7 @@ The `main.yml` file in the `persona-designer` role encompasses tasks for install ## Dependencies This role depends on: -- **system-aur-helper**: Ensures that an AUR (Arch User Repository) helper is available, which is necessary for installing packages like `drawio-desktop` that are not in the standard repositories. +- **generic-aur-helper**: Ensures that an AUR (Arch User Repository) helper is available, which is necessary for installing packages like `drawio-desktop` that are not in the standard repositories. ## Purpose and Usage The `persona-designer` role is intended for users who require a robust set of tools for graphic design, 3D modeling, and diagram creation. It simplifies the process of setting up a comprehensive design environment on Arch Linux-based systems. diff --git a/templates/inventories/persona-designer/meta/main.yml b/templates/inventories/persona-designer/meta/main.yml new file mode 100644 index 00000000..ad07aef5 --- /dev/null +++ b/templates/inventories/persona-designer/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- generic-aur-helper \ No newline at end of file diff --git a/roles/persona-designer/tasks/main.yml b/templates/inventories/persona-designer/tasks/main.yml similarity index 100% rename from roles/persona-designer/tasks/main.yml rename to templates/inventories/persona-designer/tasks/main.yml diff --git a/roles/persona-developer-arduino/README.md b/templates/inventories/persona-developer-arduino/README.md similarity index 100% rename from roles/persona-developer-arduino/README.md rename to templates/inventories/persona-developer-arduino/README.md diff --git a/roles/persona-developer-arduino/meta/main.yml b/templates/inventories/persona-developer-arduino/meta/main.yml similarity index 100% rename from roles/persona-developer-arduino/meta/main.yml rename to templates/inventories/persona-developer-arduino/meta/main.yml diff --git a/roles/persona-developer-arduino/tasks/main.yml b/templates/inventories/persona-developer-arduino/tasks/main.yml similarity index 100% rename from roles/persona-developer-arduino/tasks/main.yml rename to templates/inventories/persona-developer-arduino/tasks/main.yml diff --git a/roles/persona-developer-java/README.md b/templates/inventories/persona-developer-java/README.md similarity index 100% rename from roles/persona-developer-java/README.md rename to templates/inventories/persona-developer-java/README.md diff --git a/roles/persona-developer-java/meta/main.yml b/templates/inventories/persona-developer-java/meta/main.yml similarity index 97% rename from roles/persona-developer-java/meta/main.yml rename to templates/inventories/persona-developer-java/meta/main.yml index 4d289c76..ca28af0c 100644 --- a/roles/persona-developer-java/meta/main.yml +++ b/templates/inventories/persona-developer-java/meta/main.yml @@ -25,5 +25,5 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - java + - generic-java - persona-developer diff --git a/roles/persona-developer-php/README.md b/templates/inventories/persona-developer-php/README.md similarity index 100% rename from roles/persona-developer-php/README.md rename to templates/inventories/persona-developer-php/README.md diff --git a/roles/persona-developer-php/meta/main.yml b/templates/inventories/persona-developer-php/meta/main.yml similarity index 100% rename from roles/persona-developer-php/meta/main.yml rename to templates/inventories/persona-developer-php/meta/main.yml diff --git a/roles/persona-developer-php/tasks/main.yml b/templates/inventories/persona-developer-php/tasks/main.yml similarity index 100% rename from roles/persona-developer-php/tasks/main.yml rename to templates/inventories/persona-developer-php/tasks/main.yml diff --git a/roles/persona-developer-python/README.md b/templates/inventories/persona-developer-python/README.md similarity index 100% rename from roles/persona-developer-python/README.md rename to templates/inventories/persona-developer-python/README.md diff --git a/roles/persona-developer-python/meta/main.yml b/templates/inventories/persona-developer-python/meta/main.yml similarity index 97% rename from roles/persona-developer-python/meta/main.yml rename to templates/inventories/persona-developer-python/meta/main.yml index f6caec4f..58e66f0c 100644 --- a/roles/persona-developer-python/meta/main.yml +++ b/templates/inventories/persona-developer-python/meta/main.yml @@ -26,4 +26,4 @@ galaxy_info: documentation: https://s.veen.world/cymais dependencies: - persona-developer - - python-pip \ No newline at end of file + - generic-python-pip \ No newline at end of file diff --git a/roles/persona-developer-shell/README.md b/templates/inventories/persona-developer-shell/README.md similarity index 100% rename from roles/persona-developer-shell/README.md rename to templates/inventories/persona-developer-shell/README.md diff --git a/roles/persona-developer-shell/meta/main.yml b/templates/inventories/persona-developer-shell/meta/main.yml similarity index 100% rename from roles/persona-developer-shell/meta/main.yml rename to templates/inventories/persona-developer-shell/meta/main.yml diff --git a/roles/persona-developer-shell/tasks/main.yml b/templates/inventories/persona-developer-shell/tasks/main.yml similarity index 100% rename from roles/persona-developer-shell/tasks/main.yml rename to templates/inventories/persona-developer-shell/tasks/main.yml diff --git a/roles/persona-developer/README.md b/templates/inventories/persona-developer/README.md similarity index 100% rename from roles/persona-developer/README.md rename to templates/inventories/persona-developer/README.md diff --git a/roles/persona-developer/meta/main.yml b/templates/inventories/persona-developer/meta/main.yml similarity index 100% rename from roles/persona-developer/meta/main.yml rename to templates/inventories/persona-developer/meta/main.yml diff --git a/roles/persona-developer/tasks/main.yml b/templates/inventories/persona-developer/tasks/main.yml similarity index 100% rename from roles/persona-developer/tasks/main.yml rename to templates/inventories/persona-developer/tasks/main.yml diff --git a/roles/persona-employee/README.md b/templates/inventories/persona-employee/README.md similarity index 90% rename from roles/persona-employee/README.md rename to templates/inventories/persona-employee/README.md index de15e6b0..8695de29 100644 --- a/roles/persona-employee/README.md +++ b/templates/inventories/persona-employee/README.md @@ -15,8 +15,8 @@ The `main.yml` file within the `persona-employee` role comprises tasks for insta ## Dependencies This role depends on: -- **client-libreoffice**: Ensures that the LibreOffice suite, a comprehensive office package, is installed. -- **client-zoom**: Provides tools necessary for video conferencing, supplementing the office setup. +- **desktop-libreoffice**: Ensures that the LibreOffice suite, a comprehensive office package, is installed. +- **desktop-zoom**: Provides tools necessary for video conferencing, supplementing the office setup. ## Purpose and Usage The `persona-employee` role is ideal for users who require a full-fledged office setup on their personal computers. It encompasses tools for web browsing, email management, e-book organization, and document editing, catering to a wide range of office and productivity needs. diff --git a/templates/inventories/persona-employee/meta/main.yml b/templates/inventories/persona-employee/meta/main.yml new file mode 100644 index 00000000..7bc8ef53 --- /dev/null +++ b/templates/inventories/persona-employee/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: +- desktop-libreoffice +- desktop-browser \ No newline at end of file diff --git a/roles/persona-employee/tasks/main.yml b/templates/inventories/persona-employee/tasks/main.yml similarity index 100% rename from roles/persona-employee/tasks/main.yml rename to templates/inventories/persona-employee/tasks/main.yml diff --git a/roles/persona-gamer-core/README.md b/templates/inventories/persona-gamer-core/README.md similarity index 100% rename from roles/persona-gamer-core/README.md rename to templates/inventories/persona-gamer-core/README.md diff --git a/roles/persona-gamer-core/meta/main.yml b/templates/inventories/persona-gamer-core/meta/main.yml similarity index 100% rename from roles/persona-gamer-core/meta/main.yml rename to templates/inventories/persona-gamer-core/meta/main.yml diff --git a/roles/persona-gamer-core/tasks/main.yml b/templates/inventories/persona-gamer-core/tasks/main.yml similarity index 100% rename from roles/persona-gamer-core/tasks/main.yml rename to templates/inventories/persona-gamer-core/tasks/main.yml diff --git a/roles/persona-gamer-default/README.md b/templates/inventories/persona-gamer-default/README.md similarity index 100% rename from roles/persona-gamer-default/README.md rename to templates/inventories/persona-gamer-default/README.md diff --git a/roles/persona-gamer-default/meta/main.yml b/templates/inventories/persona-gamer-default/meta/main.yml similarity index 100% rename from roles/persona-gamer-default/meta/main.yml rename to templates/inventories/persona-gamer-default/meta/main.yml diff --git a/roles/persona-gamer-default/tasks/main.yml b/templates/inventories/persona-gamer-default/tasks/main.yml similarity index 100% rename from roles/persona-gamer-default/tasks/main.yml rename to templates/inventories/persona-gamer-default/tasks/main.yml diff --git a/roles/persona-gamer-default/vars/main.yml b/templates/inventories/persona-gamer-default/vars/main.yml similarity index 100% rename from roles/persona-gamer-default/vars/main.yml rename to templates/inventories/persona-gamer-default/vars/main.yml diff --git a/roles/persona-gamer-retro/README.md b/templates/inventories/persona-gamer-retro/README.md similarity index 100% rename from roles/persona-gamer-retro/README.md rename to templates/inventories/persona-gamer-retro/README.md diff --git a/roles/persona-gamer-retro/meta/main.yml b/templates/inventories/persona-gamer-retro/meta/main.yml similarity index 100% rename from roles/persona-gamer-retro/meta/main.yml rename to templates/inventories/persona-gamer-retro/meta/main.yml diff --git a/roles/persona-gamer-retro/tasks/main.yml b/templates/inventories/persona-gamer-retro/tasks/main.yml similarity index 100% rename from roles/persona-gamer-retro/tasks/main.yml rename to templates/inventories/persona-gamer-retro/tasks/main.yml diff --git a/roles/persona-gamer-retro/vars/main.yml b/templates/inventories/persona-gamer-retro/vars/main.yml similarity index 100% rename from roles/persona-gamer-retro/vars/main.yml rename to templates/inventories/persona-gamer-retro/vars/main.yml diff --git a/roles/persona-gamer/README.md b/templates/inventories/persona-gamer/README.md similarity index 100% rename from roles/persona-gamer/README.md rename to templates/inventories/persona-gamer/README.md diff --git a/roles/persona-gamer/meta/main.yml b/templates/inventories/persona-gamer/meta/main.yml similarity index 100% rename from roles/persona-gamer/meta/main.yml rename to templates/inventories/persona-gamer/meta/main.yml diff --git a/roles/persona-streamer/README.md b/templates/inventories/persona-streamer/README.md similarity index 100% rename from roles/persona-streamer/README.md rename to templates/inventories/persona-streamer/README.md diff --git a/roles/persona-streamer/tasks/main.yml b/templates/inventories/persona-streamer/tasks/main.yml similarity index 100% rename from roles/persona-streamer/tasks/main.yml rename to templates/inventories/persona-streamer/tasks/main.yml diff --git a/templates/docker_role/README.md.j2 b/templates/roles/web-app/README.md.j2 similarity index 89% rename from templates/docker_role/README.md.j2 rename to templates/roles/web-app/README.md.j2 index a9c94671..a519138e 100644 --- a/templates/docker_role/README.md.j2 +++ b/templates/roles/web-app/README.md.j2 @@ -16,4 +16,4 @@ Put a feature list here ## Further Resources -* Put more ressources here \ No newline at end of file +* Put more resources here \ No newline at end of file diff --git a/templates/docker_role/meta/main.yml.j2 b/templates/roles/web-app/meta/main.yml.j2 similarity index 100% rename from templates/docker_role/meta/main.yml.j2 rename to templates/roles/web-app/meta/main.yml.j2 diff --git a/tests/unit/roles/docker-ldap/__init__.py b/templates/roles/web-app/meta/schema.yml.j2 similarity index 100% rename from tests/unit/roles/docker-ldap/__init__.py rename to templates/roles/web-app/meta/schema.yml.j2 diff --git a/templates/docker_role/tasks/main.yml.j2 b/templates/roles/web-app/tasks/main.yml.j2 similarity index 82% rename from templates/docker_role/tasks/main.yml.j2 rename to templates/roles/web-app/tasks/main.yml.j2 index 0808cbfd..375abae2 100644 --- a/templates/docker_role/tasks/main.yml.j2 +++ b/templates/roles/web-app/tasks/main.yml.j2 @@ -3,9 +3,9 @@ {% if database_type | bool %} {% raw %} -- name: "include docker-central-database" +- name: "include service-rdbms-central" include_role: - name: docker-central-database + name: service-rdbms-central when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined {% endraw %} @@ -23,9 +23,9 @@ {% raw %} -- name: "include role nginx-domain-setup for {{application_id}}" +- name: "include role webserver-proxy-domain for {{application_id}}" include_role: - name: nginx-domain-setup + name: webserver-proxy-domain vars: domain: "{{ domains | get_domain(application_id) }}" http_port: "{{ ports.localhost.http[application_id] }}" diff --git a/tests/unit/roles/system-storage-optimizer/__init__.py b/templates/roles/web-app/templates/Dockerfile.j2.j2 similarity index 100% rename from tests/unit/roles/system-storage-optimizer/__init__.py rename to templates/roles/web-app/templates/Dockerfile.j2.j2 diff --git a/templates/docker_role/templates/docker-compose.yml.j2.j2 b/templates/roles/web-app/templates/docker-compose.yml.j2.j2 similarity index 100% rename from templates/docker_role/templates/docker-compose.yml.j2.j2 rename to templates/roles/web-app/templates/docker-compose.yml.j2.j2 diff --git a/templates/roles/web-app/templates/env.j2.j2 b/templates/roles/web-app/templates/env.j2.j2 new file mode 100644 index 00000000..e69de29b diff --git a/templates/roles/web-app/templates/javascript.js.j2 b/templates/roles/web-app/templates/javascript.js.j2 new file mode 100644 index 00000000..5a1bd867 --- /dev/null +++ b/templates/roles/web-app/templates/javascript.js.j2 @@ -0,0 +1 @@ +alert('Custom JS loaded'); \ No newline at end of file diff --git a/templates/docker_role/vars/configuration.yml.j2 b/templates/roles/web-app/vars/configuration.yml.j2 similarity index 100% rename from templates/docker_role/vars/configuration.yml.j2 rename to templates/roles/web-app/vars/configuration.yml.j2 diff --git a/templates/docker_role/vars/main.yml.j2 b/templates/roles/web-app/vars/main.yml.j2 similarity index 100% rename from templates/docker_role/vars/main.yml.j2 rename to templates/roles/web-app/vars/main.yml.j2 diff --git a/tests/integration/test_application_id_consistency.py b/tests/integration/test_application_id_consistency.py index 92b0f81e..42222d64 100644 --- a/tests/integration/test_application_id_consistency.py +++ b/tests/integration/test_application_id_consistency.py @@ -11,11 +11,11 @@ class TestApplicationIdConsistency(unittest.TestCase): failed_roles = [] for role_path in ROLES_DIR.iterdir(): - if role_path.name in ["docker-container","docker-compose", "docker-central-database", "docker-repository-setup"]: + if role_path.name in ["docker-container","docker-compose", "service-rdbms-central", "docker-repository-setup"]: continue - if role_path.is_dir() and role_path.name.startswith("docker-"): - expected_id = role_path.name.replace("docker-", "", 1) + if role_path.is_dir() and role_path.name.startswith("web-app-"): + expected_id = role_path.name.replace("web-app-", "", 1) vars_file = role_path / "vars" / "main.yml" if not vars_file.exists(): diff --git a/tests/integration/test_deprecated_version_key.py b/tests/integration/test_deprecated_version_key.py index 229e58d9..d7953f90 100644 --- a/tests/integration/test_deprecated_version_key.py +++ b/tests/integration/test_deprecated_version_key.py @@ -5,7 +5,7 @@ import yaml class TestDeprecatedVersionKey(unittest.TestCase): def test_version_key_deprecation(self): """ - Checks all roles/docker-*/vars/configuration.yml for deprecated use of 'version'. + Checks all roles/web-app-*/vars/configuration.yml for deprecated use of 'version'. Warns if 'version' is set but 'images' is missing. Prints warnings but does NOT fail the test. """ @@ -14,7 +14,7 @@ class TestDeprecatedVersionKey(unittest.TestCase): warnings = [] for role_path in roles_dir.iterdir(): - if not (role_path.is_dir() and role_path.name.startswith("docker-")): + if not (role_path.is_dir() and role_path.name.startswith("web-app-")): continue cfg_file = role_path / "vars" / "configuration.yml" diff --git a/tests/integration/test_docker_images_configuration.py b/tests/integration/test_docker_images_configuration.py index e9bff6b1..7d8b00bd 100644 --- a/tests/integration/test_docker_images_configuration.py +++ b/tests/integration/test_docker_images_configuration.py @@ -6,11 +6,11 @@ import re class TestDockerRoleImagesConfiguration(unittest.TestCase): def test_images_keys_and_templates(self): """ - For each docker-* role, check that: - - roles/docker-*/vars/configuration.yml contains 'images' as a dict with keys/values + For each web-app-* role, check that: + - roles/web-app-*/vars/configuration.yml contains 'images' as a dict with keys/values - Each image key is referenced as: image: "{{ applications[application_id].images. }}" - in either roles/docker-*/templates/docker-compose.yml.j2 or env.j2 + in either roles/web-app-*/templates/docker-compose.yml.j2 or env.j2 """ repo_root = Path(__file__).resolve().parent.parent.parent roles_dir = repo_root / "roles" @@ -18,7 +18,7 @@ class TestDockerRoleImagesConfiguration(unittest.TestCase): warnings = [] for role_path in roles_dir.iterdir(): - if not (role_path.is_dir() and role_path.name.startswith("docker-")): + if not (role_path.is_dir() and role_path.name.startswith("web-app-")): continue cfg_file = role_path / "vars" / "configuration.yml" diff --git a/tests/integration/test_role_dependencies.py b/tests/integration/test_role_dependencies_circular.py similarity index 100% rename from tests/integration/test_role_dependencies.py rename to tests/integration/test_role_dependencies_circular.py diff --git a/tests/integration/test_role_dependencies_meta_resolve.py b/tests/integration/test_role_dependencies_meta_resolve.py new file mode 100644 index 00000000..c8bd29c3 --- /dev/null +++ b/tests/integration/test_role_dependencies_meta_resolve.py @@ -0,0 +1,47 @@ +import unittest +import os +import glob +import yaml + +class TestRoleDependencies(unittest.TestCase): + def test_dependencies_exist(self): + # Determine the path to the roles directory relative to this test file + tests_dir = os.path.dirname(__file__) + project_root = os.path.abspath(os.path.join(tests_dir, os.pardir, os.pardir)) + roles_dir = os.path.join(project_root, 'roles') + + # Find all meta/main.yml files under roles/*/meta/main.yml + pattern = os.path.join(roles_dir, '*', 'meta', 'main.yml') + meta_files = glob.glob(pattern) + self.assertTrue(meta_files, f"No meta/main.yml files found with pattern {pattern}") + + for meta_file in meta_files: + role_dir = os.path.dirname(os.path.dirname(meta_file)) + role_name = os.path.basename(role_dir) + with self.subTest(role=role_name): + # Load the YAML metadata + with open(meta_file, 'r') as f: + meta = yaml.safe_load(f) or {} + + # Extract dependencies list + dependencies = meta.get('dependencies', []) + self.assertIsInstance(dependencies, list, f"'dependencies' for role '{role_name}' is not a list") + + for dep in dependencies: + # Dependencies can be strings or dicts with a 'role' key + if isinstance(dep, str): + dep_name = dep + elif isinstance(dep, dict) and 'role' in dep: + dep_name = dep['role'] + else: + self.fail(f"Invalid dependency format {dep!r} in role '{role_name}'") + + dep_path = os.path.join(roles_dir, dep_name) + # Assert that the dependency role directory exists + self.assertTrue( + os.path.isdir(dep_path), + f"Role '{role_name}' declares dependency '{dep_name}' but '{dep_path}' does not exist" + ) + +if __name__ == '__main__': + unittest.main() diff --git a/tests/integration/test_role_include_import_roles_exist.py b/tests/integration/test_role_include_import_roles_exist.py new file mode 100644 index 00000000..1008e3a0 --- /dev/null +++ b/tests/integration/test_role_include_import_roles_exist.py @@ -0,0 +1,74 @@ +import unittest +import os +import glob +import yaml +import re + +class TestIncludeImportRoleExistence(unittest.TestCase): + def setUp(self): + # Determine project root and roles directory + tests_dir = os.path.dirname(__file__) + project_root = os.path.abspath(os.path.join(tests_dir, os.pardir, os.pardir)) + self.roles_dir = os.path.join(project_root, 'roles') + # Collect all .yml files in project (recursive), excluding .git and tests dirs + self.files_to_scan = [] + for filepath in glob.glob(os.path.join(project_root, '**', '*.yml'), recursive=True): + # Skip .git, tests folders + if '/.git/' in filepath or '/tests/' in filepath: + continue + self.files_to_scan.append(filepath) + + def _collect_includes(self, data): + """ + Recursively collect all roles referenced via include_role or import_role. + Supports scalar, block, and block-list syntax, plus templating and wildcards. + """ + roles = [] + if isinstance(data, dict): + for key, val in data.items(): + if key in ('include_role', 'import_role'): + # Scalar syntax: include_role: role_name + if isinstance(val, str): + roles.append(val) + # Block syntax: include_role: { name: role_name } + elif isinstance(val, dict) and 'name' in val: + roles.append(val['name']) + # Block-list syntax: include_role: + # - name: foo + # - name: bar + elif isinstance(val, list): + for item in val: + if isinstance(item, dict) and 'name' in item: + roles.append(item['name']) + else: + roles.extend(self._collect_includes(val)) + elif isinstance(data, list): + for item in data: + roles.extend(self._collect_includes(item)) + return roles + + def test_include_import_roles_exist(self): + missing = [] + for file_path in self.files_to_scan: + with open(file_path) as f: + try: + docs = list(yaml.safe_load_all(f)) + except yaml.YAMLError: + self.fail(f"Failed to parse YAML in {file_path}") + + for doc in docs: + for role_name in self._collect_includes(doc): + # Convert Jinja2 templates and wildcards to glob patterns + pattern = re.sub(r"\{\{.*?\}\}", '*', role_name) + glob_path = os.path.join(self.roles_dir, pattern) + # Check for matching role directories + matches = [p for p in glob.glob(glob_path) if os.path.isdir(p)] + if not matches: + missing.append((file_path, role_name)) + + if missing: + messages = [f"File '{fp}' references missing role '{rn}'" for fp, rn in missing] + self.fail("\n".join(messages)) + +if __name__ == '__main__': + unittest.main() diff --git a/tests/unit/README.md b/tests/unit/README.md index c5c2f933..8817331c 100644 --- a/tests/unit/README.md +++ b/tests/unit/README.md @@ -1,6 +1,6 @@ # Unit Tests -This directory contains unit tests for various custom components in the project, such as the custom lookup plugin `docker_cards` used in the `docker-portfolio` role. +This directory contains unit tests for various custom components in the project, such as the custom lookup plugin `docker_cards` used in the `web-app-portfolio` role. ## Overview @@ -31,7 +31,7 @@ You can run the tests using one of the following methods: ## How It Works - **Setup:** - The test script creates a temporary directory to simulate your roles folder. It then creates a sample role (`docker-portfolio`) with a `README.md` file (containing a header for the title) and a `meta/main.yml` file (with the required metadata). + The test script creates a temporary directory to simulate your roles folder. It then creates a sample role (`web-app-portfolio`) with a `README.md` file (containing a header for the title) and a `meta/main.yml` file (with the required metadata). - **Execution:** Dummy variable values for `domains` and `applications` are provided (these are the variables the lookup plugin expects). The lookup plugin is then run, which processes the sample role and returns the card information. diff --git a/tests/unit/cli/test_create_docker_role.py b/tests/unit/cli/test_create_web_app.py similarity index 99% rename from tests/unit/cli/test_create_docker_role.py rename to tests/unit/cli/test_create_web_app.py index b6f68acc..fb5fe8fe 100644 --- a/tests/unit/cli/test_create_docker_role.py +++ b/tests/unit/cli/test_create_web_app.py @@ -6,7 +6,7 @@ import tempfile from ruamel.yaml import YAML # Import functions to test; adjust path as needed -from cli.create_docker_role import ( +from cli.create_web_app import ( get_next_network, get_next_port, load_yaml_with_comments, diff --git a/tests/unit/cli/test_generate_applications_defaults_users.py b/tests/unit/cli/test_generate_applications_defaults_users.py index 20f8a93d..946337df 100644 --- a/tests/unit/cli/test_generate_applications_defaults_users.py +++ b/tests/unit/cli/test_generate_applications_defaults_users.py @@ -14,7 +14,7 @@ class TestGenerateDefaultApplicationsUsers(unittest.TestCase): self.roles_dir.mkdir() # Sample role with users meta - self.role = self.roles_dir / "docker-app-with-users" + self.role = self.roles_dir / "web-app-app-with-users" (self.role / "vars").mkdir(parents=True) (self.role / "meta").mkdir(parents=True) diff --git a/tests/unit/cli/test_generate_default_applications.py b/tests/unit/cli/test_generate_default_applications.py index 5683952c..1ce8f2f3 100644 --- a/tests/unit/cli/test_generate_default_applications.py +++ b/tests/unit/cli/test_generate_default_applications.py @@ -15,7 +15,7 @@ class TestGenerateDefaultApplications(unittest.TestCase): self.roles_dir.mkdir() # Sample role - self.sample_role = self.roles_dir / "docker-testapp" + self.sample_role = self.roles_dir / "web-app-testapp" (self.sample_role / "vars").mkdir(parents=True) # Write application_id and configuration diff --git a/tests/unit/filter_plugins/test_bridge_filters.py b/tests/unit/filter_plugins/test_bridge_filters.py index 958250f3..8fa95124 100644 --- a/tests/unit/filter_plugins/test_bridge_filters.py +++ b/tests/unit/filter_plugins/test_bridge_filters.py @@ -5,7 +5,7 @@ import unittest sys.path.insert( 0, os.path.abspath( - os.path.join(os.path.dirname(__file__), "../../../roles/docker-matrix/filter_plugins") + os.path.join(os.path.dirname(__file__), "../../../roles/web-app-matrix/filter_plugins") ), ) diff --git a/tests/unit/lookup_plugins/test_application_gid.py b/tests/unit/lookup_plugins/test_application_gid.py index f7aa8980..d8a25109 100644 --- a/tests/unit/lookup_plugins/test_application_gid.py +++ b/tests/unit/lookup_plugins/test_application_gid.py @@ -23,10 +23,10 @@ class TestApplicationGidLookup(unittest.TestCase): # Define mock application_ids self.applications = { - "nextcloud": "docker-nextcloud", - "moodle": "docker-moodle", - "wordpress": "docker-wordpress", - "taiga": "docker-taiga" + "nextcloud": "web-app-nextcloud", + "moodle": "web-app-moodle", + "wordpress": "web-app-wordpress", + "taiga": "web-app-taiga" } # Create fake role dirs and vars/main.yml diff --git a/tests/unit/lookup_plugins/test_docker_cards.py b/tests/unit/lookup_plugins/test_docker_cards.py index c42c7ff2..a2a1d79d 100644 --- a/tests/unit/lookup_plugins/test_docker_cards.py +++ b/tests/unit/lookup_plugins/test_docker_cards.py @@ -4,8 +4,8 @@ import tempfile import shutil import unittest -# Adjust the PYTHONPATH to include the lookup_plugins folder from the docker-portfolio role. -sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../../roles/docker-portfolio/lookup_plugins')) +# Adjust the PYTHONPATH to include the lookup_plugins folder from the web-app-portfolio role. +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../../roles/web-app-portfolio/lookup_plugins')) from docker_cards import LookupModule @@ -13,8 +13,8 @@ class TestDockerCardsLookup(unittest.TestCase): def setUp(self): # Create a temporary directory to simulate the roles directory. self.test_roles_dir = tempfile.mkdtemp(prefix="test_roles_") - # Create a sample role "docker-portfolio". - self.role_name = "docker-portfolio" + # Create a sample role "web-app-portfolio". + self.role_name = "web-app-portfolio" self.role_dir = os.path.join(self.test_roles_dir, self.role_name) os.makedirs(os.path.join(self.role_dir, "meta")) diff --git a/tests/unit/roles/maintenance-docker-storage-optimizer/__init__.py b/tests/unit/roles/maintenance-docker-storage-optimizer/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/roles/system-storage-optimizer/test_storage_optimizer.py b/tests/unit/roles/maintenance-docker-storage-optimizer/test_storage_optimizer.py similarity index 94% rename from tests/unit/roles/system-storage-optimizer/test_storage_optimizer.py rename to tests/unit/roles/maintenance-docker-storage-optimizer/test_storage_optimizer.py index 33b0c58a..1c8e5678 100644 --- a/tests/unit/roles/system-storage-optimizer/test_storage_optimizer.py +++ b/tests/unit/roles/maintenance-docker-storage-optimizer/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', 'system-storage-optimizer', 'files', 'system-storage-optimizer.py' + '..', "..", "..","..",'roles', 'maintenance-docker-storage-optimizer', 'files', 'maintenance-docker-storage-optimizer.py' )) spec = importlib.util.spec_from_file_location('storage_optimizer', module_path) optimizer = importlib.util.module_from_spec(spec) diff --git a/tests/unit/roles/service-openldap/__init__.py b/tests/unit/roles/service-openldap/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/roles/docker-ldap/test_build_ldap_role_entries.py b/tests/unit/roles/service-openldap/test_build_ldap_role_entries.py similarity index 98% rename from tests/unit/roles/docker-ldap/test_build_ldap_role_entries.py rename to tests/unit/roles/service-openldap/test_build_ldap_role_entries.py index e335fffa..9d575b5f 100644 --- a/tests/unit/roles/docker-ldap/test_build_ldap_role_entries.py +++ b/tests/unit/roles/service-openldap/test_build_ldap_role_entries.py @@ -5,7 +5,7 @@ import importlib.util # Dynamisch den Filter-Plugin Pfad hinzufügen current_dir = os.path.dirname(__file__) -filter_plugin_path = os.path.abspath(os.path.join(current_dir, "../../../../roles/docker-ldap/filter_plugins")) +filter_plugin_path = os.path.abspath(os.path.join(current_dir, "../../../../roles/service-openldap/filter_plugins")) # Modul dynamisch laden spec = importlib.util.spec_from_file_location("build_ldap_role_entries", os.path.join(filter_plugin_path, "build_ldap_role_entries.py"))