mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-04 09:21:42 +02:00
Renamed cymais to infinito and did some other optimations and logout implementations
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
galaxy_info:
|
||||
author: "Kevin Veen-Birkenbach"
|
||||
description: "Core role for Nginx HTML injection of Matomo, theming, iFrame and JS snippets based on application feature flags."
|
||||
license: "CyMaIS NonCommercial License (CNCL)"
|
||||
license: "Infinito.Nexus NonCommercial License (CNCL)"
|
||||
license_url: "https://s.veen.world/cncl"
|
||||
company: |
|
||||
Kevin Veen-Birkenbach
|
||||
@@ -13,9 +13,9 @@ galaxy_info:
|
||||
- injector
|
||||
- matomo
|
||||
- theming
|
||||
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/srv-web-7-7-inj-compose"
|
||||
repository: "https://github.com/kevinveenbirkenbach/infinito-nexus"
|
||||
issue_tracker_url: "https://github.com/kevinveenbirkenbach/infinito-nexus/issues"
|
||||
documentation: "https://github.com/kevinveenbirkenbach/infinito-nexus/tree/main/roles/srv-web-7-7-inj-compose"
|
||||
min_ansible_version: "2.9"
|
||||
platforms:
|
||||
- name: Any
|
||||
|
@@ -1,26 +1,51 @@
|
||||
# run_once_srv_web_7_7_inj_compose: deactivated
|
||||
|
||||
- name: Set inj_enabled dictionary
|
||||
set_fact:
|
||||
inj_enabled:
|
||||
javascript: "{{ applications | get_app_conf(application_id, 'features.javascript', False) }}"
|
||||
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == primary_domain) }}"
|
||||
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
||||
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
||||
port_ui: "{{ applications | get_app_conf(application_id, 'features.port-ui-desktop', False) }}"
|
||||
|
||||
- name: "Load CDN for {{domain}}"
|
||||
include_role:
|
||||
name: web-svc-cdn
|
||||
public: false
|
||||
# ATM just the Logout is using the CDN.
|
||||
when: inj_enabled.logout and application_id != 'web-svc-cdn'
|
||||
|
||||
- name: Set inj_enabled dictionary
|
||||
set_fact:
|
||||
inj_enabled:
|
||||
javascript: "{{ applications | get_app_conf(application_id, 'features.javascript', False) }}"
|
||||
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == primary_domain) }}"
|
||||
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
||||
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
||||
port_ui: "{{ applications | get_app_conf(application_id, 'features.port-ui-desktop', False) }}"
|
||||
|
||||
- name: "Activate Global CSS for {{domain}}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-css
|
||||
when: applications | get_app_conf(application_id, 'features.css', False)
|
||||
when: inj_enabled.css
|
||||
|
||||
- name: "Activate Global Matomo Tracking for {{domain}}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-matomo
|
||||
when: applications | get_app_conf(application_id, 'features.matomo', False)
|
||||
when: inj_enabled.matomo
|
||||
|
||||
- name: "Activate Portfolio iFrame notifier for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-port-ui-desktop
|
||||
when: applications | get_app_conf(application_id, 'features.port-ui-desktop', False)
|
||||
when: inj_enabled.port_ui
|
||||
|
||||
- name: "Activate Javascript for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-javascript
|
||||
when: applications | get_app_conf(application_id, 'features.javascript', False)
|
||||
when: inj_enabled.javascript
|
||||
|
||||
- name: "Activate logout proxy for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-logout
|
||||
when: applications | get_app_conf(application_id, 'features.logout', False)
|
||||
when: inj_enabled.logout
|
||||
|
@@ -33,14 +33,11 @@ body_filter_by_lua_block {
|
||||
-- on eof: concatenate all buffered chunks
|
||||
local whole = table.concat(ngx.ctx.buf)
|
||||
ngx.ctx.buf = nil -- clear buffer
|
||||
{# whole = string.gsub(whole, "</body>", "<!-- injected text2 -->\n</body>")
|
||||
ngx.arg[1] = whole #}
|
||||
|
||||
-- build a list of head-injection snippets
|
||||
local head_snippets = {}
|
||||
|
||||
{# Deactivated 'logout' temporary due to chunk size. Needs an CDN. #}
|
||||
{% for head_feature in ['css', 'matomo', 'port-ui-desktop', 'javascript' ] %}
|
||||
{% for head_feature in ['css', 'matomo', 'port-ui-desktop', 'javascript', 'logout' ] %}
|
||||
{% if applications | get_app_conf(application_id, 'features.' ~ head_feature, false) | bool %}
|
||||
head_snippets[#head_snippets + 1] = [=[
|
||||
{%- include "roles/srv-web-7-7-inj-" ~ head_feature ~ "/templates/head_sub.j2" -%}
|
||||
@@ -52,7 +49,7 @@ body_filter_by_lua_block {
|
||||
local head_payload = table.concat(head_snippets, "\n") .. "</head>"
|
||||
whole = string.gsub(whole, "</head>", head_payload)
|
||||
|
||||
{% if applications | get_app_conf(application_id, 'features.matomo', false) | bool %}
|
||||
{% if inj_enabled.matomo | bool %}
|
||||
-- build Matomo noscript snippet for the body
|
||||
local body_matomo = [=[
|
||||
{%- include 'roles/srv-web-7-7-inj-matomo/templates/body_sub.j2' -%}
|
||||
|
@@ -1,9 +1,7 @@
|
||||
{% set modifier_css_enabled = applications | get_app_conf(application_id, 'features.css', false) | bool %}
|
||||
{% if modifier_css_enabled %}
|
||||
{%- include 'roles/srv-web-7-7-inj-css/templates/location.conf.j2' -%}
|
||||
{% if inj_enabled.css %}
|
||||
{% include 'roles/srv-web-7-7-inj-css/templates/location.conf.j2' %}
|
||||
{% endif %}
|
||||
|
||||
{% set modifier_logout_enabled = applications | get_app_conf(application_id, 'features.logout', False) or domain == primary_domain %}
|
||||
{% if modifier_logout_enabled %}
|
||||
{% if inj_enabled.logout %}
|
||||
{% include 'roles/web-svc-logout/templates/logout-proxy.conf.j2' %}
|
||||
{% endif %}
|
Reference in New Issue
Block a user