uselagoon / remote-controller

A group of controllers for handling Lagoon builds and tasks in Kubernetes or Openshift
5 stars 1 forks source link

feat: introduce v1beta2 and deprecate v1beta1 #247

Closed shreddedbacon closed 5 months ago

shreddedbacon commented 9 months ago

Checklist

Introduces v1beta2, but announces the deprecation of the v1beta1. The main part of this is to make isolating v1beta1 and v1beta2 interactions so that future version changes of the underlying CRDs can be done easier. This means that steps like this are not required to be performed if the updated CRD versions are included in the chart.

Since v1beta2 is the supported controller version from this release, this means that all new messages from core will be created using v1beta2. Existing v1beta1 builds and tasks that may exist at the time the controller is upgraded will still be able to function using the v1beta1 controllers. This allows for a transition period of potentially running builds to complete. Once builds complete, the v1beta1 endpoint is effectively unusable outside of direct kubernetes interactions.

A future release will move the v1beta1 controllers into a cleanup mode only where it will not create any new resources, and will only remove old resources. After that another release will then completely remove v1beta1.

shreddedbacon commented 7 months ago

There are a couple of other PRs that will introduce changes to the CRD, so this PR should be merged before those other PRs are so that a single CRD release can be done with all the new features.

shreddedbacon commented 5 months ago

Going to merge this into a new branch main-v1beta2 that will be used for being able to stage all PRs that need to go into it. then we can look at a merging main-v1beta2 into main once all accompanying PRs are merged.