Skip to content

[CI only – do not merge] fix(openapi): honor pullPolicy - #1

Open
marxus wants to merge 1 commit into
v2-nextfrom
fix/openapi-honor-pullpolicy
Open

[CI only – do not merge] fix(openapi): honor pullPolicy#1
marxus wants to merge 1 commit into
v2-nextfrom
fix/openapi-honor-pullpolicy

Conversation

@marxus

@marxus marxus commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Self-PR to run fork CI on the fix branch (mirrors upstream kbind-dev#610). Do not merge.

@marxus marxus closed this Aug 11, 2026
@marxus marxus reopened this Aug 11, 2026
The schema.source: OpenAPI path installed every synthesized CRD from the
provider's discovery unconditionally, ignoring pullPolicy and any binding.
Against a kcp workspace this mirrors the whole built-in *.kcp.io system
surface (apis/tenancy/topology/cache/core) onto the consumer, not just the
API the consumer bound.

Split discovery from install so OpenAPI behaves like the CRD source:
- discoverAndInstall (OpenAPI) now only synthesizes candidate CRDs to
  populate status.exportedAPIs; it installs nothing. Keeping exportedAPIs
  populated is what lets a ClusterBinding go Ready (not APINotExported), so
  status + related-resource sync keep working against kcp.
- pullPolicy: All eager-install in Reconcile is now source-aware (OpenAPI
  synthesizes+installs; CRD pulls the provider object) — no regression.
- pullPolicy: Bound installs on demand in the binding reconciler, only the
  CRD for the referenced API (kcp is CRD-less, so it synthesizes it).
- pullPolicy: None installs nothing; the user manages the CRD.

Update the schema-source e2e test to assert the new contract: under Bound
the Connection installs nothing until a binding references the API, and the
binding then installs the synthesized CRD.

Result: source: OpenAPI + pullPolicy: Bound installs only bound APIs; kcp
system groups no longer leak onto the consumer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Amit Marcus <marxus@gmail.com>
@marxus
marxus force-pushed the fix/openapi-honor-pullpolicy branch from 0caf9be to 6409d62 Compare August 11, 2026 10:48
@marxus marxus closed this Aug 11, 2026
@marxus marxus reopened this Aug 11, 2026
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.

1 participant