Commit Graph
14682 Commits
Author SHA1 Message Date
kevinveenbirkenbach 4127bd44eb Merge pull request #503 from infinito-nexus/update/docker-image-versions-web-app-semaphore-20260808-1c33b0c
update(images): update Docker image versions (web-app-semaphore)
2026-08-08 10:48:51 +02:00
kevinveenbirkenbach 7e6b5a5efd Merge pull request #504 from infinito-nexus/update/docker-image-versions-web-app-shopware-20260808-06c9f1c
update(images): update Docker image versions (web-app-shopware)
2026-08-08 10:48:07 +02:00
kevinveenbirkenbach a706bd8bd4 Merge pull request #505 from infinito-nexus/update/docker-image-versions-web-app-wordpress-20260808-f07a98f
update(images): update Docker image versions (web-app-wordpress)
2026-08-08 10:47:43 +02:00
kevinveenbirkenbach 5032cd1092 Merge pull request #506 from infinito-nexus/update/docker-image-versions-web-svc-coturn-20260808-669b0d0
update(images): update Docker image versions (web-svc-coturn)
2026-08-08 10:47:16 +02:00
kevinveenbirkenbach 3c2c1ba8df Merge pull request #507 from infinito-nexus/update/docker-image-versions-web-svc-xmpp-20260808-363324c
update(images): update Docker image versions (web-svc-xmpp)
2026-08-08 10:46:48 +02:00
kevinveenbirkenbach 8d14c43ec0 Merge pull request #508 from infinito-nexus/dependabot/pip/ruff-0.16.1
chore(deps-dev): bump ruff from 0.16.0 to 0.16.1
2026-08-08 10:46:03 +02:00
kevinveenbirkenbach b181b254d6 Merge pull request #509 from infinito-nexus/dependabot/npm_and_yarn/globals-17.9.0
chore(deps-dev): bump globals from 17.7.0 to 17.9.0
2026-08-08 10:45:42 +02:00
kevinveenbirkenbach 3955b569d5 Merge pull request #513 from infinito-nexus/dependabot/npm_and_yarn/roles/web-app-littlejs/files/bootstrap-5.3.8
chore(deps): bump bootstrap from 5.3.3 to 5.3.8 in /roles/web-app-littlejs/files
2026-08-08 10:44:31 +02:00
kevinveenbirkenbach 8770228764 Merge pull request #514 from infinito-nexus/dependabot/npm_and_yarn/npm_and_yarn-689a3eef09
chore(deps-dev): bump brace-expansion from 5.0.6 to 5.0.9 in the npm_and_yarn group across 1 directory
2026-08-08 10:44:11 +02:00
kevinveenbirkenbach 60c4f582cf Merge branch 'main' into fix/playwright/env-template-gate 2026-08-08 10:42:51 +02:00
kevinveenbirkenbachandClaude Opus 5 feddad3f1c fix(deps): force brace-expansion past the three DoS advisories
The lockfile resolved 5.0.6, which carries unbounded intermediate arrays, unbounded expansion length and exponential-time expansion of consecutive empty groups. It reaches the tree through eslint via minimatch, so an override pins it rather than declaring a dependency this lint-only manifest does not have.

npm audit goes from 7 high severity vulnerabilities to none, and npm run lint still exits 0 with the same 179 pre-existing warnings.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:42:39 +02:00
kevinveenbirkenbach 5439a8f8d2 Merge pull request #473 from infinito-nexus/update/docker-image-versions-svc-ai-ollama-20260808-1b61050
update(images): update Docker image versions (svc-ai-ollama)
2026-08-08 10:41:44 +02:00
kevinveenbirkenbach 4dcd820898 Merge branch 'main' into feature/svc-net-tor 2026-08-08 10:30:39 +02:00
kevinveenbirkenbach b40a5b286e Release 12.0.0 2026-08-08 10:29:28 +02:00
kevinveenbirkenbachandClaude Opus 5 589d380c3f fix(tests): hold the compose-up lock on a file descriptor
shellcheck SC2016 flagged the single-quoted 'bash -c' body. The fd form
of flock keeps the guard in the current shell, so ${MAKE:-make} expands
normally and the lock is released before the test run starts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:29:28 +02:00
kevinveenbirkenbachandClaude Opus 5 7cc61cff02 test(storage): mock disk_usage instead of sampling it live
Both docker_root_free_bytes tests compared the result against a second
live disk_usage() call, so any concurrent write between the two samples
failed them — reliably under the parallel `make test` targets, never in
isolation. Mock the call and assert which path was measured, which is
what the tests are about.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:29:27 +02:00
kevinveenbirkenbachandClaude Opus 5 f3826589f2 fix(compose): serialize concurrent CoreDNS renders
Parallel `make test` targets each auto-ran `compose-up`, which rendered
into a fixed Corefile.tmp; the first replace() stole the file from the
others and surfaced as "envsubst did not produce an output file".
mkstemp per process plus a flock'd re-check in the test wrapper so only
one target brings the stack up.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:29:26 +02:00
kevinveenbirkenbachandClaude Opus 5 5bd3239994 fix(web-app-nextcloud): provision the GitLab OAuth coupling in swarm too
The gate probed the partner with container inspect on a bare name, which only resolves under compose co-location. In swarm GitLab sits on another node, the probe fails, and failed_when: false turns that into a silent skip: the deploy reports success while client_id/client_secret are never written, so the per-user Connect button leads nowhere. Nothing else writes those two values.

Mirrors integration_zammad: resolve node and container id first, wait for the partner endpoint, then run both execs against the resolved ids. Gate on IS_STACK_HOST like every other addon. The include had to become relative, or the stack-host lint cannot see the gate through a templated path.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:15:07 +02:00
kevinveenbirkenbachandClaude Opus 5 141ff06452 fix(test-e2e-playwright): look for the logout behind a settings link too
Mastodon keeps no logout on the surface the persona lands on, so the helper gave up after two steps. Its trace carries three /settings/preferences links and no sign_out anywhere, and the universal-logout service that would inject a fallback stays passive because Mastodon authenticates natively rather than through oauth2-proxy.

The step runs only after both existing ones fail, follows the first visible same-origin settings link, and repeats the two searches there. Relative hrefs only, so it cannot leave the app; no /account match, which would hit Mastodon's own /accounts/ profile URLs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:11:17 +02:00
kevinveenbirkenbachandClaude Opus 5 cad464ecf1 fix(test-e2e-playwright): match the identity provider by markup, not by label
clickOidcLoginLink only ever matched accessible names, so a role rendering its own login form beside the SSO entry won the match and the persona submitted the native form instead of reaching Keycloak. GitLab's sign-in button was clicked while form[action=/users/auth/openid_connect] and data-testid=oidc-login-button sat unused next to it; Mastodon's entry is named 'Login or Register', which no login regex matches.

The provider locator runs first with a 5s window and falls through to the existing strict/loose path, so roles without OIDC markup are unaffected. It requires the full protocol name with a separator rather than a bare 'openid' substring: the only href of that shape anywhere in roles/ is Mastodon's own login link.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 10:01:01 +02:00
kevinveenbirkenbachandClaude Opus 5 52ab686470 fix(web-app-socialhome): accept 405 from the webserver health probe
The probe sends HEAD, and socialhome answers 405 there while GET / and GET /healthz both return 200, so the role was healthy and the swarm deploy still failed on three nodes after 25 retries. web-app-prometheus declares the same code for the same reason.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 08:43:11 +02:00
kevinveenbirkenbachandClaude Opus 5 2009d2c315 fix(test-e2e-playwright): stop the persona harness mistaking login controls for account menus
A Sign-in button matched ACCOUNT_MENU_NAME_RE, so inAppLogout clicked it as a menu trigger, and a username field matched the auth marker's data-testid rule, so an unauthenticated login page counted as an authenticated surface. The second one is why a broken auth chain surfaced as 'no in-app logout control reachable'.

Traces from CI run 31195451847 show the sign-in button clicked at CALL@123 and CALL@137, the marker returning true at ret@85, and the match resolving to input#user_login at @145 with no POST to /users/sign_in anywhere in the network log.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 08:42:03 +02:00
kevinveenbirkenbachandClaude Opus 5 db87a1a1ce fix(swarm-test): keep the lab roles out of the disable set
extend_inventory._host_topology writes svc-swarm-node and
svc-storage-nfs-server into devices.yml unconditionally — without them
there is no swarm and no NFS export, so the throwaway cluster cannot
exist. Deriving the disable set from dynamic_services put their service
keys node and nfs-server on that same list, and the deploy aborted on
the provider-role branch of the consistency guard.

That branch never reads shared, so the force-shared fix cannot reach it:
with clean host_vars the guard still returns these two conflicts, and it
raises on any non-empty list.

Keep both keys instead of relaxing the guard — the guard is reporting a
real contradiction between the disable set and the lab topology, and the
disable set is the wrong side. roundtrip drives the same swarm-zombie
and extend_inventory path, so it needs the same keep-keys.

The keys are copied from _host_topology by hand; deriving them from it
would remove the duplication, at the cost of a helper this does not need
yet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 08:35:37 +02:00
kevinveenbirkenbachandClaude Opus 5 c634368957 fix(swarm-test): keep force-shared off disabled services
The swarm drill provisions a fresh inventory each round: _provision runs
the services disabler, which writes enabled: false, shared: false for
every service in `disable=`. _force_shared_db then ran four seconds
later and flipped shared back to true, because it only ever looked at
shared and never at enabled.

Its key set comes from every flagged top-level key of the svc-db-* roles,
so it covers svc-db-mariadb's own consumer entries tor and
container_backup, both of which sit on the disable list. The result was
enabled=False, shared=True, and the deploy aborted on the consistency
guard in services_disabler.

Guard the flip on enabled instead of narrowing the key set: the key set
would only drop today's two keys, while postgres, redis, memcached,
qdrant, typesense and ldap are all equally on the live disable list.
`is not False` keeps flipping entries that carry no enabled key at all.

derive_includes mirrors force_shared_db by contract, so it gets the same
condition; otherwise the dependency walk sees a different topology than
the deploy.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 08:33:04 +02:00
dependabot[bot] ad30c62045 chore(deps-dev): bump brace-expansion
Bumps the npm_and_yarn group with 1 update in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion).


Updates `brace-expansion` from 5.0.6 to 5.0.9
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.6...v5.0.9)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.9
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:09:39 +00:00
dependabot[bot] 6f6898f516 chore(deps): bump bootstrap in /roles/web-app-littlejs/files
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.3 to 5.3.8.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.3...v5.3.8)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-version: 5.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:07:53 +00:00
dependabot[bot] 5701a554d2 chore(deps): bump keycloak-js in /roles/web-app-dashboard/files
Bumps [keycloak-js](https://github.com/keycloak/keycloak-js) from 24.0.5 to 26.2.4.
- [Release notes](https://github.com/keycloak/keycloak-js/releases)
- [Changelog](https://github.com/keycloak/keycloak-js/blob/main/RELEASE-CHECKLIST.md)
- [Commits](https://github.com/keycloak/keycloak-js/commits/26.2.4)

---
updated-dependencies:
- dependency-name: keycloak-js
  dependency-version: 26.2.4
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:07:45 +00:00
dependabot[bot] b35df4ebc0 chore(deps-dev): bump @playwright/test from 1.61.1 to 1.62.1
Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.61.1 to 1.62.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.1)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.62.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:07:41 +00:00
dependabot[bot] 32aa578c9b chore(deps-dev): bump globals from 17.7.0 to 17.9.0
Bumps [globals](https://github.com/sindresorhus/globals) from 17.7.0 to 17.9.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.7.0...v17.9.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:07:33 +00:00
dependabot[bot] b076e3fd46 chore(deps-dev): bump ruff from 0.16.0 to 0.16.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.16.0...0.16.1)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-08 06:05:50 +00:00
infinito-nexus-updater[bot] ed88728a89 update(images): update Docker image versions (web-svc-xmpp) 2026-08-08 06:05:12 +00:00
infinito-nexus-updater[bot] 7043730a39 update(images): update Docker image versions (web-svc-coturn) 2026-08-08 06:05:08 +00:00
infinito-nexus-updater[bot] 32cd8f4b4f update(images): update Docker image versions (web-app-wordpress) 2026-08-08 06:05:05 +00:00
infinito-nexus-updater[bot] a0a89e7bb6 update(images): update Docker image versions (web-app-shopware) 2026-08-08 06:05:02 +00:00
infinito-nexus-updater[bot] ef4441e13f update(images): update Docker image versions (web-app-semaphore) 2026-08-08 06:04:58 +00:00
infinito-nexus-updater[bot] cc59d97bb9 update(images): update Docker image versions (web-app-seaweedfs) 2026-08-08 06:04:55 +00:00
infinito-nexus-updater[bot] 1d3b7fbd09 update(images): update Docker image versions (web-app-prometheus) 2026-08-08 06:04:52 +00:00
infinito-nexus-updater[bot] 9207a0dc7c update(images): update Docker image versions (web-app-pgadmin) 2026-08-08 06:04:49 +00:00
infinito-nexus-updater[bot] bbf856ade2 update(images): update Docker image versions (web-app-penpot) 2026-08-08 06:04:46 +00:00
infinito-nexus-updater[bot] 35c02d5f2f update(images): update Docker image versions (web-app-peertube) 2026-08-08 06:04:42 +00:00
infinito-nexus-updater[bot] 3f51d4ed92 update(images): update Docker image versions (web-app-opentalk) 2026-08-08 06:04:39 +00:00
infinito-nexus-updater[bot] 396cb485b1 update(images): update Docker image versions (web-app-opencloud) 2026-08-08 06:04:36 +00:00
infinito-nexus-updater[bot] 489a48c816 update(images): update Docker image versions (web-app-nextcloud) 2026-08-08 06:04:33 +00:00
infinito-nexus-updater[bot] a606bcc689 update(images): update Docker image versions (web-app-mattermost) 2026-08-08 06:04:30 +00:00
infinito-nexus-updater[bot] 511956daa4 update(images): update Docker image versions (web-app-matrix) 2026-08-08 06:04:26 +00:00
infinito-nexus-updater[bot] b6ede6803d update(images): update Docker image versions (web-app-matomo) 2026-08-08 06:04:23 +00:00
infinito-nexus-updater[bot] 19ef1a95e0 update(images): update Docker image versions (web-app-mailu) 2026-08-08 06:04:19 +00:00
infinito-nexus-updater[bot] 1e4f821280 update(images): update Docker image versions (web-app-magento) 2026-08-08 06:04:16 +00:00
infinito-nexus-updater[bot] c8574c8b83 update(images): update Docker image versions (web-app-keycloak) 2026-08-08 06:04:13 +00:00
infinito-nexus-updater[bot] a57d055c7f update(images): update Docker image versions (web-app-jira) 2026-08-08 06:04:10 +00:00