Octavi00 commented on PR #10975:
URL: https://github.com/apache/gravitino/pull/10975#issuecomment-4426955733

   Hello @roryqi, me and @Vonna9 spent some time implementing the TLS 
functionality on the client side of the code. At first, since the issue stated 
we needed a way to trust clients, our understanding was that we were from the 
perspective of the server, which is why we felt confused about the server 
functionality already being there, and just added a test to prove so. Now, what 
we've done is add in a TLSConfigurer Java file in the same fashion as the 
reference pr, and implemented it in a very similar method inside the 
HTTPClient.java file. We found quite a few bigger differences between the 
gravitino codebase and the iceberg codebase, which led to some changes I would 
really like to explain. The most important thing is that in order to allow 
testing the TLS integration from the TestHTTPClient file, I removed the private 
keyword from the configureConnectionManager() function. In doing so, the 
function remains package private so it's accessible within the same Java 
package that is used
  in the test file. I wanted to make sure you were aware of this to ensure it 
isn't sacrificing any security boundaries you intend to keep. I also added the 
properties variable as a parameter in the function, as previously the function 
would only rely on the GravitinoClientConfiguration object defined functions; 
however, properties isn't accessible from the object. I chose to keep that 
object separate from the TLS configuration instead of implementing it within 
the Gravitino client object, but it could also easily be moved into it for a 
cleaner HTTPClient file. Testing-wise, I implemented all of the tests in a 
similar fashion from the referenced pr, and added one more to ensure previous 
functionality without a TLS configuration. All tests currently pass, and the 
server compiles and runs. I feel that we are ready for a review now, and please 
let us know if there's a different direction you'd like us to take our 
implementation. 
   
   Here are some photos of our testing
   
   test file passes
   <img width="1338" height="702" alt="image" 
src="https://github.com/user-attachments/assets/1d21d435-8cc8-493f-811b-d6ab6d38c84f";
 />
   
   server compiles
   <img width="1349" height="655" alt="image" 
src="https://github.com/user-attachments/assets/bc359db3-eb18-4a1f-9dd1-f92bcbd6f758";
 />
   
   server running terminal notification
   <img width="760" height="290" alt="image" 
src="https://github.com/user-attachments/assets/4fcfa4ec-5915-490d-b8ca-2f1e839586cc";
 />
   
   
   Thank you


-- 
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