# 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: - [Application Glossary](application_glosar.rst) - [Application Categories](application_categories.rst) --- ## Core & System - **core-*** Fundamental system configuration (SSH, journald, sudo, etc.) - **gen-*** Generic helpers and language/tool installers (e.g. `gen-git`, `gen-locales`, `gen-timer`) - **desk-*** Desktop environment and application roles (e.g. `desk-gnome`, `desk-browser`, `desk-libreoffice`) --- ## Webserver & HTTP - **srv-web-7-4-core** Installs and configures the base Nginx server. - **srv-web-6-6-tls-*** Manages TLS certificates and renewal (formerly “https”; e.g. `srv-web-6-6-tls-deploy`, `srv-web-6-6-tls-renew`). - **srv-web-proxy-*** Proxy and vhost orchestration roles (domain setup, OAuth2 proxy, etc.) - **srv-web-7-7-inj-*** HTML response modifiers: CSS, JS, Matomo tracking, iframe notifier. - **srv-web-7-6-composer** Aggregates multiple sub-filters into one include for your vhost. - **web-svc-*** Static‐content servers (assets, HTML, legal pages, file hosting). - **web-app-*** Application-specific Docker/Compose roles (e.g. GitLab, Nextcloud, Mastodon, Redis). --- ## Network - **net-*** Network infrastructure (DNS records, Let’s Encrypt HTTP entrypoints, WireGuard, etc.) - **svc-*** Docker-deployed services that aren’t “apps” (RDBMS, LDAP, Redis, OpenLDAP). --- ## Monitoring & Alerting - **mon-bot-*** “Bot”-style health checks (Btrfs, disk‐space, Docker, journalctl, CSP crawler, webserver) with alerts. - **monitor-core-*** Low-level system monitors (journalctl, Docker containers, disk space, etc.) - **alert-*** Notification handlers for failures (core, email, Telegram). --- ## Maintenance & Healing - **maint-*** Periodic maintenance tasks (Btrfs balancing, swapfile management, etc.) - **maint-docker-*** Automated recovery and restarts for Docker Compose workloads. - **cln-*** Housekeeping tasks (old backups, expired certs, log rotation). --- ## Backup & Restore - **bkp-*** 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, etc.) --- ## Users & Access - **user-*** Creates user accounts and SSH keys. - **user-administrator**, **user-root** Specialized configurations for privileged users. --- > **Tip:** To find a role quickly, search for its prefix: > `core-`, `gen-`, `desk-`, `srv-web-`, `web-svc-`, `web-app-`, > `net-`, `svc-`, `mon-bot-`, `monitor-core-`, `alert-`, > `maint-`, `maint-docker-`, `cln-`, `bkp-`, `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)._