Skip to content

Releases: SAP/component-operator-runtime

v0.3.115: fix(deps): update node.js to v24.10.0 (#338)

13 Oct 07:17
bc245ad

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

v0.3.114: chore(actions): update actions/stale action to v10.1.0 (#336)

06 Oct 07:17
1095009

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

v0.3.113: fix(deps): update node.js to v24.9.0 (#334)

29 Sep 07:17
d88a903

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

v0.3.112

15 Sep 07:17

Choose a tag to compare

add sap-cs-devops label

v0.3.111

09 Sep 21:53
e960071

Choose a tag to compare

scaffold: bump versions (#332)

v0.3.110

08 Sep 07:17
0c8fae6

Choose a tag to compare

fix(deps): update module github.com/prometheus/client_golang to v1.23…

v0.3.109: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.2 (#323)

01 Sep 07:17
0744c9a

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

v0.3.108: fix(deps): update non-minor dependencies (#318)

25 Aug 07:17
3f0541d

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

v0.3.107

21 Aug 17:29
0ce7b6d

Choose a tag to compare

Enhancements

Status handling

So far, the observed generation of dependent objects was expected at status.observedGeneration. Some newer projects seem to populate status.conditions[type=*].observedGeneration, additionally, or even exclusively.

Starting with this release, if a status hint of has-observed-generation is present, but no status.observedGeneration is found, the framework will look at .status.conditions[type=Ready].observedGeneration as a fallback.

Secret handling

It is well known that the stringData field of secrets is not handled properly during server-side-apply:

Note:
The stringData field for a Secret does not work well with server-side apply.

To overcome, we will now merge stringData into data before applying and clear stringData. This should be consistent with the logic that would otherwise happen in the API server:

All key-value pairs in the stringData field are internally merged into the data field. If a key appears in both the data and the stringData field, the value specified in the stringData field takes precedence.

See #313.

Deletion handling

It is difficult to move dependent objects from one component to another. That means: adding it to the source manifest of the new one, and removing it from the sources of the old one.

The typical flow looks like this:

  • ensure that the receiving component (the new owner) is reconciled before the sending component (the previous owner)
  • annotate the dependent object (in the manifest source used by the new component) with adoption-policy: always, at least for a certain time, until the change is rolled out everywhere.

Then, when applying that, the new component will force-adopt the existing object, and the old component will run into an owner conflict error. This either has then to be solved manually by patching the old component's inventory, or (in a previous apply), the object must have been applied by the old component with delete-policy: orphan or delete-policy: orphan-on-apply.

It would be nice (and reasonable) if - upon dependent deletion, either due to component apply or component deletion - dependents with no or a different owner would be auto-orphaned. This would eliminate the need of the manual post-processing or the preflight apply run setting delete policies (as explained above).

v0.3.106: fix(go.mod/go.sum): update module sigs.k8s.io/yaml to v1.5.0 (#309)

30 Jun 07:17
26bb588

Choose a tag to compare

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>