bitnami/nginx
Runs on your laptop
Choose a tested starting configuration for bitnami/nginx@24.0.2. Read its exact Kubernetes objects, required setup, and current evidence before you deploy it.
Start with http-clusterip. The page also shows other recorded choices. The page does not claim every possible values combination.
Evidence labels: Pass has a linked result. Watch names a limit to check. Blocked means do not use that path yet.
Upstream: find this chart on Artifact Hub · Helm documentation. This page adds checked configurations and test results.
Catalog readiness: Ready to try.
Licenses: chart Apache-2.0 (the chart's own Chart.yaml license metadata, read 2026-08-08). This describes the chart templates, not the packaged application images.
The pinned upstream source download for this component returned HTTP 403 when measured on 2026-08-08. The retained packages and publications recorded here stay pullable from this catalog's registry. Recorded successors: cloudpirates/nginx (plain chart; Plain chart with a digest-pinned image.). These are recommendations to evaluate, not automatic replacements. Read the successor survey and the registry migration guide.
Check this chart and version Try the package Plan an upgrade or promotion
Already reviewed the result? Keep it in ConfigHub when you need history, variants, approvals, or delivery.
What this page gives you
Every chart page follows the same order. Choose a configuration, inspect its objects and setup work, then read the tests that have run. Open the worked examples.
The package fixes and checks almost everything at build time. What you set is small and typed.
Open the saved results for the Helm comparison, live install, and delivery checks.
The page names the work and says which delivery path has actually run.
What To Use
http-clusterip configuration: 5 rendered objects · 1 image · 0 target prerequisites · 0 hook or setup routes · 5/5 checks passing. These counts come from the linked test records.
http-clusteripRecommended first base variant
2Supported base variants
Rendering checked; read the chart pageFirst-configuration status
Ready for a target-specific production reviewProduction status
Use the public catalog entry, then check the exact configuration and its tests before making a production claim.
| Question | Answer |
| Catalog readiness | Ready to try |
| Chart version | 24.0.2 |
| Exact installer package | oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 |
| OCI publication status | publication receipt recorded |
| Publisher signature | publisher signature recorded and verified |
| Latest upstream seen | 25.0.0 (update candidate) |
| Supported base variants | http-clusterip;existing-tls-ingress |
| Not yet available | existing-secret (chart ships no Secret toggle) |
| Namespace | nginx |
Four Separate Questions
Inspecting a source, producing objects, checking a destination, and checking a live result are different jobs. A Catalog match is useful for comparison but is not required. A missing destination or deployment is shown as not run or blocked, not as a failed configuration.
| Question | Current answer | What it needs | Status |
| What do I have? | Inspect the helm source, choices, locks, and any existing output before selecting a destination. | Destination access: no Selected configuration deployed: no | Available to inspect evidence recorded |
| What will it produce? | Run the recorded Helm render step to produce the exact Kubernetes objects for this configuration. | Destination access: no Selected configuration deployed: no | Checked: passed evidence recorded |
| Can this destination accept it? | No destination answer is available yet because target facts or lifecycle handling are incomplete. | Destination access: yes Selected configuration deployed: no | Answer pending evidence pending |
| Did it work? | A recorded delivery path reached its checked live result for this exact configuration. | Destination access: yes Selected configuration deployed: yes | Checked: passed evidence recorded |
Open the complete assessment, source, lifecycle, and evidence record.
Where This Chart's Settings Come From
| Base variant | Helm values | ConfigHub changes | Install work |
| existing-tls-ingress | effective-values-existing-tls-ingress.yaml | None in the catalog base. Later edits appear in ConfigHub Unit revision history or a derived variant. | 2 prerequisites recorded. |
| http-clusterip | effective-values.yaml | None in the catalog base. Later edits appear in ConfigHub Unit revision history or a derived variant. | No separate work is recorded; read the prerequisite and lifecycle status before assuming none is needed. |
Upgrade rule: if a new Helm render and a ConfigHub revision both change the same field, review the overlap before promotion. The values profile shows the Helm side; Unit revision history shows the ConfigHub side.
Read the full values-versus-ConfigHub rule. For the staging commands behind each prerequisite, open the prerequisite action packets.
What This Chart Contains
Shipping a chart as plain rendered YAML is faster and simpler, and it silently drops anything Helm was going to do afterwards. This section reports what a scan of the packaged chart found, across 47 files.
| Construct | Found | Why it matters when a chart ships as plain YAML |
| Cluster lookups | 5 | The chart reads the cluster while rendering, so a render without one is valid but wrong. |
| Capability branching | 5 | The chart chooses apiVersions from the cluster it renders against. |
| Generated credentials | 11 | Every render mints new values, and a shared artifact would freeze one draw. |
A flattening-safety verdict has decided this version: default:unsafe-to-flatten; existing-tls-ingress:unsafe-to-flatten; http-clusterip:unsafe-to-flatten. The verdict records one disposition per construct and names any companion artifact a flattened bundle must ship.
A construct being present does not make a chart unflattenable. Most are switched on or off by values, and a verdict records which ones the base you choose actually reaches. Read the catalog-wide evidence for how common each one is.
What The Starting Configuration Records
A base variant is a starting configuration we have already rendered and checked. Pick the one whose trade-off you want; the table below shows what each one changes. How the values for each are chosen.
The http-clusterip base-variant record connects those Helm inputs to the Kubernetes objects, remaining requirements, hooks, CRDs, checks, and OCI status. Open it when you need the complete starting record rather than only the rendered YAML.
Open the full rendered YAML to read the actual manifest output. The render record and setup section explain the inputs, tests, CRDs, hooks, and other work around it.
If new Helm values create a useful starting configuration, record another base variant with its own inputs and checks. If one environment changes a field after rendering, record that change in a ConfigHub variant.
| Key | Where to look first | What it means |
| Package users pull | oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 | The exact installer package for this chart version. The version tag is readable, and the manifest digest makes a published pull immutable. Public catalog package refs are published in Google Artifact Registry with anonymous read access. No ConfigHub account or Google registry login is needed for the local setup path. |
| Required before apply | None recorded for the recommended base variant. No separate setup command recorded. | External resources the recommended base variant expects, such as an existing Secret, namespace, CRD, or target fact. |
| Kubernetes objects | full rendered YAML | The full YAML captured from this base variant. It is the output of the render. |
| Render record | http-clusterip render intent | The Helm inputs and evidence links that explain how the output was produced. |
| Complete starting record | http-clusterip base-variant record | The record that connects the Helm inputs, Kubernetes objects, remaining requirements, setup work, checks, and OCI status. |
| Hooks, CRDs, and setup work | this page's setup section | Instructions and decisions for hooks, CRDs, generated Secrets, setup jobs, cluster requirements, or blockers. |
Choose base variant
Pick the supported Helm configuration for this chart: default, no-CRDs, existing Secret, HA, server-only, or another listed option.
Record inputs
Keep the values, namespace, release name, source lock, http-clusterip render intent, full YAML output, package base, test results, and setup instructions together.
Handle chart extras
CRDs, hooks, setup jobs, external Secrets, target facts, and webhook certificates are recorded as chart-specific choices. Some are included in a base variant, some need a setup step, and some are blocked until there is a safe path.
How render intents work · All generated render intents · All base variant records
Try This Chart
Start with http-clusterip. If a card says review or preparation is needed, treat that as a real limit rather than a ready install.
Package image
Exact package: oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67
publication receipt recorded · open the exact publication receipt
Readable version tag: oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2. The package is pinned so a republished tag cannot change what you get. The command below uses the exact manifest digest, so cub installer refuses different package bytes.
Check the package identity
New to cub? Install the cub CLI first. Public catalog packages pull and render anonymously, and you sign in only once a command saves or changes ConfigHub data.
cub installer inspect oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 --json
Read how each configuration was made
cub installer pull 'oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67' --work-dir ./package-review
less ./package-review/package/records/README.md
The package's records/ directory connects every base to its source choices, Helm render intent, Kubernetes objects, prerequisites, lifecycle work, and checks. These are supporting records, not Kubernetes objects.
Verify the package publisher
Run this command with cosign. It checks the expected publisher, the exact manifest digest, and the package annotations.
cosign verify --certificate-identity helm-expt-package-signer@nth-fort-499605-q5.iam.gserviceaccount.com --certificate-oidc-issuer https://accounts.google.com --annotations confighub.com/package-path=packages/bitnami/nginx/24.0.2 --annotations confighub.com/package-sha256=9905c5ba5f0b0187f5d22b7f4113856635476bb081d584b36251f5513b010414 europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67
A valid signature identifies who signed these package bytes. It does not show that the configuration is suitable for your cluster; use this page's checks and setup instructions for that decision.
Signature receipt · Sigstore bundle · How signature verification works
Public catalog package refs are published in Google Artifact Registry with anonymous read access. No ConfigHub account or Google registry login is needed for the local setup path.
Recommended first command
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 --base http-clusterip --work-dir ./bitnami-nginx-24-0-2-http-clusterip --non-interactive --namespace nginx
Advanced: apply it or upload it
Run the whole sequence as one script, prerequisites included: try.sh renders and applies to Kubernetes without an account; confighub.sh renders and uploads to your ConfigHub Space.
Before you run try.sh: it changes your current kubectl context. It runs the named prerequisites and applies the rendered objects. Read it first and use a disposable test cluster. confighub.sh does not apply anything to Kubernetes.
This preset is also shown in the live helm-catalog demo org. Read the demo README to see why that Space exists, what problem it demonstrates, and what to inspect first.
You should see something like this
Here is what the command does. cub installer is an open-source plugin for the cub CLI. cub installer setup pulls a catalog package and writes its Kubernetes files locally, leaving delivery to kubectl, Argo CD or Flux. The generated scripts stop before doing any work when the plugin or kustomize is missing.
cub installer setup ...
rendered manifests written under <work-dir>
use the chart option cards below to check pass, watch, blocked, and prerequisites
Current status: Available in the catalog · Reason: Promotion was tested and recorded in ConfigHub.
After You Render It
The first command writes files and does not apply them. Read the objects and setup requirements, then choose the next job.
| Job | Next step |
| Render and inspect without applying | Run the recommended cub installer setup command above. |
| Run shared local configuration checks | cub plugin install confighub/homebrew-tap@cub-scan-v0.7.3 --name scan
cub check --format json --output cub-check.json <work-dir>/out/manifests. The check is advisory and does not apply anything. |
| Apply the rendered manifests with kubectl, or publish reviewed objects as OCI | Publish reviewed objects as OCI or apply the manifests with kubectl. |
| Save the reviewed result for a team | Save and upload the reviewed result to ConfigHub for shared history, exact diffs, and approvals. |
| Compare development and production, audit an exact diff, promote, or roll back | Build a promotion review or read the bounded rollback example. |
| Assign the configuration to clusters and operate a small fleet | Choose targets, preview a wave, and inspect every result. |
| Check delivery limits | Read the current limits before choosing kubectl, Argo CD, or Flux. |
| Handle CRDs on the first install | Read the CRD ordering risk and first-install guide, then check this chart's recorded owner and route. |
Bring Your Own Values
This worked example starts with a NGINX values file supplied by a person or coding agent. The requested change is three replicas. The same file also embeds an API key, removes the checked image digest, exposes a public LoadBalancer, and weakens three container security settings.
The review keeps the three replicas, restores the checked settings, and changes the Deployment to use an existing Secret. The proof freshly renders the locked chart, matches the catalog baseline, reports the six intended findings, packages the five reviewed objects as OCI, pulls them anonymously, and imports the same object set into ConfigHub. A live run then deploys that result through Argo CD. Development changes to four replicas, ConfigHub promotes the change to staging, and a second live run reaches 4/4 ready replicas.
Repeat the local proof with HELM_EXPT_ALLOW_BYO_HELM_VALUES_PROOF=1 npm run byo-helm-values:run.
Available Configurations
Each card is one available way to use this chart in the catalog. Some cards are runnable base variants. Others are candidate paths, derived variants, or review notes that explain what still has to be prepared.
Checks: Each card names what was checked and says whether it passed, needs review, was blocked, was not run, or was not needed.
5 matrix rows for bitnami/nginx@24.0.2 · open the full matrix
F1 · Source chart
(source)
Source
Pinned upstream chart and version
- Status
- Available in the catalog
- How to run
- This is the upstream chart source. Choose a base card below before running the installer.
- Evidence
- Pinned chart source and dependency lock
- Hooks/actions
- No separate hook or action for this row.
- Who runs actions?
- No separate action runner for this row.
- Next
- Choose a chart configuration before rendering or deploying
- Reason
- This is the chart source. Choose a configuration before checking deployment or promotion
Helm outputNot neededSaved in ConfigHubNot neededLocal clusterNot neededSetup routeNot neededGitOps and OCINot neededLive Helm comparisonNot neededTwo clustersNot neededPromotionNot needed
catalog · source repo
F2b · Helm-rendered base
existing-tls-ingress
Base
Runnable base variant made with different Helm values
- Status
- Available in the catalog
- Helm values
- effective-values-existing-tls-ingress.yaml
- ConfigHub changes
- None in this catalog base. After upload, read Unit revision history or the derived variant.
- How to run
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 --base existing-tls-ingress --work-dir ./bitnami-nginx-24-0-2-existing-tls-ingress --non-interactive --namespace nginx
- Scripts
- try.sh renders, settles the prerequisites in order, and applies with kubectl; confighub.sh renders and uploads to your ConfigHub Space.
- Evidence
- Live helm vs confighub parity
- Hooks/actions
- No separate hook or action for this row.
- Who runs actions?
- No separate action runner for this row.
- Lifecycle record
- The current review found no separate hook or setup route for this base. Open the full record.
- Prerequisites
- 2 prerequisites are declared for this base. Each prerequisite says whether it must be checked before render or before apply.
- Next
- Refresh the receipt when the upstream base changes.
- Reason
- Promotion was tested and recorded in ConfigHub.
Helm outputPassedSaved in ConfigHubPassedLocal clusterPassedSetup routeNot neededGitOps and OCIPassedLive Helm comparisonPassedTwo clustersNot runPromotionPassed
Prerequisites still apply. “Not needed” under Setup route means there is no separate hook or setup runner for this configuration; it does not remove the prerequisite listed above.
Demo README · catalog · variant · full YAML · render intent · base record · package base · receipt · source repo
F2b · Helm-rendered base
http-clusterip
Base
Runnable base variant made with different Helm values
- Status
- Available in the catalog
- Helm values
- effective-values.yaml
- ConfigHub changes
- None in this catalog base. After upload, read Unit revision history or the derived variant.
- How to run
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 --base http-clusterip --work-dir ./bitnami-nginx-24-0-2-http-clusterip --non-interactive --namespace nginx
- Scripts
- try.sh renders, settles the prerequisites in order, and applies with kubectl; confighub.sh renders and uploads to your ConfigHub Space.
- Evidence
- Live helm vs confighub parity
- Hooks/actions
- No separate hook or action for this row.
- Who runs actions?
- No separate action runner for this row.
- Lifecycle record
- The current review found no separate hook or setup route for this base. Open the full record.
- Prerequisites
- This base has not yet been reviewed for required Secrets, CRDs, namespaces, values, storage services, external APIs, or target topology. Record what it needs, or record that nothing extra is required.
- Next
- Decide whether http clusterip is suitable for production. Resolve or document its outstanding live deployment check first.
- Reason
- Promotion was tested and recorded in ConfigHub.
Helm outputPassedSaved in ConfigHubPassedLocal clusterPassedSetup routeNot neededGitOps and OCIPassedLive Helm comparisonPassedTwo clustersNot runPromotionPassed
Demo README · catalog · variant · full YAML · render intent · base record · Argo, Flux, and direct receipt · package base · receipt · source repo
F4b · Targeted variant
customer-acme-prod
Variant
ConfigHub variant with a recorded deployment target
- Status
- Available in the catalog
- How to run
- A ConfigHub variant based on http-clusterip for NGINX-customer-acme-prod. Upload the base first, then create or promote this variant in ConfigHub.
- Evidence
- This is a target-bound derived variant.
- Hooks/actions
- No separate hook or action for this row.
- Who runs actions?
- No separate action runner for this row.
- Next
- Refresh the receipt when the source base or target changes.
- Reason
- No target was attached; This is a ConfigHub intended state proof; Not a live cluster deployment.
Helm outputNot neededSaved in ConfigHubPassedLocal clusterNot neededSetup routeNot neededGitOps and OCIPassedLive Helm comparisonNot neededTwo clustersNot neededPromotionNot needed
catalog · variant · full YAML · package base · receipt · source repo
F4b · Targeted variant
prod-us-east
Variant
ConfigHub variant with a recorded deployment target
- Status
- Available in the catalog
- How to run
- A ConfigHub variant based on http-clusterip for NGINX-prod-us-east. Upload the base first, then create or promote this variant in ConfigHub.
- Evidence
- This is a target-bound derived variant.
- Hooks/actions
- No separate hook or action for this row.
- Who runs actions?
- No separate action runner for this row.
- Next
- Refresh the receipt when the source base or target changes.
- Reason
- No target was attached; This is a ConfigHub intended state proof; Not a live cluster deployment.
Helm outputNot neededSaved in ConfigHubPassedLocal clusterNot neededSetup routeNot neededGitOps and OCIPassedLive Helm comparisonNot neededTwo clustersNot neededPromotionNot needed
catalog · variant · full YAML · package base · receipt · source repo
Local Configuration Checks
We ran cub check v0.7.3 against the exact rendered objects for every configuration below. The result is advisory: read each finding and decide whether it matters for your target.
Scanner and ruleset identity
Pattern bundle: v0.7.3
Bundle manifest: sha256:0405f6ffe21e567adf5d6a732d181c7f228194920456d046b4338baeb14de1a8
Risk catalog: sha256:7ff79a126ad99bba2505fec8b2b7711c03f50eb362141128ec1c83e27a5036ba
| Configuration | Advisory result | Exact input | Checked | Evidence |
existing-tls-ingress | 3 advisory findings 1 critical, 2 info IngressClass not found when Ingress specifies ingressClassName Deployment explicitly sets replicas to 1 emptyDir volume has no sizeLimit | 6 objects
sha256:612360aeed3131d5b8e1d3a18e5f5f8ae58d88f0e6b30a10e5bf3b9ebab14767 | 2026-08-24 | Full cub check result Exact YAML Separate Catalog review |
http-clusterip | 2 advisory findings 2 info Deployment explicitly sets replicas to 1 emptyDir volume has no sizeLimit | 5 objects
sha256:c99b711659893bae22c80293b121ae132ab553cb096ab3da7b36df469aceb9e5 | 2026-08-24 | Full cub check result Exact YAML Separate Catalog review |
What this does not check: hook execution, CRD readiness, target Secrets and cloud services, admission behavior, workload health, or rollback. The linked Catalog review covers chart-specific source and operating questions. ConfigHub validation and approval are separate managed controls.
Read all shared check results and the mapping to Catalog rules.
From a finding to a retained decision
A worked configuration for this chart starts with AI-written values. It records what each local finding meant, the fixes that were accepted, and one remaining emptyDir finding that is allowed only for an exact development and staging test.
The reviewed objects, decision, ConfigHub validation, approval, promotion, and Argo CD results remain separate records. That makes it clear which checks were local advice, which controls ConfigHub evaluated, and which targets actually ran.
Read the complete worked decision · Open the decision schema
Images This Chart Pulls
Every reference below comes from the reviewed rendered output. What you see is what the cluster pulls. These references are data: you can change a registry or pin a digest with a recorded edit, and prove the change landed in every environment.
| Base variant | Images |
| existing-tls-ingress | registry-1.docker.io/bitnami/nginx@sha256:805bcc863fc3f602589fc75cae91eeedebad234d5ce5a476c96b03a747821e7f |
| http-clusterip | registry-1.docker.io/bitnami/nginx@sha256:805bcc863fc3f602589fc75cae91eeedebad234d5ce5a476c96b03a747821e7f |
First-Run Caveats
Some chart paths need a small preparation step before the cub path feels as smooth as Helm. We show those steps here so the first run does not surprise you.
| Caveat | What to do |
| Universal caveats | Use declared inputs or bases instead of Helm --set. For direct delivery, define pruning and field-conflict behavior. Use Argo CD or Flux when that controller path and its pruning settings are recorded for the selected preset. |
| Shared placeholder password | No shared placeholder password caveat recorded for this chart. |
| CRD first-ordering | No CRD first-ordering caveat recorded for this chart. |
Open the all-chart adoption caveats · Helm to cub migration · cub deployment path
Advice And Current Status
Use this section to see which chart-specific guides apply, what you must provide, and what work remains.
| Question | Current answer |
| User status | Ready to try |
| Can I use it? | Use the public catalog entry, then check the exact configuration and its tests. |
| First base | http-clusterip |
| Exact installer package | oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bitnami-nginx:24.0.2@sha256:7cf08c0348a32d577ffa0e16069ec6c2510ce773b372008d25b938f9546c5f67 |
| Tests completed | Catalog supported with live evidence (render parity 2/2; Local live 2/2; Live parity 2/2) |
| Coverage | Covered |
| You must provide | an existing Secret for some bases (NOT built - chart ships no Secret toggle); target facts at variant time |
| What the tools record | exact rendered objects with render parity and receipts; generated Secrets separated out of the published artifact; optional chart inputs handled by reviewed base configurations; install-vs-upgrade render divergence captured per revision; cluster lookups lifted into declared target facts |
| Next action | Decide whether http-clusterip is suitable for production. Resolve or document its outstanding live deployment check first. |
The source data lives in chart skills and chart evidence router.
What Has Been Tested
Choose the question you care about. Not checked means this catalog has no version-specific result; it is not a pass.
How much is proven, and what more testing would add: Fully proven: Render parity, ConfigHub proof, Local live, GitOps/OCI live, Live Helm-vs-ConfigHub. Not yet tested: Two-cluster kind - a fresh cluster run would prove these.
| Base | Readiness | Render | ConfigHub | Local live | GitOps/OCI | Live parity | Two-cluster kind |
| http-clusterip | render-only | pass | pass | pass | pass | pass | missing |
| existing-tls-ingress | render-only | pass | pass | pass | pass | pass | missing |
What We Tested On A Cluster
This is the result of a real run for one base variant on one recorded target setup. It does not silently extend the result to other bases or clusters.
| Question | Recorded answer |
| Base variant | existing-tls-ingress |
| Target used | cub-managed kind proof cluster with target profile kind-ingress-nginx |
| Observed result | pass |
| What passed | regular Helm deployment path reached the expected runtime state ConfigHub direct-apply leg reached the expected runtime state ConfigHub OCI/Argo leg reached the expected workload runtime state Helm-vs-ConfigHub semantic parity passed for the OCI/Argo leg Argo CD reported the application Synced Argo CD reported the application Healthy Deployment nginx became ready target fact Secret nginx/nginx-ingress-tls was staged Ingress nginx/nginx received status.loadBalancer.ingress=localhost |
| What the result means | The previous watch row was target-fit, not parity. When the proof target includes the kind-ingress-nginx profile, the Ingress receives a localhost address and Argo reports Healthy. |
| What this does not prove | This row does not prove external ingress reachability on a real load balancer. This row does not prove certificate trust from an outside client. This row does not generalize to every ingress-enabled chart without a matching target-topology receipt. |
| Full review and receipt | Open the runtime review · open the live receipt |
What You Must Provide
exact rendered objects with render parity and receipts; generated Secrets separated out of the published artifact; optional chart inputs handled by reviewed base configurations; install-vs-upgrade render divergence captured per revision; cluster lookups lifted into declared target facts
| Field | Value |
| Known quirks | Generated secrets; Existing secret; optional chart inputs; Install vs upgrade divergence; Lookup; Generated facts.; Tpl; Capabilities |
| You must provide | an existing Secret for some bases (NOT built - chart ships no Secret toggle); target facts at variant time |
| What ConfigHub records | exact rendered objects with render parity and receipts; generated Secrets separated out of the published artifact; optional chart inputs handled by reviewed base configurations; install-vs-upgrade render divergence captured per revision; cluster lookups lifted into declared target facts |
| Optional chart inputs | NGINX config blocks; Raw/extra manifests; Sidecars |
| How optional inputs are handled | Keep empty in supported bases; Or make a reviewed installer base when populated |
Hooks, CRDs, And Setup Work
Some Helm charts need work before, during, or after apply: CRDs, hooks, setup jobs, webhook certificates, migrations, generated Secrets, or checks. For each chart, the catalog should make the choice clear: include it in the base variant, split it into a separate base variant, run a setup step, use a GitOps action where evidence exists, require an existing target resource, or block it when there is no safe default.
What each base needs before apply
These requirements come from the same base definition as the rendered objects. The render intent keeps the chart inputs, required Secrets or CRDs, lifecycle routes, and evidence together.
| Base variant | Required resource | How to provide it | Full record |
| existing-tls-ingress | Secret nginx/nginx-backend-tls keys tls.crt,tls.key,ca.crt | kubectl create namespace nginx --dry-run=client -o yaml | kubectl apply -f -
kubectl -n nginx create secret generic nginx-backend-tls --from-literal=tls.crt=<value> --from-literal=tls.key=<value> --from-literal=ca.crt=<value> | full render intent |
| existing-tls-ingress | Secret nginx/nginx-ingress-tls keys tls.crt,tls.key | kubectl create namespace nginx --dry-run=client -o yaml | kubectl apply -f -
kubectl -n nginx create secret generic nginx-ingress-tls --from-literal=tls.crt=<value> --from-literal=tls.key=<value> | full render intent |
If no route is shown, that does not prove the upstream chart has no hooks. It means the public catalog has no chart-specific action to show yet; check the matrix or send a problem chart if hook behavior should be modeled. Direct apply, Argo CD, Flux, and upgrade implementations are tracked separately. One passing implementation does not prove the others.
Before Production
A green render or local live result is not a production support claim. Production support is target-scoped and uses the support-decision artifact when present.
| Field | Value |
| Production review status | Ready for a target-specific production review |
| Target-scoped support decision | supported |
| Supported base | http-clusterip |
| Target scope | vanilla kind (historical receipt); namespace=nginx; delivery=confighub-oci; controller=argo |
| Accepted limits | optional input sources and scan policy; ownership of generated values; warning review and apply-gate policy; cluster requirement checks before deployment |
| Open policy decisions | None recorded for this policy checklist |
| Next action | Keep the target-scoped evidence fresh before using this supported scope as a production-support example. |
Source And Evidence Files