Skip to content

Conversation

@twz123
Copy link
Member

@twz123 twz123 commented Nov 25, 2025

Description

There's no need to write them to the filesystem. Moreover, we can be sure that whenever the CRD component is initialized, the CRDs have been applied successfully, so we don't need to wait for the applier manager to pick things up.

Add the etcd member reconciler as a cluster component, just as its CRD stack. This ensures that the CRDs get applied before the reconciler is started.

Move unstructured stack application into public function The system RBAC component fed an io.Reader into a resource builder to extract unstructured objects and apply them as a stack in a retry loop. This is a pattern that is reusable across components: Move this into its own function in the applier package.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

How Has This Been Tested?

  • Manual test
  • Auto test added

Checklist

  • My code follows the style guidelines of this project
  • My commit messages are signed-off
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

It was erroneously assigned to a local variable, instead to the one of
the outer scope.

Fixes: 7b1c25b ("Apply the bootstraprbac stack directly")
Signed-off-by: Tom Wieczorek <[email protected]>
The system RBAC component fed an io.Reader into a resource builder to
extract unstructured objects and apply them as a stack in a retry loop.
This is a pattern that is reusable across components: Move this into its
own function in the applier package.

Signed-off-by: Tom Wieczorek <[email protected]>
@twz123 twz123 force-pushed the direct-crd-application branch 2 times, most recently from 36003f0 to bed82bf Compare November 25, 2025 15:02
@twz123 twz123 marked this pull request as ready for review November 25, 2025 18:58
@twz123 twz123 requested review from a team as code owners November 25, 2025 18:58
@twz123 twz123 requested review from jnummelin and makhov November 25, 2025 18:58
@twz123 twz123 force-pushed the direct-crd-application branch from bed82bf to ed69d94 Compare November 26, 2025 13:27
There's no need to write them to the filesystem. Moreover, we can be
sure that whenever the CRD component is initialized, the CRDs have been
applied successfully, so we don't need to wait for the applier manager
to pick things up.

Add the etcd member reconciler as a cluster component, just as its CRD
stack. This ensures that the CRDs get applied before the reconciler
is started.

Leave out the Helm stack for now, as this is intertwined with the
extensions controller. Both need to be changed in lockstep.

Signed-off-by: Tom Wieczorek <[email protected]>
The CRDs are now guaranteed to be applied before it's started.

Signed-off-by: Tom Wieczorek <[email protected]>
The CRDs are now guaranteed to be applied before it's started.

Signed-off-by: Tom Wieczorek <[email protected]>
@twz123 twz123 force-pushed the direct-crd-application branch from ed69d94 to 98114df Compare November 26, 2025 13:30
@twz123 twz123 mentioned this pull request Nov 26, 2025
16 tasks
@twz123 twz123 marked this pull request as draft November 26, 2025 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant