162 Commits

Author SHA1 Message Date
f36c7831b1 Implement dynamic TimeoutStartSec filter for domains and update roles
- Added new filter plugin 'timeout_start_sec_for_domains' to calculate TimeoutStartSec based on number of domains.
- Updated sys-ctl-hlth-csp and sys-ctl-hlth-webserver tasks to use the filter.
- Removed obsolete systemctl.service.j2 in sys-ctl-hlth-csp.
- Adjusted variable naming (CURRENT_PLAY_DOMAINS_ALL etc.) in multiple roles.
- Updated srv-letsencrypt and sys-svc-certs to use uppercase vars.
- Switched pretix role to sys-stk-full-stateful and removed leftover javascript.js.
- Added unittests for the new filter under tests/unit/filter_plugins.

See conversation: https://chatgpt.com/share/68b1ae9a-1ac0-800f-b49d-2915386a1a23
2025-08-29 15:44:31 +02:00
5287bb4d74 Refactor Akaunting role and CSP handling
- Improved CSP filter to properly include web-svc-cdn and use protocol-aware domains
- Added Todo.md with redis and OIDC notes
- Enhanced Akaunting role config with CSP flags and redis option
- Updated schema to include app_key validation
- Reworked tasks to handle first-run marker logic cleanly
- Fixed docker-compose template (marker, healthcheck, setup flag)
- Expanded env.j2 with cache, email, proxy, and redis options
- Added javascript.js.j2 template for SSO warning
- Introduced structured vars for Akaunting role
- Removed deprecated update-repository-with-files.yml task

See conversation: https://chatgpt.com/share/68af00df-2c74-800f-90b6-6ac5b29acdcb
2025-08-27 14:58:44 +02:00
3df511aee9 Changed constructor order. emails need to be defned before users 2025-08-20 18:54:44 +02:00
6d70f78989 fix(domain-filters): support dependency expansion via seed param
- Added missing 'Iterable' import in 'canonical_domains_map' to avoid NameError.
- Introduced 'seed' parameter so the filter can start traversal from current play apps
  while still emitting canonical domains for discovered dependencies (e.g. web-svc-collabora).
- Updated 01_constructor.yml to pass full 'applications' and a clean 'seed' list
  (using dict2items → key) instead of '.keys()' method calls, fixing integration
  test error: 'reference to application keys is invalid'.

This resolves issues where collabora domains were missing and integration tests failed.

Ref: https://chatgpt.com/share/68a51f9b-3924-800f-a41b-803d8dd10397
2025-08-20 03:07:14 +02:00
a10dd402b8 refactor: improve service handling and introduce MODE_ASSERT
- Improved get_service_name filter plugin (clearer suffix handling, consistent var names).
- Added MODE_ASSERT flag to optionally execute validation/assertion tasks.
- Fixed systemd unit handling: consistent use of %I instead of %i, correct escaping of instance names.
- Unified on_failure behavior and alarm composer scripts.
- Cleaned up redundant logging, handlers, and debug config.
- Strengthened sys-service template resolution with assert (only active when MODE_ASSERT).
- Simplified timer and suffix handling with get_service_name filter.
- Hardened sensitive tasks with no_log.
- Added conditional asserts across roles (Keycloak, DNS, Mailu, Discourse, etc.).

These changes improve consistency, safety, and validation across the automation stack.

Conversation: https://chatgpt.com/share/68a4ae28-483c-800f-b2f7-f64c7124c274
2025-08-19 19:02:52 +02:00
d3cc187c3b Made System Email Variables UPPER 2025-08-19 09:34:18 +02:00
dc0bb555c1 Added another group_names validation 2025-08-18 21:37:07 +02:00
2569abc0be Refactor systemctl services and timers
- Unified service templates into generic systemctl templates
- Introduced reusable filter plugins for script path handling
- Updated path variables and service/timer definitions
- Migrated roles (backup, cleanup, repair, etc.) to use systemctl role
- Added sys-daemon role for core systemd cleanup
- Simplified timer handling via sys-timer role

Note: This is a large refactor and some errors may still exist. Further testing and adjustments will be needed.
2025-08-18 21:22:16 +02:00
3a839cfe37 Refactor systemctl services and categories due to alarm bugs
This commit restructures systemctl service definitions and category mappings.

Motivation: Alarm-related bugs revealed inconsistencies in service and role handling.

Preparation step: lays the groundwork for fixing the alarm issues by aligning categories, roles, and service templates.
2025-08-18 13:35:43 +02:00
0de26fa6c7 Solved bug existed due to difference between mailu domain and hostname difference. also refactored during this to find the bug 2025-08-16 14:29:07 +02:00
f0b323afee Added auto snippet for webserver injection 2025-08-16 01:31:49 +02:00
022800425d THE HUGE REFACTORING CALENDER WEEK 33; Optimized Matrix and during this updated variables, and implemented better reset and cleanup mode handling, also solved some initial setup bugs 2025-08-15 15:15:48 +02:00
0228014d34 Replaced .infinito.service and .infinito.timer by SOFTWARE_NAME suffix, optimized LICENSE link and update OIDC Realm and ID conf 2025-08-14 14:39:18 +02:00
db0e030900 Renamed general and mode constants and implemented a check to verify that constants are just defined ones over the whole repository 2025-08-13 19:11:14 +02:00
a30cd4e8b5 Solved listmonk handler bugs 2025-08-12 04:38:41 +02:00
22c8c395f0 Refactored handlers loading 2025-08-08 19:01:12 +02:00
aae69ea15b Ensure that keycloak is up 2025-08-08 17:25:31 +02:00
c7b25ed093 Normalized run_once_, made openresty handlers without when aviable and forced flush in run_once when blocks to avoid handlers with when conditions 2025-08-08 15:32:26 +02:00
eedfe83ece Solved missing redirect bug 2025-08-08 11:03:43 +02:00
44e0fea0b2 Renamed cymais to infinito and did some other optimations and logout implementations 2025-07-29 16:35:42 +02:00
f62355e490 Replaced nginx native with openresty for logout injection. Right now still buggy on nextcloud and espocrm 2025-07-24 03:19:16 +02:00
356c214718 Renamed multiple roles incl. oauth2 to to web-app-* 2025-07-21 11:28:54 +02:00
d86ca6cc0e Adapted discourse version to new code after the big refactoring 2025-07-20 09:29:56 +02:00
fd637c58e3 Solved oauth2 path bugs 2025-07-17 05:49:45 +02:00
af3ea9039c Restructure and cleaned up in preparation of new backup logic 2025-07-15 23:51:51 +02:00
cb9a7b2ade used set_fact 2025-07-15 18:17:42 +02:00
bb7859ab44 Optimized update roles 2025-07-15 15:18:07 +02:00
8f31b2fbfe Execute Matomo before other roles 2025-07-13 21:10:20 +02:00
756597668c Semi bsr for applications[] to prevent heavy to debug bugs in j2 - part 1 2025-07-13 15:11:38 +02:00
a18e888044 Implemented new matomo setup 2025-07-13 12:58:10 +02:00
f744747cef Added some variable debugging tools 2025-07-13 02:57:03 +02:00
066b4d59d6 Optimized rdr roles 2025-07-12 18:59:07 +02:00
f15f498c1d Restructured webserver optimation roles 2025-07-12 18:08:44 +02:00
32dc27aebd Optimized categories and passed all unit tests 2025-07-12 17:47:35 +02:00
e174523fc6 Solved collection dependency bug 2025-07-12 13:42:45 +02:00
c09dec8b0f Moved sys-opt-ssd-hdd to a callable version in svc-opt-ssd-hdd 2025-07-12 11:42:25 +02:00
44834f9873 Added more debugging stuff 2025-07-11 21:04:55 +02:00
25e4a50974 Cleaning up of gen roles 2025-07-11 19:19:24 +02:00
33276263b0 Another bulk of refaktoring cleanup 2025-07-11 18:57:40 +02:00
168c5c0da6 Another big round of refactoring and cleaning... 2025-07-11 17:55:26 +02:00
aa61bf2a44 Removed unecessary application_id s 2025-07-11 15:25:58 +02:00
691b204512 Added validation for get_domain calls 2025-07-11 03:05:41 +02:00
7fba13b550 Solved wrong namings 2025-07-11 02:59:25 +02:00
80d26ca068 Validated use of correct applications in group_names 2025-07-11 01:53:38 +02:00
d43fdc63ea Optimized inventory validator for wrong groups 2025-07-11 01:34:44 +02:00
6e32b20240 Finished new role identification system implementation 2025-07-11 00:42:36 +02:00
292918da81 Implemented auto creation of role groups 2025-07-10 23:40:18 +02:00
4de60d4162 Optimized cli script 2025-07-10 21:40:57 +02:00
e794da47e2 Renamed desk roles and added vars/main.yml files where mising 2025-07-10 14:19:59 +02:00
5a3535187a Restructured service und web role naming in inventor 2025-07-10 14:01:12 +02:00