You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "Akanksha-kedia (via GitHub)" <gi...@apache.org> on 2026/02/06 10:26:30 UTC
[PR] GENAI=NO TLNSDD-371 Complete Vault integration for Apache Pinot [pinot]
Akanksha-kedia opened a new pull request, #17651:
URL: https://github.com/apache/pinot/pull/17651
This commit implements comprehensive Vault integration for secure token management across all Pinot components (Controller, Broker, Server, Minion).
Key Features:
- Vault-based authentication with automatic token refresh
- AuthProviderFactory for centralized auth provider creation
- Comprehensive error handling and logging
- Thread-safe token caching with configurable TTL
- Support for multiple Vault authentication methods (AppRole, Token)
Components Added:
- VaultAuth: Core Vault authentication logic
- VaultConfig: Configuration management for Vault settings
- VaultResponse: Response parsing and validation
- VaultStartupManager: Singleton initialization manager
- VaultTokenAuthProvider: Auth provider implementation
- VaultTokenCache: Thread-safe token caching
- VaultUtil: Utility methods for Vault operations
- AuthProviderFactory: Factory pattern for auth providers
Enhancements:
- Updated AuthProviderUtils with Vault support
- Enhanced StaticTokenAuthProvider with null checks
- Integrated Vault initialization in all component starters
- Added HttpSegmentFetcher auth support
Testing:
- AuthProviderFactoryTest: 390 lines of comprehensive tests
- VaultTokenAuthProviderTest: 214 lines of provider tests
- VaultUtilTest: 69 lines of utility tests
Security:
- Fixed security vulnerabilities
- Removed debug/development tags
- Proper secret handling and token lifecycle management
PR Title
Distribute Service Tokens Across Pinot Components with Static and Vault‑Based Auth Providers
✅ PR Description
This change introduces a clear and explicit service‑token distribution model for Apache Pinot components (Controller, Broker, Server, Minion) and documents it visually and configurationally.
🔐 Service Token Distribution
All Pinot components now support service‑level authentication tokens that are independent of user authentication mechanisms (Basic, ZK, LDAP).
For simplicity and clarity:
Admin credentials are reused as service tokens
In production deployments, service credentials must be separated from admin users
✅ Supported Auth Provider Modes (Final)
The following parameter is introduced and treated as authoritative plain text:
auth.provider.type = static | null | vault
This parameter is not optional, not experimental, and not open for discussion.
🧩 Behavior by Mode
1️⃣ auth.provider.type=static
Service tokens are configured manually in component config files
No external dependency
Example:
# Enable the controller to fetch segments using a service token
controller.segment.fetcher.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
Basic + base64encode(admin:verysecret)
✅ Tokens must NOT be surrounded by quotes
✅ Restart affected components for changes to take effect
2️⃣ auth.provider.type=vault
Controller, Broker, Server, and Minion:
Authenticate to Vault at startup
Fetch credentials (username/password)
Generate a Basic Auth service token
Cache the token in memory
No Vault calls at runtime
Example configuration:
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-4160089933
@xiangfu0 please review and if its fine den i ll fix the pipeline issues
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-4661366826
@xiangfu0 @Jackie-Jiang — this PR adds HashiCorp Vault integration for dynamic secret management in Pinot. Would appreciate a review on the approach before focusing on test coverage.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-5087035621
cc @Jackie-Jiang @xiangfu0 @snleee — would appreciate a review on this Vault integration PR when you get a chance. Happy to address any feedback or discuss the approach.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] GENAI=NO TLNSDD-371 Complete Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-3859493804
@xiangfu0 @Jackie-Jiang please review and give input for this. and wat more we can do around this
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-4889840308
Hi @Jackie-Jiang @xiangfu0 — this PR adds Vault integration for Apache Pinot, enabling dynamic secret injection (DB credentials, TLS certs, API keys) at runtime via HashiCorp Vault. All CI checks are green. Would appreciate a review!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] GENAI=NO TLNSDD-371 Complete Vault integration for Apache Pinot [pinot]
Posted by "Akanksha-kedia (via GitHub)" <gi...@apache.org>.
Akanksha-kedia commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-3859484087
auth.provider.type=null
No service authentication headers are added
Intended only for local development or unsecured environments
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Vault integration for Apache Pinot [pinot]
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #17651:
URL: https://github.com/apache/pinot/pull/17651#issuecomment-3861558307
### :x: 2 Tests Failed:
| Tests completed | Failed | Passed | Skipped |
|---|---|---|---|
| 8884 | 2 | 8882 | 13 |
<details><summary>View the full list of 2 :snowflake: flaky test(s)</summary>
> <pre><code class="language-python">org.apache.pinot.core.operator.transform.function.GreaterThanTransformFunctionTest::testBinaryOperatorTransformFunction</code></pre>
> **Flake rate in main:** 89.80% (Passed 10 times, Failed 88 times)
> <details><summary>Stack Traces | 0.614s run time</summary>
>
> > <pre><code class="language-python">expected [false] but found [true]</code></pre>
>
> </details>
> <pre><code class="language-python">org.apache.pinot.core.operator.transform.function.GreaterThanTransformFunctionTest::testBinaryOperatorTransformFunctionNoDict</code></pre>
> **Flake rate in main:** 89.80% (Passed 10 times, Failed 88 times)
> <details><summary>Stack Traces | 0.024s run time</summary>
>
> > <pre><code class="language-python">expected [false] but found [true]</code></pre>
>
> </details>
</details>
To view more test analytics, go to the [Test Analytics Dashboard](https://app.codecov.io/gh/apache/pinot/tests/Akanksha-kedia%3Afeature%2Fvault_opensource)
<sub>📋 Got 3 mins? [Take this short survey](https://forms.gle/22i53Qa1CySZjA6c7) to help us improve Test Analytics.</sub>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org