Commit Graph
14682 Commits
Author SHA1 Message Date
kevinveenbirkenbach a3ceb4c7a7 fix(web-svc-onlyoffice): raise memory and pids limits to stabilize CI startup
Increase *mem_limit* from 2g to 4g and *pids_limit* from 2048 to 8192 to mitigate intermittent startup failures and 502 errors in CI caused by resource constraints during OnlyOffice initialization.

https://chatgpt.com/share/698cffcb-e4a8-800f-a674-22bdfad0a765
2026-02-11 23:16:35 +01:00
kevinveenbirkenbach 2f74257019 Also test fix branches 2026-02-11 19:19:05 +01:00
kevinveenbirkenbach 69fe64f5ed Release version 3.0.0 v3.0.0 2026-02-11 18:13:55 +01:00
kevinveenbirkenbach 78058f4689 Merge pull request #88 from kevinveenbirkenbach/feature/server-workstation-merge
Feature/server workstation merge
2026-02-11 18:06:57 +01:00
kevinveenbirkenbach 7f218d987c refactor(svc-prx-openresty): move image/version to config and resolve via config lookup in vars
* add `image` and `version` to compose.services.openresty in config/main.yml
* replace hardcoded OPENRESTY_IMAGE and OPENRESTY_VERSION in vars/main.yml
* resolve image and version dynamically via `lookup('config', ...)`
* align role with centralized config-driven image management pattern

https://chatgpt.com/share/698c9d3f-5ea0-800f-9fef-1a5b7e4c8b60
2026-02-11 16:16:05 +01:00
kevinveenbirkenbach 25f9383ac9 fix(web-app-matomo): simplify healthcheck to curl-based HTTP 200 check
Replace PHP-based healthcheck with a minimal curl command that verifies HTTP 200 on /index.php.
Removes Compose interpolation issues and simplifies readiness detection for improved CI stability.

https://chatgpt.com/share/698c5823-aa44-800f-978a-df9765e7f93d
2026-02-11 12:15:07 +01:00
kevinveenbirkenbach 94f5d735ad Just show message in debug mode 2026-02-11 12:05:56 +01:00
kevinveenbirkenbach 16a57e5cc2 refactor(web-app-chess): align role with external fedi-chess image and clean compose template
* Remove custom Dockerfile and entrypoint (use published GHCR image)
* Simplify compose template to use prebuilt image
* Add credential schema for HMAC secret
* Align vars with config-based credential lookup
* Clean up redundant build-related variables and tasks

https://chatgpt.com/share/698c5332-51f0-800f-a555-fc04302d9f0d
2026-02-11 11:54:11 +01:00
kevinveenbirkenbach d47c88a4d7 fix(web-app-matomo): replace curl healthcheck with PHP-based check and increase start_period for CI stability
Switch Matomo container healthcheck from curl to an internal PHP get_headers() check to avoid dependency on curl in the official image.
Accept HTTP 200 and 302 as healthy responses and increase start_period to 60s to prevent premature unhealthy states in slower CI environments.

https://chatgpt.com/share/698c5823-aa44-800f-978a-df9765e7f93d
2026-02-11 11:21:19 +01:00
kevinveenbirkenbach 73b6d3d6ca Added mirror 2026-02-11 11:14:33 +01:00
kevinveenbirkenbach 1bb67164e0 ci: add whitelist filtering for deploy test matrix
* Replace ONLY_APP with space-separated WHITELIST across CI and local/act deploy tests
* Rename build-test-matrix.sh to scripts/meta/resolve/apps.sh and apply optional whitelist filter
* Add manual CI entry workflow to run orchestrator with distros/whitelist inputs

https://chatgpt.com/share/698c406c-0968-800f-ae84-1bcca023363c
2026-02-11 09:40:00 +01:00
kevinveenbirkenbach 9535c1e4b1 feat(web-app-matomo): replace PHP healthcheck with strict curl-based HTTP status check (200/302)
Use curl in container healthcheck to explicitly validate HTTP 200 or 302 on /index.php, including timeout handling and failure fallback. Ensures bootstrap only runs when Matomo is truly HTTP-ready and improves reliability of service_healthy dependency.

https://chatgpt.com/share/698c350e-0758-800f-9693-16797d1f177a
2026-02-11 08:51:35 +01:00
kevinveenbirkenbach 785904e9e0 Replaced docker exec by container exec 2026-02-11 08:36:58 +01:00
kevinveenbirkenbach 3e26ec74c3 fix(web-app-chess): parametrize base image and avoid immutable yarn install
- Rename compose service to align with dynamic service handling
- Pass base image and version as build args (CHESS_IMAGE/CHESS_VERSION)
- Make yarn install conditional on lockfile to prevent YN0028 failures
- Remove yarn install from runtime entrypoint to avoid startup rebuilds

https://chatgpt.com/share/698bcf8d-b540-800f-a026-93fb47180cc7
2026-02-11 01:38:31 +01:00
kevinveenbirkenbach c2449e372f refactor(lifecycle): handle universal roles via constructor and destructor only
Universal roles are now covered exclusively by the constructor and destructor
stages, removing the universal stage execution to prevent duplicate role
invocations and redundant lifecycle handling.

https://chatgpt.com/share/698bcad1-d964-800f-8e23-2ac459da8c34
2026-02-11 01:18:10 +01:00
kevinveenbirkenbach 32a6f5ac3d fix(web-app-matomo): retry bootstrap via compose and add structured debug on failure
Add retry logic with delay for the one-shot Matomo bootstrap, ensure change
is only reported on success, and provide a detailed but safe debug dump
(stdout/stderr lengths, effective compose config, env and compose files)
when the bootstrap ultimately fails.

https://chatgpt.com/share/698bc6e7-230c-800f-bd9a-b50494514db9
2026-02-11 01:01:30 +01:00
kevinveenbirkenbach b107cdf137 Reverted OnlyOffice Status Code to 308 302 2026-02-10 21:43:03 +01:00
kevinveenbirkenbach efe2ea3357 **test: align deployment type tests with invokable-based semantics**
Update unit tests to reflect the new invokable-driven classification logic by mocking invokable path discovery, removing legacy alias expectations, and adding coverage for universal and mixed cases. Also relocate CLI deploy tests into the unit test hierarchy for consistency.
2026-02-10 21:38:02 +01:00
kevinveenbirkenbach 32fe49c00f feat(cli/deploy): retry docker compose up on transient registry errors
Wrap `docker compose up` in a retry loop (6 attempts, 30s delay) to mitigate
temporary Docker Hub / registry 5xx pull failures. Add unit tests covering
success-after-retries, exhaustion behavior, and no-sleep on first success.

https://chatgpt.com/share/698b8d67-0084-800f-ad33-ec8933dfba15
2026-02-10 20:56:11 +01:00
kevinveenbirkenbach 8810f39b8c Renamed docker commands 2026-02-10 20:30:54 +01:00
kevinveenbirkenbach 7a3c44b013 refactor(invokable): derive deployment types from invokable roles via DEFAULT_RULES
- Remove alias-based group name handling from get_deployment_types_from_groups
- Make DEFAULT_RULES the single source of truth for server/workstation/universal
- Determine "universal" strictly as invokable roles not matched by server/workstation
- Update unit tests to reflect invokable-based semantics

This aligns Ansible filters and CLI behavior and avoids inventory-specific heuristics.

https://chatgpt.com/share/698b8125-d2a0-800f-9fbd-f3f9c8bc5023
2026-02-10 20:04:00 +01:00
kevinveenbirkenbach 5acce545e1 refactor(cli): remove sound, alarm and server-type flags
Drop the sound/alarm subsystem and deprecated CLI flags.

* Remove --sound, --no-signal and --alarm-timeout
* Remove server-type flag (-T / TEST_DEPLOY_TYPE)
* Delete sound-related modules
* Simplify RunConfig and runner error handling
* Update help output, scripts and tests
* Remove optional audio extras from pyproject.toml

https://chatgpt.com/share/698b74f1-0c0c-800f-98c4-183697d6a2a0
2026-02-10 19:10:37 +01:00
kevinveenbirkenbach 7cf13b34f4 Removed unnecessary link 2026-02-10 18:42:20 +01:00
kevinveenbirkenbach 3a86443218 refactor(web-svc-logout): switch to registry image and config-driven service definition
Remove git-based build of universal-logout and deploy the service via a
prebuilt container image configured through compose service metadata.
Align logout service with entity_name-based lookup and resource limits.

Also tighten OnlyOffice status code checks to require HTTP 200 responses.

https://chatgpt.com/share/698b4699-ff08-800f-b88f-26d41910c3a9
2026-02-10 15:54:07 +01:00
kevinveenbirkenbach 02295a13eb ci(meta): fix lifecycle filtering by using default lifecycle set
Remove TESTED_LIFECYCLES env handling and always apply the original
alpha/beta/rc/stable lifecycle filter when building the CI test matrix.

https://chatgpt.com/share/698b3abc-9b34-800f-8db0-8fa6023c1132
2026-02-10 15:03:31 +01:00
kevinveenbirkenbach 7c3e942fd5 Removed INCLUDE_RE 2026-02-10 14:53:31 +01:00
kevinveenbirkenbach 558ec41151 Removed EXCLUDE_RE 2026-02-10 14:51:42 +01:00
kevinveenbirkenbach 449781fa73 fix(ci): make sufficient_storage JSON-safe and stabilize test matrix generation
Switch sufficient_storage CLI to support JSON output and update CI matrix
generation to use JSON-only pipelines, preventing roles from collapsing
into a single matrix entry.
2026-02-10 14:06:54 +01:00
kevinveenbirkenbach 19e69bab6c refactor(meta): keep build-test-matrix JSON-only to prevent whitespace splitting
Refactor build-test-matrix.sh to process application lists strictly as JSON.
Remove text-based filtering and reimplement excludes and CI storage gating
using jq to avoid accidental whitespace joining and invalid app arrays.

https://chatgpt.com/share/698b19ac-9850-800f-b040-eb698d3954c4
2026-02-10 13:25:47 +01:00
kevinveenbirkenbach 2eaa566efb refactor(cli): decouple invokable discovery from Ansible filter plugins
Switch cli.meta.applications.invokable to call module_utils.invokable.list_invokable_app_ids
directly instead of using filter_plugins.get_all_invokable_apps.

This removes the Ansible filter dependency from the CLI, making invokable discovery
pure-Python, deterministic, and easier to test.

https://chatgpt.com/share/698b225f-2c2c-800f-bd0e-624e82e5460a
2026-02-10 13:19:32 +01:00
kevinveenbirkenbach bf5253f675 Shortened job name 2026-02-10 12:53:16 +01:00
kevinveenbirkenbach 7481b600a8 fix(ci): normalize build-test-matrix JSON output and prevent app name concatenation
Ensure build-test-matrix.sh always emits a single-line, valid JSON array by
quoting variables correctly and normalizing JSON output via jq -c, preventing
accidental app name concatenation in CI workflows.

https://chatgpt.com/share/698b19ac-9850-800f-b040-eb698d3954c4
2026-02-10 12:42:30 +01:00
kevinveenbirkenbach 3c8f99d53a Removed legacy args 2026-02-10 11:56:21 +01:00
kevinveenbirkenbach df9a23ceed feat(ci): unify invokable app discovery and add lifecycle filtering
- Move server/workstation/universal resolution into Python CLI
- Add optional --lifecycles filter to cli.meta.applications.type
- Gate invokable roles by galaxy_info.lifecycle in module_utils.invokable
- Replace legacy resolve-invokable-roles.sh with CLI-based implementation
- Apply global hard excludes consistently across all deploy types
- Fix SC2086 issues and make lifecycle argument handling shell-safe
- Extend unit tests to cover lifecycle forwarding and normalization

https://chatgpt.com/share/698b0039-c4c4-800f-b962-7033324c07a8
2026-02-10 11:50:09 +01:00
kevinveenbirkenbach c6ba2f2e41 ci: skip branch-creation runs and drive release logic by commit tags
- Skip CI on branch creation pushes (github.event.created)
- Detect version tags directly on the commit (v*)
- Expose is_version and version_tag as workflow outputs
- Drive release guard and release jobs by commit tag state instead of tag-push events
- Pass resolved version tag explicitly to release workflow

https://chatgpt.com/share/698b0398-4f54-800f-86c4-91260bc2a628
2026-02-10 11:08:13 +01:00
kevinveenbirkenbach 84782f3b22 refactor(invokable): centralize app discovery, add type grouping, and derive deploy stages from inventory groups
https://chatgpt.com/share/698b0039-c4c4-800f-b962-7033324c07a8
2026-02-10 10:53:53 +01:00
kevinveenbirkenbach 33c4b4ffc5 Release version 2.1.9 v2.1.9 2026-02-10 09:12:45 +01:00
kevinveenbirkenbach e4cdf09955 fix(web-app-matomo): wait for app-ready HTTP health before bootstrap
Replace TCP healthcheck with PHP-based HTTP readiness check on /index.php
and make bootstrap depend on service_healthy to avoid race conditions.

https://chatgpt.com/share/698a611f-992c-800f-9218-db370a67fe76
2026-02-09 23:34:59 +01:00
kevinveenbirkenbach 1aeab80780 Release version 2.1.8 v2.1.8 2026-02-09 20:27:40 +01:00
kevinveenbirkenbach 9bc6d3f431 docker: install ssh client in CI image for Ansible controller
Extend the systemd/dbus installation step to include the SSH client on all
supported distros, fixing Ansible controller failures caused by a missing
`ssh` binary.

https://chatgpt.com/share/698a3356-f018-800f-80e2-f327f00ce65f
2026-02-09 20:19:34 +01:00
kevinveenbirkenbach 279a889472 Release version 2.1.7 v2.1.7 2026-02-09 13:32:15 +01:00
kevinveenbirkenbach 98837bac67 ci: extend deploy job timeout to 6h
Increase timeout-minutes from 240 to 360 for server, universal, workstation,
and local deploy workflows to match the GitHub-hosted runner job limit.

https://chatgpt.com/share/6989d36d-267c-800f-ad42-7bcb786f1727
2026-02-09 13:30:30 +01:00
kevinveenbirkenbach fcb4353d63 refactor(sys-svc-compose): move compose pull retries to Ansible and simplify pull.py
- Remove internal retry logic, transient error heuristics, and backoff from pull.py
- Let Ansible handlers control retries (10x, 30s delay) for compose pull/build
- Simplify pull.py to single-attempt run_or_fail execution with locking preserved
- Drop redundant timeout CLI flags; rely on environment variables instead
- Keep intelligent --ignore-buildable detection via `docker compose pull --help`
- Update unit tests to reflect new deterministic behavior and remove retry tests

https://chatgpt.com/share/6989ce5a-7f40-800f-950a-e108d6f4c070
2026-02-09 13:08:46 +01:00
kevinveenbirkenbach 7104f4486c Added more meta information for infinito nexus deployer 2026-02-09 11:41:36 +01:00
kevinveenbirkenbach b507ecfe56 Release version 2.1.6 v2.1.6 2026-02-09 08:57:17 +01:00
kevinveenbirkenbach 88c3bbb721 test: fix templating env lookup fallback and unify unittest.mock import usage
https://chatgpt.com/share/698992ef-215c-800f-a93e-5d8e75b81f23
2026-02-09 08:55:17 +01:00
kevinveenbirkenbach ac05af4468 Merge remote-tracking branch 'origin/alert-autofix-196' into merge-autofix 2026-02-09 08:42:35 +01:00
kevinveenbirkenbach 4fe03975fc Merge remote-tracking branch 'origin/alert-autofix-168' into merge-autofix 2026-02-09 08:42:28 +01:00
kevinveenbirkenbach 7427711782 Merge remote-tracking branch 'origin/alert-autofix-211' into merge-autofix 2026-02-09 08:42:20 +01:00
kevinveenbirkenbach 80f457de9e Merge remote-tracking branch 'origin/alert-autofix-139' into merge-autofix 2026-02-09 08:42:06 +01:00