-
Notifications
You must be signed in to change notification settings - Fork 103
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
Select ProviderConfig via labels #319
Comments
I think this is a duplicate of crossplane/crossplane#1699, though I'm tempted to keep this newer issue as it has a little more detail. This is also loosely related to crossplane/crossplane#2255. FWIW I'm a strong +1 on this and would be happy to see it implemented. |
@MisterMX would you be interested in contributing this? I think we can have another reference resolver specific to this and possibly have it placed in a chain before the default |
@muvaf yes, I can have a look at it, although my time is currently limited. But I am very interested in this feature. |
cool @MisterMX! if you don't get the time to do this soon, that's OK. There may be some other folks interested in taking on this somewhat scoped but beneficial feature. If you start to work on it officially, please do assign yourself to it so we can coordinate :) |
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. |
We're running into this as well, given that we want to create both Kubernetes Clusters and things that launch to those kubernetes clusters from various Claims. We currently make a best-effort attempt to match a generic With a selector, the environment could be patched as a label to generated ProviderConfigs and then targeted by claims with a similar label. |
I think this feature would be also very useful for us and I would like to take a look into this.
Does it sound reasonable? I'm wondering if there's a way to implement that without much effort of provider maintainers, e.g. by generating the reference resolver with angryjet. |
Thanks for your enthusiasm/willingness to take this on @twobiers! 🙇♂️ A question for other maintainers, since this isn't an area I'm super familiar with: would further investments in a cross resource reference based experience still be supported now that "extra resources" are available? I think this was suggested in crossplane/crossplane#4627 (comment), but I'm not sure if /cc @negz @phisco @turkenh @bobh66 For your proposal @twobiers, it could be a good idea to explore further with some prototyping to better learn the boundaries of this problem and how the existing framework could support it. Question for you: Does this need to be a separate type of reference resolver, or can the existing |
Thanks for pointing extra resources out, I think that should do the trick in general. Speaking of "native" support, the
Actually thinking about that more, that makes a lot of sense. Because it would require nearly none intervention of a provider developer (assuming using angryjet/upjet). However, I'm wondering about the change in the APIs responsibility, because the ProviderConfigSelector would become part of every MR, while the An alternative would be to use the existing |
What problem are you facing?
Crossplane managed resources currently support referencing a
ProviderConfig
via its object name throughspec.providerConfigRef.name
.This requires the name to be known when creating the MR. However, this is not always the case. For example, if one creates an EKS cluster through a composition that also generates a new
helm.crossplane.io/ProviderConfig
, the name will have a dynamic hash appended as prefix. In this case one would have to wait for the composite resource and copy-paste the name before deploying resources on the cluster.How could Crossplane help solve your problem?
Since one can add the composite labels to the
ProviderConfig
such ascrossplane.io/claim-name
andcrossplane.io/claim-namespace
one could select the respective provider config using this labels.This way I could install a helm
Release
by referencing the config through aproviderConfigSelector
, i.e.The text was updated successfully, but these errors were encountered: