GA: Promote Receiver API to notification.toolkit.fluxcd.io/v1#498
GA: Promote Receiver API to notification.toolkit.fluxcd.io/v1#498
notification.toolkit.fluxcd.io/v1#498Conversation
8611b77 to
1e6bd1e
Compare
notification.toolkit.fluxcd.io/v1
|
@makkes please fix the "the object has been modified; please apply your changes to the latest version and try again", we need to reload the objects in tests before an update. |
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. In addition to that we want the API navigation entry to appear at the bottom of the tree. To accomplish that the import script is now able to parse a weight parameter from imported markdown specs and put it into the front matter of the resulting file. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
With fluxcd/notification-controller#498 we're graduating the Receiver API group version to v1 and keeping all other kinds' version at v1beta2. Therefore we need to publish API docs for both version. In addition to that we want the API navigation entry to appear at the bottom of the tree. To accomplish that the import script is now able to parse a weight parameter from imported markdown specs and put it into the front matter of the resulting file. refs fluxcd/notification-controller#436 Signed-off-by: Max Jonas Werner <mail@makk.es>
11adbe7 to
45cdae1
Compare
|
Manual upgrade testing:
Results:
|
|
@darkowlzz @somtochiama addressed all of your comments. |
darkowlzz
left a comment
There was a problem hiding this comment.
We may need to update https://github.com/fluxcd/notification-controller/blob/main/docs/spec/README.md, similar to how it's updated in SC fluxcd/source-controller@d905985#diff-c0be2b6354cdd4c26a5c58880a73ec4206d21d8e4c67605ddf6c78fb89e56f90 .
I'm not sure I understand the motivation for removing the paragraphs from the README in s-c and the commit message doesn't mention any. Do we not want this documentation to be available anywhere? I don't really mind but would like to understand how to adapt the README here in n-c accordingly. |
2259c84 to
249f0d1
Compare
@makkes I don't know the historic reason for that document but after reading them, it seems like they were initial design docs for the components and now after some maturity and development, most of the specifications of the components are present in the individual API spec docs. So, maybe that document can just link to the spec docs of different versions like in the case of SC. |
|
@makkes can you please redo the PR description to document the changes and upgrade procedure? This will help with the changelog. Examples: |
|
internal/server/receiver_server.go is still using the v1beta2 API. |
|
v1beta2 |
The |
|
Based on the last comment, all the API definitions in |
I must admit I find it strange to not confine all v1beta2 types to their respective Go package but rather reach out to definitions in another API version. This puts a lot of cognitive burden on developers that are working with the v1 types because they might be used in older versions of the API. |
It's only one package |
|
Let's update |
08b1ae2 to
af686a3
Compare
stefanprodan
left a comment
There was a problem hiding this comment.
LGTM
Thanks @makkes and @darkowlzz
PS. We need to wait for SC release, update the API refs in here, then merge.
This commit bumps the Receiver API version to v1 in preparation of the Flux GitOps GA milestone (https://fluxcd.io/roadmap/#flux-gitops-ga-q1-2023). We are now actively maintaining two versions of the notification API group in parallel: v1 which currently only holds the Receiver kind and v1beta2 for all other kinds. Since we haven't run into this situation before, I had to change the way we expose the API docs in ./docs/api: The directory now has sub-directories for each active API version. Therefore we need to change our scripts in the website repository to take this change into account so that we expose both API group version at https://fluxcd.io/flux/components/notification/api/. This change is implemented in fluxcd/website#1427. refs #436 Signed-off-by: Max Jonas Werner <mail@makk.es>
This functionality has been implemented in #482 but we only want to expose it in v1 of the API. Signed-off-by: Max Jonas Werner <mail@makk.es>
Signed-off-by: Max Jonas Werner <mail@makk.es>
v1 will be the default version in the upcoming version of n-c. Signed-off-by: Max Jonas Werner <mail@makk.es>
API changes
The
Receiverkind was promoted from v1beta2 to v1 (GA). All other kinds of thenotification.toolkit.fluxcd.iogroup stay at version v1beta2.The
receivers.notification.toolkit.fluxcd.ioCRD contains the following versions:Upgrade
The
Receiverv1 API is backwards compatible with v1beta2.To upgrade from v1beta2, after deploying the new CRD and controller, set
apiVersion: notification.toolkit.fluxcd.io/v1in the YAML files that containReceiverdefinitions. Bumping the API version in manifests can be done gradually. It is advised to not delay this procedure as the beta versions will be removed after 6 months.refs #436
Tasks tbd before merging:
SOURCE_VERin Makefile to v1.0.0