-
Notifications
You must be signed in to change notification settings - Fork 96
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
Managed Reconciler: ExternalObservation type should pass more information to the Create method #127
Comments
I'm not sure if I understood you correctly but in API patterns one-pager, we recommend that the one managed resource should result in one external resource, if that's what you mean. This is because About carrying a map; the assumption of Could you elaborate on what you're trying to achieve? |
@muvaf thanks for the comment! My use case is that in order to provision an external resource
As you can see, the If the assumption is that managed resource always results in creating only one external resource in a single phase, then the managed reconciler doesn't seem to be appropriate choice for my scenario, which is fine. However I won't be able to use the goodies that are provided by the crossplane-runtime library. |
The closest case that I can see in Crossplane is route table resource on aws provider. |
This is the case ideally but I can imagine we do make some compromises as APIs are scattered with more than resources which need a That said,
Sadly, this seems like a buggy implementation where |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
What problem are you facing?
When using the managed reconciler pattern, it's sometimes the case that more than just one operation need to be performed in the external resource's
Create
method, conditioned on the observation made. For instance, an external resource might need 3 distinct sub-components to be provisioned in order, for it to be created. Currently, every time theCreate
method is called, it uses the CR's fields, to determine what operation it should run, which is not efficient and essentially the observation is done again in theCreate
method (it is triggered merely based on the fact thatExternalObservation{ ResourceExists: false }
).How could Crossplane help solve your problem?
More information (for instance a map of key-values) could be passed to Create method, making it more context-aware.
The text was updated successfully, but these errors were encountered: