Files
computer-playbook/roles/web-app-fusiondirectory/meta/services.yml
kevinveenbirkenbachandClaude Opus 5.5 727cce33ec fix(web-app-fusiondirectory): set the role's lifecycle to eol
FusionDirectory's image runs PHP 7.4, which has been out of security
support since 2022, and upstream ships no PHP 8 build. The runtime
health check of #1265 therefore reports every deployment of it, and in
CI a red FusionDirectory job makes the matrix's fail-fast cancel every
other job of the run (seen on #1265's run 41101611445: one red job, 79
cancelled). There is nothing to fix on our side short of upstream
shipping a supported runtime.

- meta/services.yml: lifecycle beta -> eol. Default CI (tested envelope
  alpha..maintenance) no longer deploys the role, the updater and the
  image mirror skip it (mirrored image set 188 -> 187).
- README.md: end-of-life banner as lifecycle.md requires for eol: the
  project neither maintains nor tests the role, operators use it at
  their own risk, upstream FusionDirectory for support.
- Root README.md: make docs drops the role from the generated table of
  the tested lifecycle envelope.

Production deploys of the role keep running the runtime check, so an
operator who still deploys it sees the PHP 7.4 finding.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 23:24:31 +01:00

85 lines
2.4 KiB
YAML

---
logout:
bond: 1
enabled: "{{ 'web-svc-logout' in group_names }}"
shared: "{{ 'web-svc-logout' in group_names }}"
dashboard:
bond: 1
enabled: "{{ 'web-app-dashboard' in group_names }}"
shared: "{{ 'web-app-dashboard' in group_names }}"
prometheus:
bond: 1
enabled: "{{ 'web-app-prometheus' in group_names }}"
shared: "{{ 'web-app-prometheus' in group_names }}"
# nocheck: playwright-service-flag
# nocheck: variants-coverage — sso-variant-tor requires the onion on in every variant, so the false polarity has no variant left to live in
tor:
bond: 0.5
enabled: "{{ 'svc-net-tor' in group_names }}"
shared: true # nocheck: dynamic-flag
email:
bond: 1
enabled: "{{ MAIL_PROVIDER in group_names }}"
shared: "{{ MAIL_PROVIDER in group_names }}"
matomo:
bond: 1
enabled: "{{ 'web-app-matomo' in group_names }}"
shared: "{{ 'web-app-matomo' in group_names }}"
ldap:
bond: 1
enabled: true # nocheck: dynamic-flag
shared: true # nocheck: dynamic-flag — LDAP IS the storage backend, never local
sso:
bond: 1
enabled: "{{ 'web-app-keycloak' in group_names }}"
shared: "{{ 'web-app-keycloak' in group_names }}"
flavor: oauth2
oauth2:
origin:
host: fusiondirectory
port: 80
allowed_groups:
- "{{ lookup('rbac_group_path', application_id='web-app-fusiondirectory', role='administrator') }}"
fusiondirectory:
healthcheck:
flavor: curl
modes:
compose:
enabled: true
swarm:
enabled: true
image: nfrastack/fusiondirectory
version: "1.5"
name: fusiondirectory
ports:
local:
sso: 16487
http: 8038
internal:
http: 80
proxy:
service_key: fusiondirectory
run_after:
- web-app-matomo
- web-app-keycloak
- web-app-stalwart
- web-app-mailu
- svc-db-openldap
lifecycle: eol
min_storage: 379MB
cpus: "0.5"
mem_reservation: 256m
mem_limit: 1g
pids_limit: 512
# nocheck: playwright-service-flag — css consumer, no Playwright surface (provider: web-svc-css)
css:
bond: 1
enabled: "{{ 'web-svc-css' in group_names }}"
shared: "{{ 'web-svc-css' in group_names }}"
# nocheck: playwright-service-flag, dynamic-flag infrastructure backup consumer
container_backup: # nocheck: bond-baseline backup host joins outside the variant topology
bond: 1
enabled: "{{ 'svc-bkp-volume-2-local' in group_names }}"
shared: true # nocheck: dynamic-flag — LDAP IS the storage backend, never local