mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-26 21:45:20 +02:00
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).
This commit is contained in:
parent
9180182d5b
commit
79e702a3ab
@ -32,6 +32,9 @@
|
||||
template:
|
||||
src: "{{ system_service_template_src }}"
|
||||
dest: "{{ [ PATH_SYSTEM_SERVICE_DIR, system_service_id | get_service_name(SOFTWARE_NAME) ] | path_join }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
notify: "{{ 'reload system daemon' if system_service_uses_at else 'refresh systemctl service' }}"
|
||||
|
||||
- name: refresh systemctl service when SYS_SERVICE_ALL_ENABLE
|
||||
|
@ -6,6 +6,9 @@ server:
|
||||
whitelist:
|
||||
frame-ancestors:
|
||||
- "{{ WEB_PROTOCOL }}://*.{{ PRIMARY_DOMAIN }}"
|
||||
flags:
|
||||
style-src:
|
||||
unsafe-inline: true
|
||||
docker:
|
||||
services:
|
||||
redis:
|
||||
|
@ -1,7 +1,14 @@
|
||||
- name: "generate {{ domains | get_domain(application_id) }}.conf"
|
||||
- name: "load docker, proxy for '{{ application_id }}'"
|
||||
include_role:
|
||||
name: cmp-docker-proxy
|
||||
public: true
|
||||
vars:
|
||||
docker_compose_flush_handlers: true
|
||||
|
||||
- name: "generate {{ domain }}.conf"
|
||||
template:
|
||||
src: "nginx.conf.j2"
|
||||
dest: "{{ NGINX.DIRECTORIES.HTTP.SERVERS }}{{ domains | get_domain(application_id) }}.conf"
|
||||
dest: "{{ NGINX.DIRECTORIES.HTTP.SERVERS }}{{ domain }}.conf"
|
||||
notify: restart openresty
|
||||
|
||||
- name: Update Collabora systemplate to include new fonts
|
||||
|
@ -1,9 +1,4 @@
|
||||
- block:
|
||||
- name: "load docker, proxy for '{{ application_id }}'"
|
||||
include_role:
|
||||
name: cmp-docker-proxy
|
||||
vars:
|
||||
docker_compose_flush_handlers: true
|
||||
- name: "Load core functions for '{{ application_id }}'"
|
||||
include_tasks: 01_core.yml
|
||||
- include_tasks: utils/run_once.yml
|
||||
|
@ -1,6 +1,11 @@
|
||||
---
|
||||
# General
|
||||
application_id: web-svc-collabora
|
||||
|
||||
# @todo in a later step it makes sense to refactor the use of them, but they are used atm in the role
|
||||
domain: "{{ domains | get_domain(application_id) }}"
|
||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
||||
|
||||
# Container
|
||||
container_port: 9980
|
||||
container_healthcheck: "/hosting/discovery"
|
||||
|
Loading…
x
Reference in New Issue
Block a user