-
Notifications
You must be signed in to change notification settings - Fork 18
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: add csr-domain-name
config option
#381
Conversation
932e70a
to
ba6278d
Compare
Having the domain-name config option will allow users to specify the domain name they'd like to use when integrating with TLS certificate operators. This feature expands the support for integrating with TLS certificate providers that cannot issue signed certificates on a CSR that only contains an IP address (like we used to do). This commit also adds some test coverage to test the recently added code. Fixes #379
ba6278d
to
606107c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @DnPlas. I'm adding what we discussed in Matrix:
- Have you tested this? Should a reviewer test this too? If yes, how?
- Do we need to update docs for this and how it's supposed to be used?
In general the changes make sense to me and this is some good work. I have some thoughts on the cert_subject
property, but let's see what you think as well.
I expect the CI to fail until we merge #382 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a few suggestions but mostly lgtm
I'm getting stuck a little trying to review this because there's so many different combinations. I think it would help if the docstrings on ingress_gateway_host and _cert_subject described the possible outcomes
Can we line up the name of the config option with that of Traefik etc? (I think they use external_hostname or something like that?) |
Hey @jnsgruk the reason why I did not want to use the same name as them is because I could see us having a more explicit configuration for the external hostname (the name users will reach on their browsers), but that seems out of scope of this PR. wdyt? EDIT: or we could not have the option at all and use our "automatic" discovery and keep it implicit in istio. I will explore this option a bit more. |
This sounds like a better plan to me :) |
Yeah, definitely. Will update the PR shortly. |
cert_subject
from the ingress gateway address
cert_subject
from the ingress gateway addresscsr-domain-name
config option
Thanks @ca-scribner for the review, this is ready for another pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
There's CI failures atm which I think are unrelated to this feature, but will block publishing after this merges
feat: enable csr-domain-name config option so istio-pilot can use it on CSRs The istio-pilot charm already has a mechanism in place to discover the ingress gateway address from the `Service`, but it is limited to only returning IP addresses, which not all TLS certificate providers accept as a valid cert subject. Having the domain-name config option will allow users to specify the domain name they'd like to use when integrating with TLS certificate operators. This feature expands the support for integrating with TLS certificate providers that cannot issue signed certificates on a CSR that only contains an IP address (like we used to do). This commit also adds some test coverage to test the recently added code. Fixes #379
feat: enable csr-domain-name config option so istio-pilot can use it on CSRs The istio-pilot charm already has a mechanism in place to discover the ingress gateway address from the `Service`, but it is limited to only returning IP addresses, which not all TLS certificate providers accept as a valid cert subject. Having the domain-name config option will allow users to specify the domain name they'd like to use when integrating with TLS certificate operators. This feature expands the support for integrating with TLS certificate providers that cannot issue signed certificates on a CSR that only contains an IP address (like we used to do). This commit also adds some test coverage to test the recently added code. Fixes #379
feat: add `csr-domain-name` config option (#381)
feat: enable csr-domain-name config option so istio-pilot can use it on CSRs
The istio-pilot charm already has a mechanism in place to discover the ingress gateway address from the
Service
, but it is limited to only returning IP addresses, which not all TLS certificate providers accept as a valid cert subject. Having the domain-name config option will allow users to specify the domain name they'd like to use when integrating with TLS certificate operators. This feature expands the support for integrating with TLS certificate providers that cannot issue signed certificates on a CSR that only contains an IP address (like we used to do).This commit also adds some test coverage to test the recently added code.
Fixes #379