Adds the disableWait pattern to clusters/_template/bootstrap-kit/14-crossplane-claims.yaml. PR #247 authored bp-crossplane-claims as the CRD-ordering split off bp-crossplane but the new HR shipped with `spec.timeout: 15m` (the same band-aid PR #250 was removing from the rest of bootstrap-kit). This catches slot 14 up to the canonical event-driven pattern: install.disableWait: true upgrade.disableWait: true (no spec.timeout) Helm completes when manifests apply; Flux dependsOn (bp-crossplane Ready=True) gates start; XRDs+Compositions reach Ready independently. NOT touching slots 20-26 (opentelemetry/alloy/loki/mimir/tempo/grafana/langfuse) even though those carry the same blanket timeout — they are Day-1 marketplace items that #310 removes from clusters/_template/bootstrap-kit/ entirely. Editing files about to be deleted is noise. If a Day-1 chart resurfaces post-#310 (in a marketplace overlay), the disableWait pattern travels with it via documentation. Refs: #310 (Phase 0 trim — slots 20-26 removal), #250 (event-driven pattern established), #247 (bp-crossplane-claims authored), session-2026-04-30 chart-fix sweep (Agent C investigation). Co-authored-by: Hatice Yildiz <hatice.yildiz@openova.io> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
64 lines
2.2 KiB
YAML
64 lines
2.2 KiB
YAML
# bp-crossplane-claims — Catalyst Day-2 CRUD XRDs (compose.openova.io/v1alpha1)
|
|
# + default Hetzner-backed Compositions. Split out of bp-crossplane at
|
|
# release 1.1.3 to resolve intra-chart CRD-ordering: a single Helm release
|
|
# cannot install a CRD AND a CR of that CRD's kind in one apply pass —
|
|
# the apiserver rejects the CR because the CRD is not yet registered.
|
|
#
|
|
# Wrapper chart: platform/crossplane-claims/chart/
|
|
# Reconciled by: Flux on the new Sovereign's k3s control plane, AFTER
|
|
# bp-crossplane is Ready (dependsOn below) — at which point
|
|
# the apiextensions.crossplane.io/v1 CRDs that the upstream
|
|
# crossplane subchart registers are live.
|
|
|
|
---
|
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|
kind: HelmRepository
|
|
metadata:
|
|
name: bp-crossplane-claims
|
|
namespace: flux-system
|
|
spec:
|
|
type: oci
|
|
interval: 15m
|
|
url: oci://ghcr.io/openova-io
|
|
secretRef:
|
|
name: ghcr-pull
|
|
---
|
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: bp-crossplane-claims
|
|
namespace: flux-system
|
|
spec:
|
|
interval: 15m
|
|
releaseName: crossplane-claims
|
|
targetNamespace: crossplane-system
|
|
# bp-crossplane installs the apiextensions.crossplane.io/v1 CRDs
|
|
# (CompositeResourceDefinition, Composition) via the upstream subchart's
|
|
# CRD payload. We MUST wait until that HelmRelease reports Ready=True
|
|
# before applying the XRDs+Compositions in this chart, otherwise the
|
|
# apiserver returns:
|
|
# no matches for kind "CompositeResourceDefinition" in version
|
|
# "apiextensions.crossplane.io/v1" -- ensure CRDs are installed first
|
|
dependsOn:
|
|
- name: bp-crossplane
|
|
chart:
|
|
spec:
|
|
chart: bp-crossplane-claims
|
|
version: 1.0.0
|
|
sourceRef:
|
|
kind: HelmRepository
|
|
name: bp-crossplane-claims
|
|
namespace: flux-system
|
|
# Event-driven install: Helm completes when manifests apply, not when the
|
|
# XRD-backed CRs reach Ready. dependsOn on bp-crossplane already gates this
|
|
# HR on the upstream CRDs being live; disableWait replaces PR #221's
|
|
# blanket spec.timeout: 15m band-aid.
|
|
install:
|
|
disableWait: true
|
|
remediation:
|
|
retries: 3
|
|
upgrade:
|
|
disableWait: true
|
|
remediation:
|
|
retries: 3
|