Skip to content

Require client credentials for FerretDB on 0.9.0 - #152

Merged
sciabarracom merged 1 commit into
apache:0.9.0from
miki3421:fix/ferretdb-require-client-auth-090
Oct 26, 2026
Merged

sciabarracom merged 1 commit into
apache:0.9.0from
miki3421:fix/ferretdb-require-client-auth-090

Conversation

@miki3421

Copy link
Copy Markdown
Contributor

FerretDB clients that omit Mongo credentials currently inherit the PostgreSQL system identity configured in FERRETDB_POSTGRESQL_URL. Remove that default identity from the operator-generated backend URL and the base manifest, so clients must supply their existing credentials.

Keep the backend database unset to preserve tenant database selection. Explicitly authenticated tenant and system Mongo URIs remain unchanged. Six regression tests cover both backend URL paths and authenticated client metadata; they are discovered by the existing Check workflow.

Validation:

  • All 83 regression tests passed on this branch, including the six new tests; git diff --check passed.
  • Tested isolated control/candidate gateways using the exact same FerretDB 1.6.0 image digest and disposable PostgreSQL data.
  • Applied the change to the shared K3s lab. Real anonymous OpenWhisk actions were denied reads, inserts, updates, deletes, collection creation/rename/drop and logical database deletion, including after valid tenant connections.
  • Real Alpha/Beta actions retained CRUD, indexes and aggregation. Peer-data checks confirmed isolation; all 15 application checks passed. Existing application source, credentials, resource identities and persistent volumes were preserved.

For existing installations, updating the operator image alone does not reconcile the running FerretDB StatefulSet: update its backend URL and roll the gateway pods to replace instances holding the previous default identity. Normal image builds regenerate deploy.tar; custom overlay images must also update its manifest because run.sh extracts that archive into the deployment volume at startup. This was verified in the lab.

GitHub CI for this PR is separate from the local/lab validation above.

@sciabarracom
sciabarracom merged commit f6bc20e into apache:0.9.0 Oct 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants