-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(aws): add tls ca provision #5097
base: master
Are you sure you want to change the base?
feat(aws): add tls ca provision #5097
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @hjoshi123. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/retitle feat(aws): add tls ca provision |
@ivankatliarchuk @mloiseleur not sure what is up with the lint job. In my local
|
Apologies there going to be a lot of text, but I would suggest to extract So what most likely should go in documentation in some form as a recomendation
|
I would reference here The Adobe Common Controls Framework (CCF), here is a link https://www.adobe.com/trust/compliance/adobe-ccf.html, there are The Go code involving x509.CertPool relates to several key security domains within CCF. Relevant CCF Controls for x509.CertPool Security1. Cryptographic Controls & Certificate ManagementRelated CCF Domains:
How It Relates to the Code:
Recommendation:
2. System & Network SecurityRelated CCF Domains:
How It Relates to Your Code:
Recommendation:
3. Error Handling & Secure Coding PracticesRelated CCF Domains:
How It Relates to Code:
Recommendation:
|
@ivankatliarchuk sure I can change it back to start form empty cert pool no issues.. We can make that as part of a separate discussion |
@ivankatliarchuk do you have any idea about the ci lint job error? |
I'll try to find a solution for linter. We recently added few things, looks like a bug was introduced |
@ivankatliarchuk I can debug and try to fix it in a different PR if its fine by you? |
A fix for this issue appears to be available in another pull request (https://github.com/kubernetes-sigs/external-dns/pull/5085/files). Hopefully, it will be reviewed and approved soon. |
Ah I see.. Let's wait for it then.. otherwise does the PR look good to you? |
Few things to consider, and something like a test on real-cluster/local-cluster will speed up review. As @mloiseleur pointed out, you need to consider what to add to a documentation, maybe as well provide an example setup with a proxy of your choice in the docs on top of the description/recomendations. |
Hmm.. I am not sure how to test it in real world since I dont have a proxy working or any real world ca-certs. I can work on the documentation though. |
I'll throw some ideas
|
@ivankatliarchuk I didnt think it needed to be that detailed since the idea is similar to the rfc2136 provider where similar kind of tests are being done for TLS. @mloiseleur what do you think? From the credentials perspective I dont think anything changes since we are just providing TLS certs for the traffic to flow.. the environmental values or the way AWS picks up creds should be same |
Np, I think I shared enough information to consider. Could be that I did not spend enough time to understand the original issue, and this is my understanding of client with forward proxy I found this code for older go-sdk version, that nicely describes go client behind a proxy case https://gist.github.com/jakexks/2f876697dfca1fe15b92f7bb6032780d |
@ivankatliarchuk that makes sense what you sent to check if the proxy is working and if the request coming from the proxy with the TLS CA Cert is trusted by AWS to generate the config. In summary, I agree we need a better way to test the use case of proxy, but I feel from a unit test perspective that is beyond the scope of unit test. @mloiseleur What do you suggest? It would be nice if @cavdhut could give us more insights on how he uses the setup and if the changes made accommodate the use case he spoke about. |
Description
Adds TLS CA, TLS Client Cert and key to AWS Provider.
Uses custom http transport to feed to aws config default options if tls config is provided.
Fixes #5026
Checklist