mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-27 05:55:15 +02: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.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
andnginx-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
MODE_DEBUG: true
and reload Nginx.