mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-07 18:57:12 +02:00
Refactor srv-web-7-7-inj-port-ui-desktop to use CDN-served JS file with inline initializer
- Added vars/main.yml to define iframe-handler.js file name and destination - Implemented 01_deploy.yml to deploy iframe-handler.js to CDN and set mtime-based version fact - Split original iframe logic into: • iframe-handler.js (full logic, served from CDN) • iframe-init_one_liner.js.j2 (small inline bootstrap, CSP-hashed) - Updated head_sub.j2 to load script from CDN instead of embedding full code - Added body_sub.j2 for inline init code - Updated iframe-handler.js.j2 with initIframeHandler() function and global exposure - Activated role earlier in inj-compose with public: true so vars are available for templates - Included 'port-ui-desktop' in body_snippets loop in location.lua.j2 - Disabled 'port-ui-desktop' feature in web-svc-cdn config by default https://chatgpt.com/share/689d03a8-4c28-800f-8b06-58ce2807b075
This commit is contained in:
@@ -15,6 +15,12 @@
|
||||
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 Portfolio iFrame notifier for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-port-ui-desktop
|
||||
public: true # Expose variables so that they can be used in template
|
||||
when: inj_enabled.port_ui
|
||||
|
||||
- name: "Load CDN for {{domain}}"
|
||||
include_role:
|
||||
name: web-svc-cdn
|
||||
@@ -56,11 +62,6 @@
|
||||
name: srv-web-7-7-inj-matomo
|
||||
when: inj_enabled.matomo
|
||||
|
||||
- name: "Activate Portfolio iFrame notifier for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-port-ui-desktop
|
||||
when: inj_enabled.port_ui
|
||||
|
||||
- name: "Activate Javascript for {{ domain }}"
|
||||
include_role:
|
||||
name: srv-web-7-7-inj-javascript
|
||||
|
@@ -58,7 +58,7 @@ body_filter_by_lua_block {
|
||||
-- build a list of body-injection snippets
|
||||
local body_snippets = {}
|
||||
|
||||
{% for body_feature in ['matomo', 'logout' ] %}
|
||||
{% for body_feature in ['matomo', 'logout', 'port-ui-desktop'] %}
|
||||
{% if applications | get_app_conf(application_id, 'features.' ~ body_feature, false) | bool %}
|
||||
body_snippets[#body_snippets + 1] = [=[
|
||||
{%- include "roles/srv-web-7-7-inj-" ~ body_feature ~ "/templates/body_sub.j2" -%}
|
||||
|
Reference in New Issue
Block a user