Conversation
The new `--watch-label-selector` lets operators provide a label to the controller manager which in turn uses it to reconcile only those resources (ImageRepositories and ImagePolicies) that match the given label. This way operators can deploy multiple instances of IRC, each reconciling a distinct set of resources based on their labels and effectively scale IRC horizontally. closes #364 Signed-off-by: Max Jonas Werner <mail@makk.es>
Member
|
For IRC things are a more complicated, can you please explain in the PR description that the same shard hey must be used for all policies referring to a repo including that repo. Also writing down an example like I did in fluxcd/pkg#525 would be great. |
Signed-off-by: Max Jonas Werner <mail@makk.es>
Member
|
The github.com/fluxcd/pkg/apis/meta v0.19.1 should be v1.0.0 |
Signed-off-by: Max Jonas Werner <mail@makk.es>
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.
The new
--watch-label-selectorlets operators provide a label to the controller manager which in turn uses it to reconcile only those resources (ImageRepositoriesandImagePolicies) that match the given label.This way operators can deploy multiple instances of IRC, each reconciling a distinct set of resources based on their labels and effectively scale IRC horizontally.
If sharding is enabled, all
ImagePolicyresources can only refer to thoseImageRepositoryresources that are captured by the exact same label selector as theImagePolicies, otherwise theImagePolicieswill not become ready.Example
Given two Deployments with different shard keys:
image-reflector-controller-1with--watch-label-selector=sharding.fluxcd.io/shard=shard1image-reflector-controller-2with--watch-label-selector=sharding.fluxcd.io/shard=shard2An
ImageRepositorylike this:An
ImagePolicylike this:The
ImagePolicywill successfully be reconciled.If the
ImagePolicywould have the labelsharding.fluxcd.io/shard: shard2reconciliation would fail because it would be referring to anImageRepositoryfrom a different shard.closes #364