Hooks and CRDs App

A repository document, rendered for the site. View source markdown.

Generated at: 2026-07-30T12:38:02.000Z UTC · source: committed helm-expt evidence for this rendered repository document.

This example shows how ConfigHub can keep the work around a Helm chart with the configuration it belongs to.

Kube Prometheus Stack 85.3.3 has ten CRDs, admission-webhook certificate setup, and checks that must happen at particular points in an install or upgrade. The 8 route records in this directory name that work. They say who runs each step and link to the receipts that support the choice.

The top-level chart routes remain automatic: false: ConfigHub does not yet choose this chart-specific route for a user. Once selected, the direct script has passed seven fresh-install steps. The direct script does not run an upgrade. Argo CD and Flux have each installed 85.3.3 on a fresh cluster and upgraded it to 86.1.0 from a staged OCI. Both controllers passed CRD ordering, certificate preparation, workload apply, webhook patching, runtime checks, and replacement of the two completed setup Jobs.

Read the direct lifecycle receipt and controller lifecycle receipt for the exact sequence and limits.

The smaller hook fixture is different. Its explicit-managed-action route ran from one OCI bundle through Argo CD, Flux, and direct apply, so that fixture is recorded as automatic: true. The claim applies to that fixture, not to every Helm hook.

The catalog-standard apply policy checks every LifecycleRoute stored in the demo organization. A route must name its chart, version, base, executor, disposition, and evidence. A route cannot claim automatic execution unless its disposition is observed and it links to evidence.

Route records

ScopeRoutePhaseWho runs itTop-level automaticDirect scriptArgo CDFlux
tests/fixtures/hook-replacement-probe@1/baseexplicit-managed-actionpost-applyArgo CD, Flux, or the direct apply script runs the packaged Job and waits for completion.yespasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdscrds-firstpre-applyYour delivery system applies the CRDs and waits for them before applying custom resources.nopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdspostsync-check-or-observationpost-applyYour delivery - a post-apply check (receipted)nopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdspreflight-or-presyncpreflightYour delivery - a preflight step before apply (receipted)nopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdspreserve-cleanup-policyobserveYour delivery - an explicit, receipted stepnopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdspreserve-orderingpre-applyYour delivery - an explicit, receipted stepnopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdstarget-facts-or-preflightpreflightHandled - the recorded package script creates or checks this prerequisitenopasspasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdsupgrade-action-with-receiptpre-applyYour delivery - a GitOps PreSync/PostSync or cub action (receipted)nonot-runpasspass
prometheus-community/kube-prometheus-stack@85.3.3/no-crdswebhook-readiness-observationobserveYour delivery - an explicit, receipted stepnopasspasspass

Human guide

Read the Hooks and CRDs App guide for the install order, the Argo CD, Flux, and direct-apply choices, what has been proved, and what is still manual.