Repository navigation
Isolate etcd and Milvus credentials and management endpoints on 0.9.0 - #141
Merged
Merged
Conversation
This was referenced 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.
The 0.9.0 deployment uses a repository-shipped etcd JWT signing key, exposes etcd administrator credentials in Milvus configuration, publishes Milvus metrics through a NodePort, and includes configuration values in DEBUG logs. This patch addresses these paths together while retaining the 0.9.0 etcd/Milvus engine versions and persistent data layout.
milvus/, plus READ on the literalhealthkey required by Milvus 2.5.2 startup. Refuse existing identities with unexpected roles or broader permissions. Remove the old ConfigMap only after the Secret-backed Deployment is ready.The transition also verifies and preserves an existing Milvus system user instead of recreating it during reconciliation. It never resets that account after an authentication failure.
Validation:
Operational considerations: NetworkPolicies require an enforcing CNI (enforcement tested with K3s). The standard full/slim Milvus integration tests now also pass in the GitHub Kind workflow using private tunnels; that verifies compatibility rather than CNI enforcement. Kubernetes Secret-read and administrator privileges remain privileged. Baseline etcd transport remains unchanged. Operators of existing installations should rotate previously exposed etcd root and other affected credentials separately after reconciling etcd and Milvus; passwords were rotated and the etcd probe environments refreshed in both test labs. Automatic credential rotation or data migration is not part of this PR.
CI transparency: the existing
task itestrunner reports failures without a failing exit code. A final Check step now rejects any integration failure except the two reproduced in the unmodified 0.9.0 CI run 38893750250:tests/kind/ferretdb_test.ipyandtests/kind/runtimes_preloader_test.ipy. Those remain explicit warnings, not passing tests. In particular, failures of either full or slim Milvus now make the Check fail.Final CI result for
f06f3ec: Check run 39257637756 succeeded. All 33 regression tests passed. Both full/slim Milvus integration scenarios passed among 36 passing integration scripts. The only two remaining failures are the baseline failures listed above; the new regression gate passed with no unexpected failures.