digitalboard.core/roles
Simon Bärlocher f0cd8ba432
fix(nextcloud): make occ-driven config tasks idempotent
Every `occ config:app:set` / `ldap:set-config` / `notify_push:setup`
call previously fired on every play, marking changed even when the
stored value already matched. Now we read the current value first and
only invoke the setter when it differs:

* richdocuments (collabora): pre-read wopi_url, public_wopi_url,
  disable_certificate_verification, wopi_allowlist into a fact map;
  guard each `config:app:set` and tag `richdocuments:activate-config`
  with `changed_when: false` since it's a discovery refresh.

* drawio: same pattern for DrawioUrl, DrawioTheme, DrawioOffline,
  comparing as strings (occ stores booleans as "1"/"0").

* user_ldap: pre-read `ldap:show-config s01 --output=json`, parse JSON
  defensively (occ logs interleave on stderr), and skip per-key
  `ldap:set-config` calls when the stored value already equals the
  desired one.

* notify_push: skip `notify_push:setup` when the stored base_endpoint
  already matches the computed URL.

* plugins: `app:install`/`app:enable` were treating "already installed/
  enabled" output as a change. Add the negative match to `changed_when`
  so re-runs of a fully-provisioned site report ok rather than changed.
2026-05-27 23:12:23 +02:00
..
389ds feat: add 389ds ldap backend to keycloak 2026-03-13 10:58:40 +01:00
authentik feat(authentik): split-horizon host rewrite + proxy-app mode/group bindings 2026-05-27 23:12:23 +02:00
authentik_outpost_ldap feat: add blueprints for authentik ldap outpost and render values directly instead of using env vars 2026-04-10 14:33:52 +02:00
base fix: add lock_timout to apt cache update 2026-01-14 17:36:07 +01:00
bookstack docs(bookstack): add meta/argument_specs.yml 2026-05-26 15:30:36 +02:00
collabora feat: drop blanket recreates, ACME-DNS knobs, notify_push override 2026-05-27 23:12:23 +02:00
coturn docs(talk,coturn): add meta/argument_specs.yml 2026-05-26 15:35:19 +02:00
drawio feat(drawio,garage): optional Authentik ForwardAuth in front of UIs 2026-05-27 23:12:23 +02:00
garage fix(garage): make bootstrap & provision idempotent across reruns 2026-05-27 23:12:23 +02:00
homarr feat: drop blanket recreates, ACME-DNS knobs, notify_push override 2026-05-27 23:12:23 +02:00
httpbin feat: add basic httpbin services 2025-11-07 11:57:45 +01:00
keycloak feat: opencloud group provisioning via oidc 2026-03-13 16:43:02 +01:00
nextcloud fix(nextcloud): make occ-driven config tasks idempotent 2026-05-27 23:12:23 +02:00
opencloud feat: drop blanket recreates, ACME-DNS knobs, notify_push override 2026-05-27 23:12:23 +02:00
opnform docs(opnform): add meta/argument_specs.yml 2026-05-26 14:58:36 +02:00
send fix(send): assert S3 credentials when storage backend is s3 2026-05-26 15:40:21 +02:00
talk docs(talk,coturn): add meta/argument_specs.yml 2026-05-26 15:35:19 +02:00
traefik feat(traefik): configurable extra_hosts for container DNS overrides 2026-05-27 23:12:23 +02:00