Avoid losing custom SANs for non-leader controllers #177
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
I want my cluster to only use IPs from the internal network of my cloud provider (Hetzner) to be able to stop the public interface of my control plane's load balancer. But I also want the public IP of my load balancer in the certificate, just in case.
Problem
When I add my load balancer public IP in
spec.api.sans
, it's added only in the init controller and not in all of them. After some debugging, it seems the issues is thatcfg.Dig("spec", "api", "sans")
is either a[]interface{}
or a[]string
.Solution
Handle both types. I was too lazy to try understanding the
Dig
thing, so a better solution may exist.