-
Notifications
You must be signed in to change notification settings - Fork 262
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
OpenStack client TLS configuration flags #1871
Comments
I don't have much opinions yet but in general for these things I like when it's consistent with other providers. I know you worked on another provider, maybe we can just propose the same pattern and see how it works for us? |
Issue here is that many/most k8s components are either server or client, but not both in the same code base, especially towards external systems that might be configured differently than the k8s components. Enforcing TLS 1.3 is a bit niche feature still, so quickly checking other providers the only ones having the configuration is the ones we've contributed it to so far. For these reasons I'd lean towards separate flags personally. |
I'd say the flags should be separate. I would expect that the user does not have control over the OpenStack provider and will have to live with whatever TLS versions they support. Therefore we could easily have a situation where the client config is "forced" and I think we should then still allow the user to configure the webhook as they like. |
Thanks, I agree with this. Follow-up: which wording would you prefer? |
Before we jump to that I would like to understand it a bit better. We use a I got curious and did some digging. This is where the current configuration is taking place: cluster-api-provider-openstack/pkg/scope/provider.go Lines 225 to 282 in 4d81532
|
That would've been desired and cleaner option, but unfortunately OS does not allow configuring TLS via clouds.yaml : That said, default would stay as 1.2/1.3 auto-negotiate here, and only if the user knows their could can do TLS 1.3 and they wish to use only it, they could flip the switch in CAPO client too. We have some enterprise use-cases where this would be desired functionality. Implementation wise, reading off the flags and placing them into |
Sounds good to me. To make it perfectly clear, the flags would enforce the client configuration for all CAPO clusters, so it would not be possible to enforce TLS 1.3 for only a subset of clusters for example. I don't have a strong opinion on the wording for the flags. Both options look good |
On the second thought, it doesn't make a lot of sense to define these flags. While the actual implementation wouldn't be too complicated, testing this is annoying and the benefits are questionable:
Hence, I'm going to save the effort and close this. /close |
@tuminoid: Closing this issue. In response to this:
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/test-infra repository. |
/kind feature
Describe the solution you'd like
CAPO calls OpenStack API as client. That client connection is using TLSconfig that is only setting TLSminversion of TLS 1.2. As follow-up to TLS configuration flags for CAPO webhook I think it would be nice to make that client connection TLS configurable as well.
Anything else you would like to add:
Before implementing it, I'd like to hear how maintainers would like to see it done. Namely if the client TLS connections should honor the same configuration flags as webhooks (
--tls-min-version
,--tls-max-version
), or if the client connection should have its own flags, something like--tls-client-min-version
or--tls-min-version-client
etc.The text was updated successfully, but these errors were encountered: