Skip to content
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

Add RootSyncSet controller #3462

Merged
merged 1 commit into from
Aug 19, 2022
Merged

Add RootSyncSet controller #3462

merged 1 commit into from
Aug 19, 2022

Conversation

mortent
Copy link
Contributor

@mortent mortent commented Aug 15, 2022

This adds the RootSyncSet controller to porch. This also copies code for token exchange to support workload identity from pkg/registry/porch/wi to pkg/tokenexchange.

This builds on #3456, so it must be merged after.

Copy link
Contributor

@johnbelamaric johnbelamaric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may be just out of the loop, but I am yet convinced on this concept at all. It's not clear to what problem it is solving. Can we get a use case description before we see code? I can't determine if this is the right approach before having a better understanding of the problem.


// RootSyncSetSpec defines the desired state of RootSyncSet
type RootSyncSetSpec struct {
ClusterRefs []*ClusterRef `json:"clusterRefs,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Embedding these directly doesn't work at scale. Are we sure we want to introduce the concept of "Cluster"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be fine with using "Target" instead (I think I'd personally prefer it), but I think we can iterate here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this controller uses direct API access so cluster makes sense

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it possible that this doesn't work at large scale. We can iterate on this when we get some experience with this.

// RootSyncSetSpec defines the desired state of RootSyncSet
type RootSyncSetSpec struct {
ClusterRefs []*ClusterRef `json:"clusterRefs,omitempty"`
Template *RootSyncInfo `json:"template,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we expect no variation between clusters?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I understand the plan, we're starting here and then going to figure out what variation we need.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, no variation is a starting point. We know that for some (maybe many or all) cases we do need more than this.

Copy link
Contributor

@justinsb justinsb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome - lgtm!

@justinsb
Copy link
Contributor

/approve
/lgtm

@mortent mortent merged commit ba20127 into kptdev:main Aug 19, 2022
chunglu-chou pushed a commit to chunglu-chou/kpt that referenced this pull request Aug 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants