Required for all Hybrid Manager (HM) deployments. The core scenario is always enabled — it isn't optional like ai, analytics, or migration. These secrets cover the HM portal's admin identity provider (IdP) and the consolidated system database used by core platform components.
Bootstrap Fernet key and admin credentials: Used by the HM portal's IdP (Dex) to encrypt connector configuration and to bootstrap the first admin user(s).
System database credentials: Per-role passwords for the consolidated system database (upm-system-db) used by core platform components (portal API, EDB Postgres AI agent, transporter, and others).
Creating core secrets
Note
The core scenario is included by default and can't be excluded — every HM installation needs these secrets.
You can create the bootstrap Fernet key and admin credentials using the
edbctlCLI.For manual installations, run this command and follow the interactive prompts:
edbctl hybrid-manager create-install-secrets --version <version> --scenario core
If you're running the installation via a CI/CD pipeline, you must suppress interactive prompts:
Configure
edbctlfor non-interactive behavior:edbctl config set interactive_mode off edbctl config set confirm_mode off
Provide the primary admin's credentials as environment variables and run the setup command:
EDB_CORE_ADMIN_EMAIL1="owner@mycompany.com" \ EDB_CORE_ADMIN_PASSWORD1='My-Secret-Password-1' \ edbctl hybrid-manager create-install-secrets --version <version> --scenario core
A second admin user is optional. Set
EDB_CORE_ADMIN_EMAIL2andEDB_CORE_ADMIN_PASSWORD2to add one.
This creates the
hm-portal-bootstrapsecret in thedefaultnamespace, which is automatically replicated toupm-dex. It contains:fernet-key: Encryption key for sensitive connector configuration fields.static-passwords.yaml: Initial admin user account(s) for bootstrap access, generated from the admin email/password values above.
Note
On upgrades from a pre-2026.2 / pre-1.4 installation,
edbctlpreserves existing admin identities automatically where possible, so rerunning this command doesn't break existing user role assignments. If you're upgrading from a Dex-based installation and need to migrate static users manually, see Upgrading from 2026.1 to the 2026.2 Innovation Release.The HM administrator must retrieve the Fernet key and store it safely:
kubectl get secret hm-portal-bootstrap -n default -o yaml
Warning
The
fernet-keyin this secret can't be rotated in place.edbctlrefuses to update it, even with--force, because existing connector configuration is encrypted with the original key and isn't re-encrypted automatically. To rotate it manually, see Rotating IdP connector encryption keys.The admin credentials in
static-passwords.yamlcan be rotated. Rerun the setup command with--force;edbctlreprompts for the admin email and password and matches the existing Dex user ID by email, so role assignments aren't broken.System database secrets are created automatically alongside the bootstrap secret and don't require separate input. See Understanding core secrets for the full list.
Rotating core secrets
To rotate the system database secrets, run the setup command again with --force:
edbctl hybrid-manager create-install-secrets --version <version> --scenario core --force
--force rotates only secrets annotated safe-to-update=true. This updates all seven system database secrets (db-upm, db-dex, db-langflow, db-lakekeeper, db-beacon-app, db-transporter, db-superuser). CloudNativePG (CNPG) picks up each new password automatically through the k8s.enterprisedb.io/reload label.
Secrets annotated safe-to-update=false are skipped, with a warning. This includes the fernet-key in hm-portal-bootstrap — see the warning above for details.
Understanding core secrets
For each secret, Description explains why you need it, and Safe to rotate indicates whether the secret can be updated in place without additional steps.
HM portal bootstrap
Description: Encrypts Dex connector configuration and bootstraps the primary (and optional secondary) admin user for the HM portal.
Namespace: default (replicated to upm-dex)
Secret name: hm-portal-bootstrap
Safe to rotate: Partially — The fernet-key can't be rotated in place. The admin credentials in static-passwords.yaml can be rotated with --force without breaking role assignments. See the warning above.
System database secrets
Description: Per-role passwords for the consolidated system database (upm-system-db) used by core platform components (portal API, EDB Postgres AI agent, transporter, and others).
Namespace: default (secrets are replicated to the namespaces of the components that consume them)
| Secret name | Role | Used by | Safe to rotate |
|---|---|---|---|
db-upm | upm | upm-system-db, upm-agent-proxy, upm-ai-model-server, upm-api-pnxt-metric, upm-api-pnxt-pd, upm-beaco-ff-base, upm-image-library, upm-lakekeeper, upm-notification-system, upm-flow-proxy | Yes |
db-dex | upm | upm-system-db, upm-dex | Yes |
db-langflow | upm | upm-system-db, upm-langflow | Yes |
db-lakekeeper | upm | upm-system-db, upm-lakekeeper | Yes |
db-beacon-app | beacon-app | upm-system-db, upm-api-gucs, upm-beacon | Yes |
db-transporter | transporter | upm-system-db, transporter-dp-provisioner, transporter-rw-service, transporter-ui-service | Yes |
db-superuser | postgres | upm-system-db | Yes |
Note
System database secrets were introduced in HM 2026.4 (Innovation Release) and 1.4 (LTS). They aren't present on earlier versions.
Legacy: Dex Fernet key
Secret name: dex-fernet-key (namespace: upm-dex)
Description: Encryption key for the Dex IdP database, used before the IdP was migrated to be available in the HM console.
Note
This secret only applied to HM 2025.12 through 2026.01. It was superseded by hm-portal-bootstrap and doesn't apply to current versions. Kept here for reference when troubleshooting older installations.