feat: prep for new packs — ork migrate, deletion protection#182
Merged
Conversation
StrictUnmarshal replaces lenient yaml.Unmarshal in the e2e runner, simulate, validate, and SetupConfig.UnmarshalYAML so unknown fields (e.g. setup.commands) fail loudly instead of being silently ignored. Spinner output replaces raw fmt.Printf lines for helm installs, waits, and Orkestra install/upgrade steps.
ork migrate now emits a README.md alongside the rewritten reconciler. The README guides through the full flow: resolve TODOs, make registry, make build, make validate, ork simulate, make release, ork push, ork generate bundle, helm upgrade --install, ork inspect.
Custom children declared in onCreate/onReconcile custom blocks are now registered in the deletion-protection webhook (both instance GVRs and CRD type names), labeled with orkestra.io/deletion-protection=true via the label manager at create/update time, and granted GET RBAC in the gateway ClusterRole. Protection is gated on the parent CRD's ShouldProtectCRs() and ShouldProtectCRD() — opting out of protection on the owner CRD also opts out the children. IsGatewayEnabled() now treats a non-empty endpoint as sufficient to enable the gateway without requiring explicit enabled: true.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ork migratenow emitsREADME.mdwith the full migration workflow (registry → build → validate → simulate → release → push → bundle → deploy → inspect)custom:block children — GVRs and CRD names registered in webhook, labeled via label manager at create/update,getRBAC added to gateway ClusterRole; gated on parent CRD'sShouldProtectCRs()/ShouldProtectCRD()IsGatewayEnabled()treats a non-emptyendpointas sufficient —enabled: trueno longer required when an endpoint is presentStrictUnmarshal) for e2e, simulate, andSetupConfig— unknown fields now fail loudly--wait --timeout 5mTest plan
ork migraterewrites a controller-runtime reconciler; TODOs are accurate; logging import is preserved;README.mdemitted with correct stepscustom:children and deletion protection enabled — children labeled on create and update; webhook intercepts DELETE on custom child GVRendpoint:set and noenabled: true—IsGatewayEnabled()returns truee2e.yamlorsimulate.yamlreturns a clear error; valid files still parse correctlyork e2ehelm setup steps show spinner and block until helm reports ready