Post-Coverage Strategy: User Journeys, Open Issues, and Roadmap

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

What this command does. cub installer is a released, open-source plugin for the cub CLI. cub installer setup pulls a catalog package and writes its Kubernetes files locally. It does not apply those files to a cluster; use kubectl, Argo CD, or Flux for delivery. The generated scripts stop before doing any work when the plugin or kustomize is missing.

New to cub? Install the cub CLI first. You can pull and render public catalog packages without an account. Commands that save or change ConfigHub data require you to sign in.

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

UNOFFICIAL/EXPERIMENTAL. Synthesis of a multi-agent research pass (user journeys incl. serverless + ConfigHub-server + cub-scout; the open-issue backlog; the roadmap/commercial planning corpus; and the external competitive landscape), cross-mapped against the live coverage data. It answers: once the matrix reaches 100% verified disposition, what is the sequenced plan to "really nail" journeys, issues, and roadmap? Grounded in docs/planning/*, docs/user/*, the GitHub backlog, data/* coverage surfaces, and cited external sources.


1. The thesis and the wedge

The white space is real. No one publishes a public, cross-chart, pre-deployment catalog that answers "does this Helm chart install and converge on a real cluster, with what caveats, and what is the remediation when it fails":

The second wedge: variant promotion as config data - render once → Config Units → clone into Variants → promote the variant as a first-class data entity, with the base upgradeable without overwriting variant deltas. Kargo/Codefresh can't do this (they re-render per stage); it is architecturally ConfigHub's.

Urgency: the Bitnami → bitnamilegacy collapse (Aug–Sep 2025) deleted the pinned images behind hundreds of popular charts, leaving a community-wide ImagePullBackOff and a trust vacuum with no canonical replacement. That is exactly the gap an honest disposition+remediation catalog fills - and it is why the image-remediation work already in this repo matters commercially.

Biggest self-risk: the database-not-Git model fights GitOps network effects; teams invested in "everything-in-Git" must be met where they are (OCI/Git handoff, keep Argo/Flux as the controller).

Sources: confighub.com, docs.confighub.com; artifacthub.io; fluxcd.io; kargo.io / akuity.io; chkk.io; chainguard.dev Bitnami migration guide; ITNEXT "Multi-Environment Helm: Variants with ConfigHub" (Dec 2025).


2. The user journey (and exactly where it breaks)

Five stages (from docs/user/* + site/journey.html):

StageWhat the user doesProvenRough edge
0 Inspect (no cluster)browse catalog HTML + cub helm templateyestemplate path has no maintained proof/scan
1 Serverless try (cluster to apply)cub installer setup --pull packages/... kubectl applynpm run …:verify-install:renderRedis/sealed-secrets happy paths, real transcriptsmust clone a ~5000-file repo + know vendor/chart/version (breaks "as fast as helm"); --namespace doesn't relocate objects (#96); no in-cluster receipt
2 ConfigHub account (free)cub auth logincub installer upload → Unitsupload works, tutorial-testedthe journey page shows cub installer import helm which does not exist (#23); upload needs ~12 flags
3 Server / derived variantscub variant create / promote, diff, vet, changesetcub variant create/promote are real, receiptedCreator UX is proposal-only; promotion capped by #682
4 Day-2 / GitOpsOCI + Argo via cub lk upOCI/Argo path real, receiptedheavy infra prereq; #714 silent progress on large ops
5 Promote / operate / fleettarget-bound variants, cub-scout observation, fleet queriesselected receipts existpaid surfaces (cub observe, fleet) largely planned

Serverless entry points - what works with no ConfigHub server: catalog browse, cub helm template, cub installer setup --pull, …verify-install:render, local kind lanes, kubectl apply, cub-scout receipt verify. The server is required from cub installer upload onward (Units, variants, promotion, OCI). The designed serverless add-on (resolve → OCI pull → cosign verify → collect target facts → apply → write in-cluster receipt → observe with cub-scout) exists on paper (serverless-verified-install-plan.md) but the OCI name-resolution and the in-cluster receipt are not built - which is why Stage 1 still needs the repo clone.

cub-scout is the standalone live-cluster witness (object-set-matches / prerequisites-met / workloads-converged, closed-world --no-extras, three-way compare, gitops status). It is the "what is actually going on?" tool. Its highest-value moment is right after apply, when k8s says "created" but nothing works (why-synced-is-not-working.md). Gap: it's documented as a side tool, invisible at the moment of confusion. Fix: make the three cub-scout predicates the standard post-apply step in try-now / first-run-walkthrough, and the post-sync step in the GitOps path (Argo "Synced/Healthy" while the workload is broken). The user explicitly endorses using cub-scout (and peers) for user understanding.

Top journey gaps, ranked: (1) import helm doesn't exist + 5000-file-clone friction (#23) - the conversion surface shows an unrunnable command; (2) namespace non-relocation (#96); (3) no in-cluster receipt (no anchor for upgrade/rollback/ drift); (4) cub-scout absent from onboarding; (5) upload flag verbosity; (6) #714 progress; (7) #682 promotion lands watch not green; (8) Stage-3 Argo infra jump.


3. The coverage substrate is the product data layer

100% coverage is not separate from the strategy - it is the dataset the product runs on. per-chart-fact-sheet-spec.md maps each residue surface to a chart-page field:

So the model-gap / image-remediation / target-prereq cards already built are the "what you must do / here's the remediation" lane of #949; coverage-completion-plan is the punch-list that backs "the top-100 matrix is complete."


4. Open-issue map (4 clusters)

A - ConfigHub-server reliability (caps green claims). #682 changeset promote HTTP 500 (caps the entire promotion lane to watch - the single highest-leverage server fix; blocks #948); #645 unit-create HTTP 500 (caps 3 charts' C-lane + raises a bulk-create reliability question - same family as the Unit quota that forces serial promotion); #156 variant-create placeholder drift (undermines cub variant create correctness).

B - Per-chart modeling tail (the 100% finish). ~13 well-scoped, no-cross-dep, ~1–2h each, each already has a card I generated: #861 NATS renderDelta, #856 NACK CRD ownership, #842 cluster-autoscaler clusterName, #841 argo-workflows CRD, #867 Percona PG CRD, #865 NATS Surveyor endpoint, #863 Jaeger cert-manager CRDs, #878 prom-adapter APIService v1beta1 (fix path already proven by a sibling base), #880 apache removed image, #774 Fluentd CRB namespace, #156 Grafana; plus #114 (template-baked CRDs, 5 charts) and #113 (secret-toggle, 12 charts - needs a capability decision).

C - UX / legibility / new surfaces. #753 (make the burn-down legible), #714 (progress evidence), #679 (sharp-edges punch-list), #671 (skills), #148 (policy/compliance/security posture reports - new surface), #149 (dependency graph + impact analysis - new surface), #882 (runner hang after Helm crash-loop).

D - Productization / commercial. #948 (P0 promotion proof, blocked by #682), #949 (productize remediation/lifecycle/commercial), #23 (serverless low-friction + signed catalog index), #150–#153 (promotion UX/semantics/Creator/GitOps-tutorial), #106 (variant expansion: 70 variants across 60 charts), #99 (image digest pinning).

Dependency chain: #682 → #948 → #949/Pilot; #645 → C-lane completion; #96 → first-run correctness + #774; #99 → #880/#838; #23 → serverless tier. The Cluster-B tail + Cluster-C legibility items are independent and parallelizable.


5. The sequenced roadmap (post-100%)

Phase A - Finish & lock coverage (mostly mine, parallelizable): clear the ~13-issue modeling tail (cards exist) → run the promotion burn-down serially (todo→watch) and escalate #682 (the only route to green) → record the verified-watch + lifecycle-n/a tail (Codex matrix-record). Output: 100% verified disposition + an honest "what's watch/blocked and why."

Phase B - Legibility & trust (land it for a skeptic): build the per-chart fact sheets + public site (matrix/residue → chart pages, dedicated-website-plan) → close #753 + put cub-scout in the onboarding path + work the #679 punch-list → stand up the sceptic apparatus (claims register, keep expanding blast-radius cases beyond the now-green 13-case set, torture suite) and run external reproduction (outside-user-test, the single biggest trust gap).

Phase C - Productize (the commercial wedge): the serverless low-friction path (#23: signed OCI catalog index → no clone, in-cluster receipt) → skills (#671) + the remediation intelligence (#949, mostly already built as residue cards) → fix #682 → promotion goes green → the headline "promote your Helm variants" claim becomes true → new surfaces #148 (compliance posture) and #149 (dependency graph).

Phase D - Commercial: verified-install + support tiers (verified-install-commercial-model, product-support-tiers) - but signing infrastructure first (key ceremony + transparency log; selling a security claim without it is the security-theater risk) → private catalog + remediation/patch SLA + config lifecycle intelligence.


6. Risks (the honest ones)

  1. Signing infra not in place before security claims (cosign exists, no key ceremony / rekor) - security-theater headline risk.
  2. Lifecycle proof is the weakest + most-probed link - 0/25 routes safe to auto-run; "CRD upgrade is a per-chart decision, not a mechanism."
  3. Blast-radius accuracy - 4/13 cases fail (whole-release identity paths); one public wrong prediction damages the edges story.
  4. Single-party verification - external reproduction (T6) has not run.
  5. Refresh SLA unproven at top-100 scale - the abandonment/Bitnami argument.
  6. Missing product verbs (import helm, variant list/diff, catalog search) - gap between the planned UX and the current substrate.
  7. The website / first-user experience is not built - the "<2 min to pick the right Redis variant" launch gate isn't testable yet.
  8. Incumbents closing the gap - Akuity/Kargo adding chart-health, a Flux public health feed, Artifact Hub install-test badges, Chkk moving pre-deployment, Chainguard becoming the post-Bitnami trusted catalog.

7. "Really nail it" - concrete next steps

  1. Per-chart legibility surface (the next deliverable): a generated "can I use this chart, and how?" view per chart from the matrix + residue cards
    • chart-skills - closes #753, feeds #949 fact sheets, surfaces cub-scout as the post-apply check. This is the bridge from coverage data to the public site.
  2. Clear the modeling-tail quick-wins (~13 × 1–2h; cards already written) - finishes Phase A coverage.
  3. Escalate #682 to the ConfigHub server team - the one bug capping the headline promotion claim (everything else in promotion already works via the no-changeset fallback).
  4. Run the external-reproduction test (outside-user-test) - the single biggest trust gap; nothing internal can substitute.
  5. Build the signed OCI catalog index (#23) - unlocks the honest "faster than Helm" serverless pitch (no repo clone) and the free-public tier.