Skip to content

Conversation

@goelozev
Copy link
Contributor

will fill-in

@goelozev goelozev requested a review from a team December 10, 2025 10:16
@goelozev goelozev force-pushed the CI-3567-release-reconciler branch 3 times, most recently from 83cf348 to 7a03689 Compare December 17, 2025 16:45
@goelozev goelozev changed the base branch from master to pre-release-5.1.0 December 17, 2025 18:21
@goelozev goelozev force-pushed the CI-3567-release-reconciler branch from 7a03689 to be6286e Compare December 17, 2025 18:55
@goelozev goelozev force-pushed the CI-3567-release-reconciler branch from be6286e to 0584964 Compare December 18, 2025 15:16
feat: handling release annotations

test: update tests for new method signature

feat: adding basic culling and annotation logic

chore: ignore the tmp folder

feat: adding logic to initialise release

refactor: move the release initialisation to the helpers

feat: added logic for activating/deactivating releases

fix: increment history id when pushing to the history

feat: add sorting function for releases

feat: add logic to trim releases

chore: remove status fields around signature

chore: merge two helper files

feat: generate status.signature

fix: the initial "Active" condition status should be unknown

fix: this is already handled in the reconcile util

feat: add a method to find all uninitialised releases

feat: adding safeReleaseActivation

refactor: remove observedGen and change signature length

fix: remove outdated fields

feat: activating releases only when deploymentEndTime is set

feat: added logic to reconcile releases during down time

feat: enhanced helpers

chore: make gen

fix: reconcile a release immediatelly if the status fields are empty

feat: improved logic when multiple releases are created at the same time

chore: clean up of code formatting

feat: trim the signature length to 10 characters

refactor: when activating a release deactivate any release that might be active

When activating a release (setting the deployment end time), it might be
the case that the release itself is not the latest one (i.e. is not
supposed to be active). Therefore, this commit refactors the logic to
fetch all releases with an Active condition + any release that have
deployment end time after the current activated release. The code then
will determine which is the actual active release and deactivate the
others.

chore: remove redundant sort

feat: add two options for culling releases

Users will have two options to configure culling on their releases -
'created-at' will always delete the oldest release, while 'signature'
will delete repeating signature releases first, before it resorts to
deleting releases based on their creation timestamp.

refactor: variable rename

feat: remove redundant function

test: updated test to the latest CRD and controller implementation

feat: added logic to determine whether the current reconciled release should be the active one

fix: simplify the condition that check if annotations have changes

refactor: renamed release activation function and removed some unused lines

fix: missing if-statement

fix: culling by deployment end time

culling should be done by deployment end time and only if deployment end
time isn't set, by creation timestamp

refactor: remove retry logic when updating annotations

refactor: remove MaxHistoryLimit as not needed

test: fixed handleAnnotation test cases

fix: re-enable reconciler

fix: return error when annotations fail

test: rewrote tests to fit the new controller implementation

refactor: remove updateReleaseStatus for cleaner implementation

test: fixes of test suites

refactor: cleaned up handleAnnotations test suit

refactor: remove helpers test from controller suite

refactor: culling logic
@goelozev goelozev force-pushed the CI-3567-release-reconciler branch from e5c209a to 47b66d7 Compare January 14, 2026 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants