Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new workload plugin version and controller-gen logic #76

Merged
merged 15 commits into from
Jul 10, 2024

Conversation

scottd018
Copy link
Contributor

@scottd018 scottd018 commented Jul 2, 2024

This PR does the following:

  • Introduces a version 2 to the workload CLI plugin (different from the workload configuration version)
  • With version 2, all kubebuilder v4 objects, methods, and scaffold functionality is used
  • Allows used of the old v1 plugin with the OPERATOR_BUILDER_PLUGIN_VERSION=v1 environment variable
  • Removes the nested plugin layers such as golangv2, golangv3, declaritivev1, and our own configv1 which made troubleshooting incredibly confusing
  • Switches to direct controller-gen libraries to generate CRDs and DeepCopy methods as opposed to make commands on PostScaffold (adds --generate-deep-copy and --generate-manifests options)
  • Removes --resource and --controller options > operator-builder will always generate an API and controller
  • Update to operator-builder-tools version 0.6.0 (Fixes feat: specify ready condition for a resource #30)

@scottd018 scottd018 force-pushed the feat-remove-controller-gen-make-dep branch 2 times, most recently from 43c876c to cd9c7b6 Compare July 3, 2024 15:22
scottd018 added 2 commits July 3, 2024 10:23
This removes the golangv2 plugin as it is no longer necessary.  This significantly
simplifies initializing the plugins for the operator-builder CLI.

Signed-off-by: Dustin Scott <[email protected]>
Signed-off-by: Dustin Scott <[email protected]>

fix: use consistent default name qualifier

Signed-off-by: Dustin Scott <[email protected]>
@scottd018 scottd018 force-pushed the feat-remove-controller-gen-make-dep branch from cd9c7b6 to 7e76115 Compare July 3, 2024 15:24
scottd018 added 6 commits July 3, 2024 12:05
This is the first step in unplugging from kubebuilder.  We are still using the Scaffold model
but we now no longer rely on duplicative workflows used by their golang plugin model, as
we are essentially rewriting our own anyway.

Signed-off-by: Dustin Scott <[email protected]>

feat: working implementation with latest

Signed-off-by: Dustin Scott <[email protected]>

chore: fix linting

Signed-off-by: Dustin Scott <[email protected]>

refactor: revert v1 init back to commit 34870c0

Signed-off-by: Dustin Scott <[email protected]>

chore: remove incorrect comment in v2 cli creation

Signed-off-by: Dustin Scott <[email protected]>

chore: fix linting

Signed-off-by: Dustin Scott <[email protected]>

fix: correct issue where project config was missing api resource

Signed-off-by: Dustin Scott <[email protected]>

fix: lower version on controller-runtime to 0.17 to fix missing method inputs

Signed-off-by: Dustin Scott <[email protected]>
This allows us to run the controllergen function inline.  This is an attempt to improve the experience
where there may be go version and or consumer environment conflicts which sometimes causes the
'make generate' and 'make manifests' commands to fail.

Signed-off-by: Dustin Scott <[email protected]>
Signed-off-by: Dustin Scott <[email protected]>

chore: remove incorrect comment in v2 cli creation

Signed-off-by: Dustin Scott <[email protected]>

chore: adjust error messages to indicate plugin version

Signed-off-by: Dustin Scott <[email protected]>

feat: centralize addition of flags to remove inconsistencies

Signed-off-by: Dustin Scott <[email protected]>
Signed-off-by: Dustin Scott <[email protected]>

fix: correct license plugin version and capabilities

Signed-off-by: Dustin Scott <[email protected]>
Fixes nukleros#30, allows the use of operator-builder.nukleros.io/ready-path and operator-builder.nukleros.io/ready-path
annotation values on resources when waiting to determine resource readiness.

Signed-off-by: Dustin Scott <[email protected]>

fix: use latest operator tools version to avoid panic

Signed-off-by: Dustin Scott <[email protected]>
@scottd018 scottd018 force-pushed the feat-remove-controller-gen-make-dep branch 2 times, most recently from 970a9fe to 6496195 Compare July 3, 2024 17:39
@scottd018 scottd018 force-pushed the feat-remove-controller-gen-make-dep branch from 6496195 to 7b2a01b Compare July 3, 2024 17:39
@scottd018 scottd018 marked this pull request as ready for review July 3, 2024 19:27
@lander2k2 lander2k2 merged commit 4c7a7cb into nukleros:main Jul 10, 2024
7 checks passed
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.

feat: specify ready condition for a resource
2 participants