Skip to content

Move federation identity + remaining secrets from .env to DB (hosting-model decision needed) #326

Description

@TemujinCalidius

Split out of #59 so that issue can close on its shipped, safe surface. This is the deferred, breaking half its audit always flagged.

What's left env-only (deliberately)

Bucket Vars
Federation identity SITE_URL, FEDI_HANDLE, FEDI_DOMAIN — baked into the ActivityPub actor id, WebFinger, signature keyId, RSS. Changing them post-install rewrites your identity.
Root secrets / infra ADMIN_SECRET, DATABASE_URL, SMTP_* / DAYONE_EMAIL, TRUSTED_PROXY, SETUP_TOKEN

Everything user-facing and safe to move web-side is done (theme/layout/accent/sidebar, profile incl. avatar/banner, contact + podcast, gallery categories, analytics site-id and encrypted API key, crosspost creds, VAPID keys, and session/token TTLs).

Why it's not just "another slice"

Moving identity to the DB is a breaking change to how an instance is stood up and migrated, and it interacts with:

Suggested shape (for later)

Decide the hosting model first, then: a DB overlay for the identity/secret values with the wizard writing DB instead of .env.local, an explicit "change your domain" migration flow (re-key + refetch), and secrets encrypted via secret-box (as VAPID/analytics/crosspost already are). Not before the model decision.

Blocks the full "configure everything from the web" vision; not required for #59's shipped scope.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions