- sys-front-inj-all: load web-svc-cdn and web-svc-logout once; reinitialize inj_enabled after services; move run_once block to top; reorder injections. - sys-front-inj-css: move run_once call into 01_core; fix app_style_present default; simplify main. - sys-front-inj-desktop/js/matomo: deactivate per-role run_once blocks; keep utils/run_once where appropriate. - sys-front-inj-logout: switch to files/logout.js + copy; update head_sub mtime lookup; mark set_fact tasks unchanged. - sys-svc-cdn: inline former 01_core tasks into main; ensure shared/vendor dirs and set run_once in guarded block; remove 01_core.yml. Rationale: prevent cascading 'false_condition: run_once_sys_svc_cdn is not defined' skips by setting run-once facts only after the necessary tasks and avoiding parent-scope guards; improves determinism and handler flushing. Conversation: https://chatgpt.com/share/68ecfaa5-94a0-800f-b1b6-2b969074651f
🌐 Global JavaScript Injector for Nginx
Description
This Ansible role injects a custom JavaScript snippet into all HTML responses served by Nginx. It leverages Nginx’s sub_filter to seamlessly insert your application-specific script just before the closing </head> tag, ensuring that your code runs on every page load—perfect for global feature flags, analytics, or UI enhancements.
Features
-
One-line Script Injection
Collapses your JavaScript into a single line and injects it viasub_filterfor minimal footprint and maximal compatibility. -
Easy CSP Integration
Automatically computes and appends a CSP hash entry for your script, so you can lock down Content Security Policy without lifting a finger. -
Conditional Activation
Activates only when you enable thejavascriptfeature for a given application, keeping your server blocks clean and performant. -
Debug Mode
Supports anMODE_DEBUGflag that appends optionalconsole.logstatements for easier troubleshooting in staging or development.
Author
Developed by Kevin Veen-Birkenbach Consulting & Coaching Solutions — veen.world
Happy automating! 🎉