Skip to content

[pull] master from gardener:master - #1891

Merged
pull[bot] merged 4 commits into
briantopping:masterfrom
gardener:master
Aug 5, 2026
Merged

[pull] master from gardener:master#1891
pull[bot] merged 4 commits into
briantopping:masterfrom
gardener:master

Conversation

@pull

@pull pull Bot commented Aug 5, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

maboehm and others added 4 commits August 5, 2026 13:59
* Skip automatic etcdEncryptionKey rotation for hibernated shoots

* Prefactor: hibernationutils

* Add HibernationScheduleProblematic constraint

* check conflicts only during the next maintenance

* Adress PR Feedback

* Rename automatic rotation constraint

Assisted-by: OpenCode (gpt-5.6-terra)

* Report all blocked automatic rotations

Assisted-by: OpenCode (gpt-5.6-terra)

* Add rotation period helper tests

Assisted-by: OpenCode (github-copilot/gpt-5.6-luna)

---------

Co-authored-by: Tim Ebert <timebertt@gmail.com>
* Make `rebootstrap-gardenlet.sh` work for shoot `gardenlet`s as well

Previously, this only worked for seed gardenlets, but shoot gardenlets
might also need to get rebootstrapped (e.g., in case their client
certificate expired for whatever reason).

Assisted-by: Claude <claude@anthropic.com>
Signed-off-by: rfranzke <rafael.franzke@sap.com>

* Support `gardener.cloud/operation=renew-kubeconfig` on self-hosted shoot `Gardenlet`s

Previously, this didn't work and the `gardenlet` was failing and
crash-looping eventually.

Assisted-by: Claude <claude@anthropic.com>
Signed-off-by: rfranzke <rafael.franzke@sap.com>

* Renew kubeconfig of shoot `Gardenlet`s when rotating garden cluster CA

During a garden cluster CA rotation, the gardener-operator already
annotates seed `Gardenlet`s to trigger kubeconfig renewal. Extend this
to shoot `Gardenlet`s (those with the `self-hosted-shoot-` name prefix)
by annotating them with `gardener.cloud/operation=renew-kubeconfig`.

Assisted-by: Claude <claude@anthropic.com>
Signed-off-by: rfranzke <rafael.franzke@sap.com>

* Address PR review feedback

Signed-off-by: rfranzke <rafael.franzke@sap.com>

---------

Signed-off-by: rfranzke <rafael.franzke@sap.com>
…riggering seed reconciliation (#15437)

* Ensure global observability secret is synced before seed reconciliation

Commit `d393a96` added rotation for the global observability ingress
secret. However, it missed a race condition that is only visible in real
Gardener landscapes. The rotation assumes the following order:

    t0: The secrets manager generates a new global observability ingress
        secret in the runtime cluster and copies it to the `garden`
        namespace in the virtual garden cluster.

    t1: The gardener-controller-manager (GCM) sees the new secret in the
        `garden` namespace and propagates it to each seed namespace.

    t2: The gardener-operator annotates the seeds for reconciliation.

    t3: The gardenlet picks up and deploys the new global observability
        ingress secret in the seed.

This path works, but t1 and t2 swap if the gardener-operator triggers
seed reconciliation before the GCM copies the new secret to the
corresponding seed namespaces.

This commit propagates the `last-rotation-initiation-time` label to the
secret replicas, and adds a step to the gardener-operator rotation flow
between t1 and t2. The step blocks until every seed namespace in the
virtual garden holds a replica whose `last-rotation-initiation-time` is
greater than or equal to the one on the original secret in the runtime
cluster. This enforces the t1-before-t2 ordering: the operator does not
annotate the seeds until the GCM has finished propagating the new
secret.

* Deduplicate secret creation in observability rotation tests

The tests that exercise empty and non-numeric
`last-rotation-initiation-time` label values inlined the full secret
creation. This adds a string-based helper that carries the label value
as a string.
@pull pull Bot locked and limited conversation to collaborators Aug 5, 2026
@pull pull Bot added the ⤵️ pull label Aug 5, 2026
@pull
pull Bot merged commit 06a3e2f into briantopping:master Aug 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants