Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (123)
📝 WalkthroughChanged files by top-level folder:
API/CRD surface changes:
What changed:
Tests added/updated:
Risk hotspots:
WalkthroughThis PR introduces the ChangesComponentReleaseBinding Introduction
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant Reconciler as componentreleasebinding.Reconciler
participant Pipeline as componentpipeline.Pipeline
participant RenderedRelease
participant ProviderCRB as Provider ComponentReleaseBinding
Reconciler->>Reconciler: validateComponentRelease / buildMetadataContext
Reconciler->>Reconciler: resolveConnections / resolveResourceDependencies
Reconciler->>ProviderCRB: list matching bindings by index key
ProviderCRB-->>Reconciler: endpoints / outputs
Reconciler->>Pipeline: Render(component, traits, workload)
Pipeline-->>Reconciler: rendered manifests
Reconciler->>RenderedRelease: CreateOrUpdate dataplane/observability release
Reconciler->>Reconciler: setReadyCondition / setResourcesReadyStatus
Possibly related PRs
Suggested reviewers: ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ast-grep (0.44.0)internal/occ/resources/client/mocks/clientwithresponsesinterface.goast-grep timed out on this file Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Overview
Following the naming alignment discussion in #3347 (
{Thing}+{Thing}Type->{Thing}Release->{Thing}ReleaseBinding), this Pull Request introduces theComponentReleaseBindingCustom Resource (CRD) and implements a side-by-side deprecation strategy for the legacyReleaseBindingCRD.Closes #3728
Contribution / Migration Guide
1. Custom Resource Definitions (CRDs)
ComponentReleaseBinding(api/v1alpha1/componentreleasebinding_types.go).ReleaseBindingis now officially deprecated.ReleaseBindingresources with a deprecation condition (ConditionDeprecated) in their status, informing developers to migrate.2. Templating & Resource Contexts
The template rendering contexts have been updated to align with the new resource structure:
ComponentTyperendering (ComponentContext), environment-specific parameters previously fetched fromReleaseBindingare now resolved viaComponentReleaseBinding.Spec.ComponentTypeEnvironmentConfigs.Traitrendering (TraitContext), overrides previously referenced viaReleaseBinding.Spec.TraitEnvironmentConfigsare now resolved viaComponentReleaseBinding.Spec.TraitEnvironmentConfigs.3. OpenChoreo API & CLI
occ): Legacyocc releasebindingcommands are marked as deprecated (using Cobra's.Deprecatedfeature). The new commands underocc componentreleasebinding(and short aliasocc crb) are now active./releasebindingsendpoints are marked as deprecated in handlers/spec; new/componentreleasebindingsendpoints are registered.4. Ecosystem & Verification
samples/), documentation files, and E2E test suites (test/e2e/suites/) have been fully migrated to useComponentReleaseBinding.