Repository navigation
Fix FerretDB tenant provisioning on 0.9.0 - #142
Merged
sciabarracom merged 6 commits intoOct 22, 2026
Merged
Conversation
sciabarracom
self-requested a review
October 20, 2026 12:43
sciabarracom
approved these changes
Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FerretDB tenant provisioning in 0.9.0 passes a name such as
tenant_ferretdbto the PostgreSQL script renderer as a Kubernetes namespace. The namespace validator correctly rejects the underscore, so both user creation and deletion fail before SQL execution. This failure is reproducible in the original 0.9.0 CI run 38893750250.Pass the actual Kubernetes namespace to the renderer while preserving the existing
_ferretdbSQL database and role names. Select the PostgreSQL primary explicitly, validate SQL identifiers with the existing database-name validator, and report provisioning success only after connection metadata has been produced. FerretDB explicitly validates the actual Kubernetes namespace before calling the PostgreSQL renderer, preserving that boundary when combined with a renderer that accepts SQL identifiers. Component versions, tenant credentials and SQL naming remain unchanged.Validation:
task itestrunner's exit-code behavior. The workflow change is identical in both independent PRs; after both scripts are updated, neither failure can be downgraded to a warning.This PR is independent of the Redis and etcd/Milvus security backports. The separate runtime-preloader test correction addresses the other baseline CI failure. Previous CI passed on
5c3c9e5. Current-head CI: Check run 39312476510 passed on6f8a498: all 23 regression tests, the unit-test step and the final integration gate passed. The actual FerretDB integration test reportsOK. The only previously remaining warning is the unchanged originaltests/kind/runtimes_preloader_test.ipy, addressed by the companion PR.