<!-- Generated by npm run catalog:maps. Do not edit by hand. -->

# ingress-nginx/ingress-nginx 4.15.1 Catalog Map

This page makes the artifact chain explicit:

```text
chart -> recipe -> variants -> variant revisions -> package bases -> receipts
```

## Status

| Field | Value |
| --- | --- |
| Chart | ingress-nginx/ingress-nginx@4.15.1 |
| Catalog status | catalog-supported |
| Support level | supported-for-declared-scopes |
| Supported scopes | local-test |
| Production readiness | production-review-ready |
| Supported variants | default, admission-disabled, internal-clusterip |
| Candidate variants | none |
| Control points | admission-webhook, capability-profile, cluster-rbac, dependency-lock, hook-policy, installer-support-object, source-lock, target-facts, tpl |

## Feature And Proof Summary

This is the chart-level summary. Use the variant table and receipt links below
for exact base-variant evidence.

| Field | Value |
| --- | --- |
| Adoption bucket | try-from-public-catalog |
| User status | catalog-supported-with-live-evidence |
| Strongest evidence | live-helm-vs-confighub-parity |
| Proof lanes | render parity 3/3; ConfigHub 3/3; local live 3/3; GitOps live 3/3; live parity 3/3 |
| Feature summary | webhooks;required-values |
| Hard gap | - |
| Next action | record the target-scoped lifecycle support decision, then refresh live/e2e evidence for that scope |

## Artifact Chain

| Stage | Artifact |
| --- | --- |
| Source chart lock | [recipes/ingress-nginx/ingress-nginx/4.15.1/source-lock.yaml](source-lock.yaml) |
| Dependency lock | [recipes/ingress-nginx/ingress-nginx/4.15.1/dependency-lock.yaml](dependency-lock.yaml) |
| Recipe | [recipes/ingress-nginx/ingress-nginx/4.15.1/recipe.yaml](recipe.yaml) |
| Helm plan | [recipes/ingress-nginx/ingress-nginx/4.15.1/helm-plan.yaml](helm-plan.yaml) |
| Chart dossier | [recipes/ingress-nginx/ingress-nginx/4.15.1/chart-dossier.yaml](chart-dossier.yaml) |
| Control points | [recipes/ingress-nginx/ingress-nginx/4.15.1/control-points.yaml](control-points.yaml) |
| Value model | [recipes/ingress-nginx/ingress-nginx/4.15.1/value-model.yaml](value-model.yaml) |
| GitOps runtime review | [recipes/ingress-nginx/ingress-nginx/4.15.1/gitops-runtime-review.yaml](gitops-runtime-review.yaml) |
| Target topology | [recipes/ingress-nginx/ingress-nginx/4.15.1/target-topology.yaml](target-topology.yaml) |
| Lifecycle policy | [recipes/ingress-nginx/ingress-nginx/4.15.1/lifecycle-policy.yaml](lifecycle-policy.yaml) |
| Weirdness and mitigations | [recipes/ingress-nginx/ingress-nginx/4.15.1/weirdness-and-mitigations.md](weirdness-and-mitigations.md) |
| Catalog status | [recipes/ingress-nginx/ingress-nginx/4.15.1/catalog-status.yaml](catalog-status.yaml) |
| Helm pain report | [recipes/ingress-nginx/ingress-nginx/4.15.1/helm-pain-report.yaml](helm-pain-report.yaml) |
| Installer package OCI | `oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/ingress-nginx-ingress-nginx:4.15.1` |
| Installer package source | [packages/ingress-nginx/ingress-nginx/4.15.1](../../../../packages/ingress-nginx/ingress-nginx/4.15.1) |
| Installer package receipt | [recipes/ingress-nginx/ingress-nginx/4.15.1/publication/installer-package-receipt.yaml](publication/installer-package-receipt.yaml) |
| Machine index | [recipes/ingress-nginx/ingress-nginx/4.15.1/artifact-index.yaml](artifact-index.yaml) |

## Variants

| Variant | Variant file | Package base | Revision | Helm objects | cub installer objects | Match | Helm equivalence | Scan | Gate | Target facts |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| default | [recipes/ingress-nginx/ingress-nginx/4.15.1/variants/default/variant.yaml](variants/default/variant.yaml) | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/default](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/default) | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/default/r001/variant-revision.yaml](revisions/default/r001/variant-revision.yaml) | 11 | 12 | 11/11 | pass | warn | warn | required Secret ingress-nginx/ingress-nginx-admission keys cert,key,ca |
| admission-disabled | [recipes/ingress-nginx/ingress-nginx/4.15.1/variants/admission-disabled/variant.yaml](variants/admission-disabled/variant.yaml) | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/admission-disabled](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/admission-disabled) | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/admission-disabled/r001/variant-revision.yaml](revisions/admission-disabled/r001/variant-revision.yaml) | 9 | 10 | 9/9 | pass | warn | warn | none |
| internal-clusterip | [recipes/ingress-nginx/ingress-nginx/4.15.1/variants/internal-clusterip/variant.yaml](variants/internal-clusterip/variant.yaml) | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/internal-clusterip](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/internal-clusterip) | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/internal-clusterip/r001/variant-revision.yaml](revisions/internal-clusterip/r001/variant-revision.yaml) | 9 | 10 | 9/9 | pass | warn | warn | none |

## Package Bases

| Base | Path | Default | Description |
| --- | --- | --- | --- |
| default | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/default](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/default) | yes | ingress-nginx default variant rendered from ingress-nginx/ingress-nginx@4.15.1 |
| admission-disabled | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/admission-disabled](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/admission-disabled) | no | ingress-nginx admission webhook disabled variant rendered from ingress-nginx/ingress-nginx@4.15.1 |
| internal-clusterip | [packages/ingress-nginx/ingress-nginx/4.15.1/bases/internal-clusterip](../../../../packages/ingress-nginx/ingress-nginx/4.15.1/bases/internal-clusterip) | no | ingress-nginx internal ClusterIP controller variant rendered from ingress-nginx/ingress-nginx@4.15.1 |

## Receipts

| Variant | Revision | Receipt | Kind | Result | Path |
| --- | --- | --- | --- | --- | --- |
| default | r001 | render | RenderReceipt | recorded | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/default/r001/receipts/render-receipt.yaml](revisions/default/r001/receipts/render-receipt.yaml) |
| default | r001 | helmEquivalence | HelmEquivalenceReceipt | pass | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/default/r001/receipts/helm-equivalence-receipt.yaml](revisions/default/r001/receipts/helm-equivalence-receipt.yaml) |
| default | r001 | scan | ScanReceipt | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/default/r001/receipts/scan-receipt.yaml](revisions/default/r001/receipts/scan-receipt.yaml) |
| default | r001 | installGate | InstallGate | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/default/r001/receipts/install-gate.yaml](revisions/default/r001/receipts/install-gate.yaml) |
| admission-disabled | r001 | render | RenderReceipt | recorded | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/admission-disabled/r001/receipts/render-receipt.yaml](revisions/admission-disabled/r001/receipts/render-receipt.yaml) |
| admission-disabled | r001 | helmEquivalence | HelmEquivalenceReceipt | pass | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/admission-disabled/r001/receipts/helm-equivalence-receipt.yaml](revisions/admission-disabled/r001/receipts/helm-equivalence-receipt.yaml) |
| admission-disabled | r001 | scan | ScanReceipt | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/admission-disabled/r001/receipts/scan-receipt.yaml](revisions/admission-disabled/r001/receipts/scan-receipt.yaml) |
| admission-disabled | r001 | installGate | InstallGate | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/admission-disabled/r001/receipts/install-gate.yaml](revisions/admission-disabled/r001/receipts/install-gate.yaml) |
| internal-clusterip | r001 | render | RenderReceipt | recorded | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/internal-clusterip/r001/receipts/render-receipt.yaml](revisions/internal-clusterip/r001/receipts/render-receipt.yaml) |
| internal-clusterip | r001 | helmEquivalence | HelmEquivalenceReceipt | pass | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/internal-clusterip/r001/receipts/helm-equivalence-receipt.yaml](revisions/internal-clusterip/r001/receipts/helm-equivalence-receipt.yaml) |
| internal-clusterip | r001 | scan | ScanReceipt | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/internal-clusterip/r001/receipts/scan-receipt.yaml](revisions/internal-clusterip/r001/receipts/scan-receipt.yaml) |
| internal-clusterip | r001 | installGate | InstallGate | warn | [recipes/ingress-nginx/ingress-nginx/4.15.1/revisions/internal-clusterip/r001/receipts/install-gate.yaml](revisions/internal-clusterip/r001/receipts/install-gate.yaml) |

## Current Install Shape

```sh
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/ingress-nginx-ingress-nginx:4.15.1 --base <variant> --work-dir <tmp> --non-interactive --namespace <namespace>
```

Use the variant table above to choose the package base. The `oci://` ref is
the public package users pull; the `packages/...` path is the repo source path
used by maintainers and proof scripts. The proof path compares regular Helm
output with real `cub installer setup` output and explains every intentional
difference, such as the Namespace support object or separated Secrets.
