-
Notifications
You must be signed in to change notification settings - Fork 43
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
apis/v1alpha2: move ServiceImport spec fields #85
base: master
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: MrFreezeex The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr>
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr>
9f8a8a9
to
7538fca
Compare
While this adds initial support for v1alpha2 in this repo the next step involves:
|
/test pull-mcs-api-e2e |
@@ -23,6 +23,8 @@ import ( | |||
|
|||
// +genclient | |||
// +kubebuilder:object:root=true | |||
// +kubebuilder:storageversion |
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.
Shouldn't the new v1alpha2 be the stored version?
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.
The problem is that the CoreDNS plugin (which is used in the e2e tests in this repo!) or anything watching mcs api ressources would need to support v1alpha2 explicitly or that we have the webhooks already deployed/figured out. So my plan would be to do this after CoreDNS supports v1alpha2, see this #85 (comment)
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.
What is this file for?
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.
I am not entirely sure tbh, it was part of the crd generation before 🤷♂️
- type | ||
type: object | ||
served: true | ||
storage: false |
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.
This file does not specify any webhook conversion config so who is the intended consumer?
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.
I wanted to figure out webhooks as a later steps when we would be actually storing v1alpha2, but we also said at the last sig meeting that we could provide only the webhook code and not the deployment manifests so I suppose that implementation would have to update that aspect if they want to have a webhook. TBD when we would be actually implementing that and figured out recomendations to integrate it for implementations.
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.
I can work on the webhook code - shouldn't be difficult.
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.
Sure that would be great! Note that I would like to submit the CoreDNS PR to support v1alpha2 as soon as possible with the hope that it gets merged before the winter holidays by the CoreDNS folks. So I would recommend to not block the v1alpha2 version based on having the webhook or not.
My thoughts are that the consuming test code can be updated to reference the v1alpha2 Go versions. At test suite setup, we read the CRD and and check which versions are served and create dynamic |
pkg/apis/v1alpha1/serviceimport.go
Outdated
@@ -23,6 +23,8 @@ import ( | |||
|
|||
// +genclient | |||
// +kubebuilder:object:root=true | |||
// +kubebuilder:storageversion | |||
// +kubebuilder:resource:shortName=svcimport |
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.
The short name for service imports is currently svcim (see the CRDs).
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.
I know but as the name "svcim" is not anywhere else I think it might be more a lack of customization than something intended, I added both the new name and kept the old in my latest push. Does this looks ok to you? We can separate this change in another PR (it's already in a separated commit FYI) if needed
pkg/apis/v1alpha1/serviceexport.go
Outdated
@@ -22,6 +22,8 @@ import ( | |||
|
|||
// +genclient | |||
// +kubebuilder:object:root=true | |||
// +kubebuilder:storageversion | |||
// +kubebuilder:resource:shortName=svcexport |
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.
The short name for service exports is currently svcex.
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr>
7538fca
to
0e449b4
Compare
This PR is meant to supersedes #52, most commits are from this linked PR done by @mikemorris (kudos to him!) and with the few suggestions left applied and making sure everything generate well