Skip to content

Releases: cisco-open/operator-tools

v0.27.1

07 Dec 15:27
Compare
Choose a tag to compare

What's Changed

Full Changelog: banzaicloud/operator-tools@v0.27.0...v0.27.1

v0.27.0

29 Nov 14:52
Compare
Choose a tag to compare

What's Changed

Full Changelog: banzaicloud/operator-tools@v0.26.3...v0.27.0

v0.26.3

24 Nov 14:48
477741c
Compare
Choose a tag to compare

What's Changed

Requires RBAC get for the namespace the inventory is located in.

Full Changelog: banzaicloud/operator-tools@v0.26.2...v0.26.3

v0.26.0

18 Oct 13:15
367e967
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: banzaicloud/operator-tools@v0.25.4...v0.26.0

Allow configurable propagation for Replacement delete

13 Aug 16:52
357f844
Compare
Choose a tag to compare

Replacing a StatefulSet because of immutable fields WITH propagation deletes all the pods.

It does not obey the UpdateStrategy or respect a PodDisruptionBudget, causing downtime.

For statefulsets the following ReconcilerOpts of a GenericResourceReconciler can be used to delete the resource without deleting underlying pods. Recreating the statefulset will adopt existing pods as long as the labels match.

o := ReconcilerOpts{}
recreateErrorMessageSubstring := "Forbidden: updates to statefulset spec for fields other than"
o.RecreateErrorMessageSubstring = &recreateErrorMessageSubstring
o.EnableRecreateWorkloadOnImmutableFieldChange = true
o.RecreatePropagationPolicy = client.PropagationPolicy(metav1.DeletePropagationOrphan)

Note: this only applies to statefulsets for now but will be individually configurable for different resource types in a future release.

Fix object key matching in overlay patching

16 Apr 09:57
Compare
Choose a tag to compare

Configurable recreate

16 Mar 13:37
Compare
Choose a tag to compare
  • Recreate only services and workloads (sts, deploy, ds) by default, but make it and the delay fully configurable
  • Optionally recreate resource immediately
  • Guard to check that invalid status errors (HTTP 422) are immutable field update errors

Immediately failing precondition checks

11 Feb 12:17
a53c2f0
Compare
Choose a tag to compare

Adds the ability to use custom error type, that the precondition check logic could implement to see if an error returned from the check is a fatal one or not and set the status to failed (instead of reconciling) and return without a requeue request immediately.

Helm template modifiers and embeddable yaml layers

05 Feb 14:26
Compare
Choose a tag to compare

Adds the ability to use custom modifiers and yaml layers for resources prepared by the helm template reconciler before applying them on the cluster.

Modifiers can be used to apply arbitrary transformations on runtime.Objects from client code, while yaml layers can also perform deletions and have the ability to be embedded into CRDs directly.

SMP merger and typeoverrides

26 Jan 07:48
Compare
Choose a tag to compare

New package: pkg/typeoverride

Types in this package are the structural equivalent of their original Kubernetes counterparts with the difference, that required fields are declared as optional using omitempty or in certain cases some fields are left off.

The purpose of this is that now these types can be embedded into CRDs and can be used to provide a convenient override mechanism for resources created inside an operator combined with the Merge function in pkg/merge

Breaking change

Changes the signature of the Merge function in pkg/merge and Unmarshal results directly into base.

Depractions

Base types in the pkg/types are now deprecated in favour of using pkg/typeoverride with pkg/merge

Tooling

Upgrade controller-gen to v0.4.1 and fix makefile to always use locally installed version