-
Notifications
You must be signed in to change notification settings - Fork 369
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
Migrate AWS to Simple Resource Class Selection #44
Conversation
bae7c13
to
fe6605e
Compare
@soorena776 fe6605e may be of interest. It seems the |
Uh, note to morning self: you forgot to add the new resource claim scheduling and defaulting controllers in this PR. |
Signed-off-by: Nic Cope <[email protected]>
This paves the path for cluster scoped managed resources and simple resource class selection. Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@negz This looks great, thanks for putting all these together so quickly!
As for the passed CanReference
object, they don't seem necessary here, but I think the api verbosity is still worth to support potential local referencers that we might come up later.
/LGTM
Also updates the (now cluster scoped) provider to require the namespace of its secret be specified. Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
It seems like resource.CanReference probably doesn't need metav1.Object embedded anymore. We might consider just using runtime.Object rather than resource.CanReference. Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Nic Cope <[email protected]>
Noticed #46 while testing this out. |
I actually ended up testing this using @soorena776's resource referencing work per soorena776/crossplane#1 and it has all worked. |
Looks like everything is working as expected. I'm going to hit merge. |
Migrate AWS to Simple Resource Class Selection
Migrate AWS to Simple Resource Class Selection
Description of your changes
Fixes #41
This PR:
It's a pretty huge diff but I've tried to keep everything broken down into logical commits to make the reviewing a little easier. Any changes to managed resource reconcilers that aren't mechanically removing namespaces and updating types are to ensure managed resource connection secrets are persisted to their desired namespace, and handle the case in which the (optional)
writeConnectionSecretToRef
field is nil.I'm pretty confident in the claim defaulting and scheduling logic after testing it in per crossplane/crossplane-runtime#48 and crossplane-contrib/provider-azure#35. For this stack specifically so far I have tested:
ReplicationGroup
via aRedisCluster
claim.RDSInstance
via aPostgreSQLInstance
claim.RDSInstance
via aMySQLInstance
claim.EKSCluster
via aKubernetesCluster
claim.S3Bucket
via aBucket
claim.At this stage I'm leaning toward not explicitly testing all the connectivity primitives. The changes to their types were very mechanical - they have no claims or connection secrets so it was just updating the logic that gets the provider secret. We should still test them holistically once all our in flight changes land - I imagine any bugs I might have introduced here would be quickly fixable.
Checklist
I have:
make reviewable
to ensure this PR is ready for review.app.yaml
to include any new role permissions.