Allow master flag to take multiple values for watching configmaps#62
Merged
Allow master flag to take multiple values for watching configmaps#62
Conversation
Collaborator
Author
|
👍 |
1 similar comment
|
👍 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR changes the
--masterflag to a slice so that it can be specified multiple times. For each master it sets up a ConfigMap watcher that all feed into the same channel so that the controller can process ConfigMaps from multiple clusters.AFAIK, deduplication is already part of the implementation but it's especially important here.
I extracted the previous (single-client) functions into their own function. This way they don't need to be indented when they become part of the for loop which keeps the diff smaller and the actual changes are more visible.
It's backwards compatible. The default value will yield one master
""which is the same as before and targets the local cluster.There's nothing that maps credentials to the individual masters, so it only works correctly, when the credentials (however they are provided) work for all clusters.
Furthermore, providing a custom
--kubeconfigmight not be fully supported but if you look closely it never worked before anyways. I don't want to fix it in this PR as it doesn't make it worse than before.