nevzheng opened a new issue, #12301:
URL: https://github.com/apache/gravitino/issues/12301

   ### Describe the subtask
   
   The commitment milestone. M2 built the capability behind an internal 
boundary;
   this subtask makes it public API — the step we can't walk back — and makes it
   discoverable, so a user finds it in the docs rather than by reading source.
   This is also where end-to-end coverage lands, because the path e2e must
   exercise (server config to public builder to handshake to API call) only
   exists once this does.
   
   ## Deliverable
   
   - **The surface:** TLS configuration exposed on the `GravitinoClient` and
     `GravitinoAdminClient` builders, exactly as specified in
     `design-docs/gravitino-client-tls.md`. Nothing internal leaks into a public
     signature.
   - **The docs:** `docs/security/how-to-use-https.md` currently instructs 
users to
     import server certificates into the JVM-wide truststore — the exact 
workaround
     this epic eliminates. Its Java example switches to the new API.
     `docs/how-to-use-gravitino-client.md` gains a TLS configuration section
     covering the private-CA and mutual-TLS journeys.
   - **End-to-end proof:** an integration test that starts a real Gravitino 
server
     with `gravitino.server.webserver.enableHttps=true` (and a client-auth
     variant) and performs an actual metalake operation through
     `GravitinoClient.builder(...)` with the new TLS API — closing out the e2e
     testing request from #10975 review. Two scenarios (HTTPS, mTLS); the full
     handshake matrix already lives in M1/M2 where it's cheap.
   
   ## Acceptance criteria
   
   - [ ] Builder surface matches the design doc exactly; deviations go back
         through the doc
   - [ ] No internal type appears in any public signature
   - [ ] Javadoc on every new public method
   - [ ] At least one test constructs the client through
         `GravitinoClient.builder(...)` against a TLS server — not only through
         `HTTPClient`
   - [ ] The e2e IT above passes in CI, consuming fixtures and server setup from
         M1's test artifacts
   - [ ] The HTTPS doc's Java example no longer touches the JVM truststore
   - [ ] The client doc covers TLS configuration with runnable examples
   - [ ] The PR is marked as a user-facing change
   - [ ] A client that configures no TLS behaves exactly as today
   
   Depends on: M0 (the shape), M2 (the capability).
   Blocks: M4 (convenience helpers), M5 (protocol/cipher configuration and
   system-truststore mTLS).
   
   ### Parent issue
   
   #9836 


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to