1.3 KiB
Secret provisioning
Create one file per secret under the deployed ${SECRETS_DIR} with mode 0600 and an owner readable only by the intended deployment operator. Do not commit the directory or copy its contents into evidence.
Required core secrets:
postgres_superuser_passwordhub_database_passwordcontextforge_database_passwordcontextforge_auth_encryption_secretcontextforge_jwt_secretcontextforge_admin_credentialcontextforge_api_token(generated by the controlled ContextForge bootstrap)stitch_api_key(Google Stitch API key; connector-only, never exposed to MCP clients)authentik_oidc_client_secrethub_session_signing_key
contextforge_api_token is absent during the initial predeploy check. Generate
it with scripts/contextforge_bootstrap.py after ContextForge is healthy and
scope it to the bootstrap's explicit gateway, tool, prompt and virtual-server
permissions. Rotate an older token when the required permission set changes,
then start the Hub services; the poststart preflight requires it.
Optional connector secrets are added only when that connector is enabled. Use least-privilege, read-only credentials in v1.0.
The application may show whether a secret reference is configured and when it was last verified. It must never show, return, audit, or log the value.