-
Notifications
You must be signed in to change notification settings - Fork 1
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: introduces conditional control plane installation #10
feat: introduces conditional control plane installation #10
Conversation
and reuse it in smcp-related funcs
instead of nil by mistake
in certain cases this information can only be determined at runtime, for example based on user-defined values of the plugin spec.
coupled with wait condition
It relies on owner reference so can be cleaned up as other resources
Additionally moves OssmResourceTracker creation to .Apply func
This way we can cleanup the resources in case deploying service mesh manifests because creating those in Generate phase leaves them hanging due to failing Delete hook
Additionally propagates the error through reconcile to keep trying, as it was ignored.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Requesting changes (or explanations) for two things, otherwise LGTM!
pkg/kfapp/ossm/templates/control-plane/control-plane-managed.tmpl
Outdated
Show resolved
Hide resolved
Note from testing. If the
The operator enters a CrashLoopBackOff state, with the error
To get out of it, have to delete KfDef and remove finalizer manually. |
fb9768d
to
561d0e6
Compare
for example `type InstallationMode string` was previously failing when converting the default value defined in a custom tag. Now there's a check performed and if value can be convereted to a given type it will. In all other cases it will return an error.
561d0e6
to
be7923b
Compare
Thanks for spotting it! It's now fixed in ca7e9d8 in YAML: values:
prometheus is gone |
installation Proposed installation modes are: - minimal - pre-installed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested some more, lgtm
* chore: extracts smcp GVR to a var and reuse it in smcp-related funcs * fix: returns err on oauth creation failure instead of nil by mistake * feat: adds ability to enable feature based on predicates in certain cases this information can only be determined at runtime, for example based on user-defined values of the plugin spec. * feat: introduces control plane installation coupled with wait condition * fix: makes feature enabled by default * chore: reworks smcp creation It relies on owner reference so can be cleaned up as other resources * fix: applies cleanups only if feature is enabled Additionally moves OssmResourceTracker creation to .Apply func * feat: reworks plugin integration to use Apply and Delete funcs of KfApp This way we can cleanup the resources in case deploying service mesh manifests because creating those in Generate phase leaves them hanging due to failing Delete hook * fix(reconcile): corrects KfDef status in case of any error Additionally propagates the error through reconcile to keep trying, as it was ignored. * fix: reworks SMCP component readiness check * chore: improves KfApp func docs * chore: reworks logging in verifiers * chore: simplifies CRD existence check * chore: adds tests for feature enablement * fix: sets interval for SMCP polling to 5s * fix: handles types which are derived for built-in ones for example `type InstallationMode string` was previously failing when converting the default value defined in a custom tag. Now there's a check performed and if value can be convereted to a given type it will. In all other cases it will return an error. * fix: sets default control plane installation mode rely on existing installation Proposed installation modes are: - minimal - pre-installed
* chore: extracts smcp GVR to a var and reuse it in smcp-related funcs * fix: returns err on oauth creation failure instead of nil by mistake * feat: adds ability to enable feature based on predicates in certain cases this information can only be determined at runtime, for example based on user-defined values of the plugin spec. * feat: introduces control plane installation coupled with wait condition * fix: makes feature enabled by default * chore: reworks smcp creation It relies on owner reference so can be cleaned up as other resources * fix: applies cleanups only if feature is enabled Additionally moves OssmResourceTracker creation to .Apply func * feat: reworks plugin integration to use Apply and Delete funcs of KfApp This way we can cleanup the resources in case deploying service mesh manifests because creating those in Generate phase leaves them hanging due to failing Delete hook * fix(reconcile): corrects KfDef status in case of any error Additionally propagates the error through reconcile to keep trying, as it was ignored. * fix: reworks SMCP component readiness check * chore: improves KfApp func docs * chore: reworks logging in verifiers * chore: simplifies CRD existence check * chore: adds tests for feature enablement * fix: sets interval for SMCP polling to 5s * fix: handles types which are derived for built-in ones for example `type InstallationMode string` was previously failing when converting the default value defined in a custom tag. Now there's a check performed and if value can be convereted to a given type it will. In all other cases it will return an error. * fix: sets default control plane installation mode rely on existing installation Proposed installation modes are: - minimal - pre-installed
Overview
When using KfDef such as:
the operator will install a minimal version of the control plane.
Changes
Mesh.Mode
valueKfApp
call chain (see docs aroundApply()
andDelete()
)