Skip to content

Releases: SAP/component-operator-runtime

v0.3.22

01 May 19:21

Choose a tag to compare

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 via component.ReconcilerOptions, or by making the generator implement the types.SchemeBuilder interface.

Enhancements

  • Requeues are now jittered to smoothen load peaks.

v0.3.21

29 Apr 07:16

Choose a tag to compare

add comment

v0.3.20

22 Apr 07:16

Choose a tag to compare

fix(deps): update non-minor dependencies to v0.29.4

v0.3.19

15 Apr 07:14
18ec675

Choose a tag to compare

add new status hint: 'conditions' to specify extra conditions to be m…

v0.3.18

08 Apr 07:16

Choose a tag to compare

fix(deps): update module sigs.k8s.io/kustomize/api to v0.17.1

v0.3.17

01 Apr 07:16

Choose a tag to compare

template functions fromYaml/fromJson should work with arbitrary values

v0.3.16

28 Mar 22:33
029347a

Choose a tag to compare

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 .dependencies field in Chart.yaml (that is, alias, condition, tags, import-values)

v0.3.15

25 Mar 22:55

Choose a tag to compare

Merge branch 'main' of https://github.com/sap/component-operator-runtime

v0.3.14

25 Mar 07:15

Choose a tag to compare

improve comments

v0.3.13

24 Mar 22:48
6edde34

Choose a tag to compare

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)