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

Implement portable classes #13

Merged
merged 4 commits into from
Sep 12, 2019
Merged

Conversation

hasheddan
Copy link
Member

@hasheddan hasheddan commented Sep 11, 2019

Description of your changes

This PR is the first step in implementing the design proposed in crossplane/crossplane#743. It refactors the shared default class reconciler and claim reconciler. Updates will need to be applied to each of the provider stacks as well core crossplane.

This is a partial fix for crossplane/crossplane#703 and crossplane/crossplane#723.

The following changes will need to be applied following merge of this PR:

  • Provider Stacks
    • Update claim controllers to pass ClassKinds instead of just Class
  • Core Crossplane
    • Bump crossplane-runtime dependency version
    • Change Policy kinds to Class kinds and make sure they embed PortableClass type and satisfy PortableClass interface
    • Update DefaultClassControllers to pass PortableClassKind instead of PolicyKind

Checklist

I have:

  • Run make reviewable to ensure this PR is ready for review.
  • Ensured this PR contains a neat, self documenting set of commits.
  • Updated any relevant documentation, examples, or release notes.
  • Updated the RBAC permissions in clusterrole.yaml to include any new types.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
Copy link
Member

@negz negz left a comment

Choose a reason for hiding this comment

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

Thanks for starting on this! I like this emergent pattern of making a smaller change here in crossplane-runtime that we can then propagate to the other projects in smaller PRs.

apis/core/v1alpha1/resource.go Show resolved Hide resolved
apis/core/v1alpha1/resource.go Outdated Show resolved Hide resolved
pkg/resource/claim_reconciler.go Show resolved Hide resolved
pkg/resource/claim_reconciler.go Outdated Show resolved Hide resolved
pkg/resource/claim_reconciler.go Outdated Show resolved Hide resolved
pkg/resource/claim_reconciler.go Outdated Show resolved Hide resolved
pkg/resource/defaultclass.go Outdated Show resolved Hide resolved
pkg/resource/defaultclass.go Show resolved Hide resolved
pkg/resource/defaultclass.go Outdated Show resolved Hide resolved
pkg/resource/predicates.go Outdated Show resolved Hide resolved
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
Copy link
Member

@negz negz left a comment

Choose a reason for hiding this comment

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

Almost ready to merge; just a few minor comments to address.

apis/core/v1alpha1/resource.go Outdated Show resolved Hide resolved
apis/core/v1alpha1/resource.go Outdated Show resolved Hide resolved
pkg/resource/defaultclass_test.go Outdated Show resolved Hide resolved
pkg/resource/interfaces.go Outdated Show resolved Hide resolved
pkg/resource/predicates.go Outdated Show resolved Hide resolved
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
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.

None yet

2 participants