mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-10-31 18:29:21 +00:00
- Improved get_service_name filter plugin (clearer suffix handling, consistent var names). - Added MODE_ASSERT flag to optionally execute validation/assertion tasks. - Fixed systemd unit handling: consistent use of %I instead of %i, correct escaping of instance names. - Unified on_failure behavior and alarm composer scripts. - Cleaned up redundant logging, handlers, and debug config. - Strengthened sys-service template resolution with assert (only active when MODE_ASSERT). - Simplified timer and suffix handling with get_service_name filter. - Hardened sensitive tasks with no_log. - Added conditional asserts across roles (Keycloak, DNS, Mailu, Discourse, etc.). These changes improve consistency, safety, and validation across the automation stack. Conversation: https://chatgpt.com/share/68a4ae28-483c-800f-b2f7-f64c7124c274
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.conftemplating. - 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
nginxandnginx-mod-stream. - Idempotent setup: tasks run only once per host.
- Configurable reset and cleanup modes to purge and recreate directories.
- Custom
nginx.conftemplate with sensible defaults for performance and security. - Stream proxy support: includes
streamblock 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
MODE_DEBUG: trueand reload Nginx.