mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
# TODO
|
|
|
|
## Object-store (S3) consumer integration — roles not yet wired
|
|
|
|
SeaweedFS is the shared S3 object store. A role becomes a consumer by declaring a
|
|
`seaweedfs` service in `meta/services.yml`, wiring its app config from
|
|
`lookup('objstore', application_id, ...)` (bucket / access_key / secret_key / url /
|
|
region), and shipping a gated `files/playwright/test-seaweedfs.js`. See
|
|
`web-app-mastodon`, `web-app-pixelfed`, and `web-app-nextcloud` for the reference
|
|
pattern. SeaweedFS S3 requires **path-style addressing** and the internal `http://`
|
|
endpoint.
|
|
|
|
The roles below are database-backed and their upstream app can store objects in S3,
|
|
so the integration is **fundamentally possible but not yet implemented**. Roles whose
|
|
upstream has no S3 backend, or whose S3 client is incompatible with SeaweedFS
|
|
path-style, are listed at the end.
|
|
|
|
### Possible via an upstream plugin/extension
|
|
|
|
| Role | Mechanism (verify exact upstream keys before wiring) |
|
|
|---|---|
|
|
| `web-app-moodle` | `tool_objectfs` object-file-storage plugin |
|
|
| `web-app-wordpress` | media-offload plugin (e.g. WP Offload Media) |
|
|
| `web-app-mediawiki` | `Extension:AWS` (S3 file backend) |
|
|
| `web-app-odoo` | S3 `ir_attachment` / attachment-storage module |
|
|
| `web-app-erpnext` | frappe S3 backups + file storage |
|
|
| `web-app-joomla` | S3 storage plugin |
|
|
|
|
### Possible — upstream S3 support still to confirm
|
|
|
|
| Role | Note |
|
|
|---|---|
|
|
| `web-app-jira` | Atlassian DC attachment store on S3 (edition/version dependent) |
|
|
| `web-app-confluence` | Atlassian DC attachment store on S3 (edition/version dependent) |
|
|
| `web-app-suitecrm` | confirm upstream S3 file-storage support |
|
|
| `web-app-espocrm` | confirm upstream S3 attachment support |
|
|
| `web-app-zammad` | confirm upstream storage-provider S3 support |
|
|
| `web-app-xwiki` | confirm S3 attachment store support |
|
|
|
|
### Blocked — possible only with a provider-side change
|
|
|
|
| Role | Blocker |
|
|
|---|---|
|
|
| `web-app-discourse` | Discourse's `aws-sdk-s3` defaults a custom endpoint to virtual-host addressing and exposes no `force_path_style`; it needs SeaweedFS to serve virtual-host/wildcard-DNS addressing (a global provider change affecting all path-style consumers) before it can use S3. |
|
|
|
|
### Not currently possible
|
|
|
|
| Role | Reason |
|
|
|---|---|
|
|
| `web-app-pretix` | Open-source pretix has no S3/object-store backend (local `MEDIA_ROOT` only; no django-storages/boto3, no config hook). |
|
|
|
|
Roles with no object-store surface at all (e.g. `web-app-keycloak`, `web-app-matomo`,
|
|
`web-app-pgadmin`, `web-app-phpmyadmin`, `web-app-yourls`, `web-app-stalwart`) keep their
|
|
`# nocheck: seaweedfs-required` exemption and are intentionally excluded.
|