docs: close doc-gaps (hub v0.11.0, onlyoffice:nextcloud occ internals, metricsDBPath verified)
- 05-hub-architecture.md: stale 'felhom-hub v0.6.3' -> v0.11.0 (design-draft note). - auth-hub-sync-integrations.md: full onlyoffice:nextcloud occ command sequence. - storage-monitoring-metrics.md: metricsDBPath verified to coincide with the volume-backed data_dir on the bootstrap guest (persists; hardcoding is latent fragility only). - REORG-NOTES: gaps 2/3 CLOSED, gap 5 partially closed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -73,7 +73,14 @@ Lets one app configure another (e.g. enable OnlyOffice editing inside FileBrowse
|
||||
|
||||
**Concrete handlers (registered in `NewManager`):**
|
||||
- `onlyoffice:filebrowser` — `Apply` reads OnlyOffice's `JWT_SECRET` and subdomain from the provider's decrypted `app.yaml` env, then patches FileBrowser's `config.yaml` with an `integrations.office` block (public office URL, internal `http://onlyoffice:80`, the shared JWT secret) and restarts FileBrowser. `Revoke` strips that block and restarts. Writes are atomic (tmp+rename). FileBrowser is treated as always-present infrastructure (not gated on "deployed").
|
||||
- `onlyoffice:nextcloud` — patches Nextcloud via occ commands (separate handler).
|
||||
- `onlyoffice:nextcloud` — `Apply` (`internal/integrations/onlyoffice_nextcloud.go`) drives Nextcloud's
|
||||
OnlyOffice connector entirely through `docker exec -u www-data nextcloud php occ` commands, in order:
|
||||
`app:install onlyoffice` → `app:enable onlyoffice` → `config:app:set onlyoffice DocumentServerUrl`
|
||||
(public office URL) / `DocumentServerInternalUrl` (`http://onlyoffice:80`) / `jwt_secret` (the shared
|
||||
JWT secret read from OnlyOffice's env) / `StorageUrl` (`http://nextcloud/`) → `config:system:set
|
||||
trusted_domains 10 nextcloud`. Each `occ` call runs under a context timeout; a failure aborts and is
|
||||
surfaced (Hungarian error). `Revoke` runs `occ app:disable onlyoffice` (a not-installed result is
|
||||
treated as already-revoked). No config-file patching — Nextcloud owns its own state via `occ`.
|
||||
|
||||
**Lifecycle hooks.** `Toggle` validates that provider (and target, unless it's filebrowser) are deployed and running before applying. The manager exposes:
|
||||
- `OnStackStop` — revokes active integrations where the stack is provider or target, but keeps `enabled=true` and marks status `provider_stopped`/`target_unavailable` so they can come back.
|
||||
|
||||
Reference in New Issue
Block a user