Kevin Veen-Birkenbach 79e702a3ab
web-svc-collabora: localize vars, adjust CSP, fix systemd perms; refactor role composition
- sys-service:
  - Set explicit ownership and permissions for generated unit files:
    owner=root, group=root, mode=0644. Prevents drift and makes idempotence
    predictable when handlers reload/refresh systemd.

- web-svc-collabora:
  - Move cmp-docker-proxy include into tasks/01_core.yml and run it
    before Nginx config generation. Use public: true only to initialize the
    proxy/compose context and docker_compose_flush_handlers: true to ensure
    timely handler execution.
  - Define role-local variables domain and http_port in vars/main.yml
    and use {{ domain }} for the Nginx server file path. These values MUST
    be defined locally because they cannot be reliably imported via
    public: true — other roles may override them later in the play, leading
    to leakage and nondeterministic behavior. Localizing avoids precedence
    conflicts without resorting to host-wide set_fact.
  - CSP adjusted: add server.security.flags.style-src.unsafe-inline: true
    to accommodate Collabora’s inline styles (requested as “csr” in notes).
  - Minor variable alignment/cleanup and TODO note for future refactor.

- Housekeeping:
  - Rename task title to reflect {{ domain }} usage.

Refs:
- Discussion and rationale in this chat https://chatgpt.com/share/68a731aa-d394-800f-9eb4-2499f45ed54b (2025-08-21, Europe/Berlin).
2025-08-21 16:48:37 +02:00
..

sys-service

Description

Role to manage systemd service units for Infinito.Nexus software stacks.
It installs or removes unit files, configures runtime behavior, and ensures services are properly deployed.

Overview

  • Resets service units by removing old or obsolete definitions.
  • Deploys new service unit files and service scripts.
  • Optionally sets up timers linked to the services.
  • Ensures correct reload/restart behavior across the stack.

Features

  • Unit Cleanup: Automated removal of old service units.
  • Custom Templates: Supports both systemctl.service.j2 and systemctl@.service.j2.
  • Timers: Integrates with sys-timer for scheduled execution.
  • Runtime Limits: Configurable RuntimeMaxSec per service.
  • Handlers: Automatic reload/restart of services when definitions change.

Further Resources