Repository navigation
fix(services/etcd): apply CA-only TLS configuration - #8441
Merged
Merged
Conversation
tisonkun
marked this pull request as ready for review
October 30, 2026 11:44
suyanhanx
approved these changes
Oct 30, 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.
Which issue does this PR close?
No linked issue.
Rationale for this change
The Etcd builder applies TLS options only when
ca_path,cert_path, andkey_pathare all present. A client that only needs to trust a private CA therefore cannot connect to an HTTPS server unless it also configures a client identity.Reproduced at
2af16fa07a72c298c2b291bc593e79cf00d6aac4against Etcd 3.6.4 with the repository's server certificate and client certificate authentication disabled. With an HTTPS endpoint and onlyca_path, OpenDAL fails on the first write withUnknownIssuer, whileetcdctl --cacertconnects successfully. After this change, the same OpenDAL configuration writes, reads, and deletes successfully.To exercise this configuration, start the new fixture and run the existing behavior suite with no client certificate or key configured:
What changes are included in this PR?
cert_path/key_pathpairs withConfigInvalidbefore reading certificate files.1Password/load-secrets-actionreferences to the ASF-approved v5.0.1 SHA (70062d7a876d3eb6334754fa26efd2fbd90c32f2). The v4.1.1 approval expired on October 30, causing the ASF Allowlist Check to reject 27 action references. The Action input declarations are unchanged.Validation against real Etcd 3.6.4: all 109 behavior tests passed in each of the CA-only TLS, mutual TLS, and plain HTTP configurations. Service unit tests, doctests, focused Clippy with warnings denied, and formatting checks passed. The behavior planner includes the new fixture. The ASF checker from the failing run was also reproduced locally: 27 rejected references before the pin update, and all 35 unique action references approved afterward.
Are there any user-facing changes?
ca_pathnow takes effect without a client certificate or private key. Supplying only one client identity path fails during operator construction. An explicit HTTP endpoint combined with CA-only configuration now produces the underlying client's TLS configuration error instead of silently ignoring the CA. An HTTPS endpoint without a trusted CA continues to fail certificate verification.Breaking changes
AI Usage Statement
gemma4-26b,qwen3-8b, andqwen3.8-27b, as listed in the scan metadata. Effort: not recorded. Role: supplied the initial finding that TLS configuration could be ignored; the metadata does not identify which model produced this specific finding. The connection behavior described above was independently reproduced.