-
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: enable certificates relation on istio-pilot #338
Conversation
7a87bd4
to
8037c86
Compare
5c93997
to
70d92bd
Compare
ba782d0
to
df30ab1
Compare
CI failures should be fixed by #341 |
5948695
to
4875352
Compare
Enabling the certificates relation enables the integration with tls-certificates-operator and other charms that provide CA certificates. These CA certificates are used by istio-pilot to configure TLS on the ingress Gateway resource. In the past this was done exclusively via charm configuration, which is now removed in favour of CA certificates provided through the certificates relation.
4875352
to
ec8289c
Compare
What if a user accidentally sets the ingressgateway's Service to be nodeport, instead of loadbalancer? |
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.
thanks @DnPlas
left small comments and I think a good addition would be an integration test that deploys self-signed-certificates
or any example provider, and makes sure to reach the ingressgateway with TLS.
Well, the istio-pilot charm is smart enough to handle these scenarios through the |
Tried the manual testing steps and confirm the following output
|
Thanks for confirming, ultimately, since this is a self signed certificate, it has to be loaded to your local trusted certificate location for your OS so that curl can establish the connection, but at least we see the TLS handshake, which helps us visualise the attempt. |
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.
Changes LGTM, but the CI seems flaky. Let's merge once CI passes.
Enabling the certificates relation enables the integration with tls-certificates-operator and other charms that provide CA certificates. These CA certificates are used by istio-pilot to configure TLS on the ingress Gateway resource.
In the past this was done exclusively via charm configuration, which is now removed in favour of CA certificates provided through the certificates relation.
Manual testing
istio-pilot
from this PR's branchistio-pilot
and relatejuju deploy ./istio-pilot*.charm --trust juju relate istio-pilot istio-ingressgateway juju relate istio-pilot:certificates self-signed-certificates:certificates
kubectl get Gateway <name of default-gateway> -n<namespace> -oyaml
) and Secret (secret name should be -gateway-secret) to see the certificate in place. The Gateway should show this:The Secret should have a cert and key in a long encoded string.
TODO: