Releases: SAP/component-operator-runtime
Releases · SAP/component-operator-runtime
v0.3.22
Incompatible changes
- Periodically force-apply objects. Previously, objects only got re-applied to the cluster if their annotated digest went out of sync. That means that foreign changes to the dependent object were not reverted, until a real change happened to the object's specification. Now, all objects will be forcefully re-applied at least every 60 minutes.
- Never use
mgr's client for dependents' reconciliation. So far, under certain circumstances, the controller-runtime manager's client was used to reconcile dependents. Non-standard types returned by the used generator therefore could be supported by just adding them to the manager's scheme. This will no longer work. Now, the dependents' reconciler will always use a fresh client. If extra types are needed in its scheme, this can be achieved by passing a scheme builder viacomponent.ReconcilerOptions, or by making the generator implement thetypes.SchemeBuilderinterface.
Enhancements
- Requeues are now jittered to smoothen load peaks.
v0.3.21
add comment
v0.3.20
fix(deps): update non-minor dependencies to v0.29.4
v0.3.19
add new status hint: 'conditions' to specify extra conditions to be m…
v0.3.18
fix(deps): update module sigs.k8s.io/kustomize/api to v0.17.1
v0.3.17
template functions fromYaml/fromJson should work with arbitrary values
v0.3.16
Changes
This release removes most of the restrictions in HelmGenerator. That is: HelmGenerator now supports
- arbitrary subcharts (so far only one level of library subcharts were supported)
- nested subcharts
- subchart metadata as supplied via. the
.dependenciesfield inChart.yaml(that is,alias,condition,tags,import-values)
v0.3.15
Merge branch 'main' of https://github.com/sap/component-operator-runtime
v0.3.14
improve comments
v0.3.13
CAVEAT
You must not directly upgrade to this release or a higher release from a release lower than v0.2.3. Release v0.2.3 changed the format of owner IDs in an incompatible way, and introduced a temporary workaround to support the old owner ID format. This workaround is removed with v0.3.13.
Moreover, you must ensure that consumers of your operators deploy at least one version of your operator which uses a component-operator-runtime version between v0.2.3 and v0.3.12.
Changes
This release is a refactoring release. The reconciler logic for dependent objects is carved out into a dedicated package (pkg/reconciler).
Most relevant functions are:
func NewReconciler(name string, clnt cluster.Client, options ReconcilerOptions) *Reconciler
func (r *Reconciler) Apply(ctx context.Context, inventory *[]*InventoryItem, objects []client.Object, namespace string, ownerId string, componentRevision int64) (bool, error)
func (r *Reconciler) Delete(ctx context.Context, inventory *[]*InventoryItem) (bool, error)
func (r *Reconciler) IsDeletionAllowed(ctx context.Context, inventory *[]*InventoryItem) (bool, string, error)