-
Notifications
You must be signed in to change notification settings - Fork 102
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
[RFC] Consider creating provider-gcp-beta #309
Comments
I missed the community meeting, but I agree that a separate provider would make sense. I'm not sure about the naming though. There could be several Additionally, I think crossplane/crossplane#2122 would be pretty helpful to folks who want to use beta APIs for some resources and v1 APIs for others. |
Not sure I follow where you see the naming conflict here. It seems to me that having |
Are we sure that there will not be a |
@muvaf we cannot guarantee that, but the point of having the two different providers is not to map to a specific API for each but rather to have one where we can offer "stable" resources and one where we can offer "unstable" ones. So if there was a |
Got it, sounds good to me. Thanks for the explanation! |
Option 3 does seem the best choice. There's one caveat end user would face and this has to be fixed upstream in Kubernetes. End user cannot |
Option three has my vote! I'd go with We'll need to do a thorough job of communicating these breaking changes - any idea how we can go about that given that we typically don't have provider scoped release notes or documentation? |
This proposal is now in motion in https://github.com/crossplane/provider-gcp-beta. I think this is a great forcing function to introduce provider-specific release notes. According to governance, this is enforced on a per-provider level, but I would encourage us to go ahead and apply it to all providers under the crossplane org. |
What problem are you facing?
As detailed in #308, having resources rely on
v1beta1
GCP APIs precludes them from every reaching post-v1alphaX
status because we cannot guarantee their stability. When fields are dropped or changed in the GCP API we are forced to either drop or change them in Crossplane because pinning the GCP API to a specific version blocks implementation of newer resources and features. However, we need to supportv1beta1
GCP APIs in some capacity because users rely on some of the features.How could Crossplane help solve your problem?
At the Crossplane Community Meeting on March 1st, 2020 there were a number of ideas discussed to solve this problem. The three primary variations are detailed below with pros and cons of each:
beta.<group>.gcp.crossplane.io
resources for eachv1beta1
GCP API group and keep all resources in thebeta
group asv1alphaX
Crossplane APIs.provider-gcp-beta
that has resources for all of thev1beta1
GCP API groups that match the GVK of theprovider-gcp
v1
API resources.v1beta1
andv1
APIs differ + if the Crossplane version was the same in the GVK, which it likely wouldn't be because all resources inprovider-gcp-beta
should remainv1alphaX
)provider-gcp-beta
that has resources for all of thev1beta1
GCP API groups that have different GVK (i.e.<group>.gcp-beta.crossplane.io
) than theprovider-gcp
v1
API resources.As could likely be gleaned from the Pros and Cons lists above, option three (3) was agreed upon as the best solution. However, this issue is meant to serve as an RFC for contributors and users to provide feedback on.
The text was updated successfully, but these errors were encountered: