apiVersion: "catalog.confighub.com/v1alpha1"
kind: "BaseVariantRecord"
metadata:
  name: "traefik-traefik-41-4-0-default"
  labels:
    sourceType: "helm"
    component: "traefik/traefik"
    sourceVersion: "41.4.0"
    base: "default"
spec:
  source:
    type: "helm"
    name: "traefik/traefik"
    version: "41.4.0"
    record: "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
    packageOciRef: "oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/traefik-traefik:41.4.0@sha256:90bc2edf8dbea78d770b7917c7bc80c796cfcd603a02e90f3d9969a219377272"
    selection:
      name: "default"
      kind: "catalog-preset"
      provider: "Config Workshop"
      record: "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
  baseVariant:
    name: "default"
    revision: "r001"
    digest: "3880689e71edfbcc6f0188fc34e2b3d6004b25a242bbcf0a05c738796b443036"
    digestRole: "helm-variant-revision"
    digestRecord: "recipes/traefik/traefik/41.4.0/revisions/default/r001/variant-revision.yaml"
  configuration:
    format: "kubernetes-yaml"
    objects: "recipes/traefik/traefik/41.4.0/revisions/default/r001/rendered/release-objects.yaml"
    inventory: "recipes/traefik/traefik/41.4.0/revisions/default/r001/rendered/object-inventory.yaml"
    objectCount: 31
    digest: "8e17fdeb313402d3b8cc3f7827c1f35d278e6809cf93ea0d7a9be31ea82c464b"
    digestRole: "canonical-object-set"
    digestRecord: "recipes/traefik/traefik/41.4.0/revisions/default/r001/variant-revision.yaml"
  processing:
    sourceIntent:
      status: "recorded"
      record: "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
    materialization:
      method: "helm-render"
      status: "captured"
      outputDigest: "8e17fdeb313402d3b8cc3f7827c1f35d278e6809cf93ea0d7a9be31ea82c464b"
      record: "recipes/traefik/traefik/41.4.0/revisions/default/r001/variant-revision.yaml"
    flattening:
      status: "decided"
      verdict: "flatten-with-routes"
      action: "retain-exact-objects-with-routes"
      scope: "traefik/traefik@41.4.0/default; recheck after source, lifecycle-sensitive variant, destination, or delivery-runtime changes"
      record: "recipes/traefik/traefik/41.4.0/publication/flattening-safety-verdict.yaml"
    boundaries:
      - "Helm rendered the pinned chart and values into the exact objects retained by this base."
  assessment:
    stages:
      -
        id: "inspection"
        question: "What do I have?"
        answer: "Inspect the helm source, choices, locks, and any existing output before selecting a destination."
        requiredInputs:
          - "The chart and values, a rendered object set, or a package that contains them"
        catalogMatchRequired: false
        sourceIntentRequired: false
        destinationAccessRequired: false
        deploymentRequired: false
        evidenceState: "completed"
        resultState: "available"
        records:
          - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
          - "recipes/traefik/traefik/41.4.0/revisions/default/r001/rendered/release-objects.yaml"
          - "recipes/traefik/traefik/41.4.0/revisions/default/r001/rendered/object-inventory.yaml"
        nextAction: "Inspect or compare the source and exact files before choosing a destination."
      -
        id: "materialization"
        question: "What will it produce?"
        answer: "Run the recorded Helm render step to produce the exact Kubernetes objects for this configuration."
        requiredInputs:
          - "The pinned chart, version, values, namespace, release name, and render capabilities"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: false
        deploymentRequired: false
        evidenceState: "completed"
        resultState: "pass"
        records:
          - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
          - "recipes/traefik/traefik/41.4.0/revisions/default/r001/variant-revision.yaml"
        nextAction: "Review the exact object set and its digest."
      -
        id: "destination"
        question: "Can this destination accept it?"
        answer: "No destination answer is available yet because target facts or lifecycle handling are incomplete."
        requiredInputs:
          - "The exact candidate configuration"
          - "The selected destination and its current APIs, prerequisites, policies, credentials, controllers, and hardware facts"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: true
        deploymentRequired: false
        evidenceState: "pending"
        resultState: "pending"
        records:
          - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
        nextAction: "Choose the destination, record its facts, and resolve the required lifecycle work before apply."
      -
        id: "post-deployment"
        question: "Did it work?"
        answer: "No post-deployment result is recorded for this exact configuration. Publication, upload, or rendering is not proof that it ran correctly."
        requiredInputs:
          - "The exact delivered revision and destination"
          - "Live controller, resource, health, runtime, drift, and rollback observations required by the claim"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: true
        deploymentRequired: true
        evidenceState: "not-run"
        resultState: "not-run"
        records:
          []
        nextAction: "Deliver the exact revision, then record controller, resource, health, runtime, drift, and rollback results separately."
  inputs:
    fixedAtBuildTime:
      - "chart=traefik/traefik"
      - "version=41.4.0"
      - "base=default"
      - "valuesProfile=recipes/traefik/traefik/41.4.0/effective-values.yaml"
      - "namespace=traefik"
      - "releaseName=traefik"
      - "capabilityProfile={\"apiVersions\":[],\"kubeVersion\":\"1.30.0\"}"
    installTime:
      []
    installTimeStatus: "not-yet-declared"
  lifecycle:
    requirements:
      status: "gap"
      items:
        -
          id: "crd-ordering"
          origin: "base"
          type: "lifecycle-action"
          detail: "CRD ordering declaration for the 25 gateway and traefik CRDs."
      records:
        - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
        - "recipes/traefik/traefik/41.4.0/publication/flattening-safety-verdict.yaml"
    routeIntent:
      status: "gap"
      routes:
        -
          id: "crd-ordering"
          requirementRefs:
            - "crd-ordering"
          phase: "apply"
          proposedActor: "selected destination actor"
          proposedMechanism: "CRD ordering declaration for the 25 gateway and traefik CRDs."
          automatic: false
          status: "requires-destination-resolution"
          sourceStatus: "recorded-not-run"
          supportedRuntimes:
            []
          checks:
            []
          evidence:
            - "recipes/traefik/traefik/41.4.0/publication/flattening-safety-verdict.yaml"
      records:
        - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
        - "recipes/traefik/traefik/41.4.0/publication/flattening-safety-verdict.yaml"
    targetFacts:
      status: "gap"
      declared:
        {}
      requirementRefs:
        []
      records:
        - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
    resolution:
      status: "gap"
      rule: "Re-resolve after a lifecycle-sensitive variant change, destination assignment, or delivery-runtime change; bind the result to the exact configuration digest."
      records:
        []
  ownership:
    status: "partly-declared"
    sourceControlled:
      - "Fields produced from the recorded chart values and render context"
    variantControlled:
      - "Post-render object fields recorded in ConfigHub after upload"
    targetSupplied:
      []
    deliveryProtected:
      []
    records:
      - "data/helm-render-intents/intents/traefik-traefik-41-4-0-default.yaml"
    rule: "Re-evaluate ownership when the source, variant, destination, or delivery behavior changes; overlapping source and variant edits require review."
  delivery:
    literalConfigOci:
      status: "published-with-receipt"
      observedReference: "oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bundles/catalog-traefik-traefik-41-4-0-default:latest@sha256:e0a31249abd66ae5059e31abbef63e4285e5b64afd4b28fb008374f20c6e5573"
      manifestDigest: "sha256:e0a31249abd66ae5059e31abbef63e4285e5b64afd4b28fb008374f20c6e5573"
      layerDigest: "sha256:775af435b21b47e2696439adfb7f8198476070fe5a816d8a18053edb69481c50"
      objectSetSha256: "sha256:8e17fdeb313402d3b8cc3f7827c1f35d278e6809cf93ea0d7a9be31ea82c464b"
      receipt: "data/certified-bundles/receipts/catalog/traefik-41.4.0-default/receipt.yaml"
      receiptSha256: "sha256:201fcae393a58bcf68b868f8f118cbdb3d920dcf1b112de0ba672d7c21717e90"
      publicationReceipt: "runs/certified-bundles/catalog-traefik-traefik-41-4-0-default/publication-receipt.yaml"
      publicationReceiptSha256: "sha256:d71be3409cba46fffa33eb046abe51944197f9fc0d17b28b677f7da79440d07a"
      routes:
        -
          path: "data/certified-bundles/routes/catalog/traefik-traefik-41.4.0-default/crd-ordering.yaml"
          sha256: "sha256:ba63eef55b1a898907a06773d2c59b02259f0d6a13f1ce9e7dd685a5a1714e56"
          role: "route: crd-ordering"
      note: "The receipt and publication receipt declare these route files; this binding does not prove a remote pullback or route execution."
    configHubReleaseOci:
      status: "not-recorded-for-this-base"
      note: "No current ConfigHub Space release OCI receipt is recorded for this exact base."
    argoCd: "not-recorded-for-this-base"
    flux: "not-recorded-for-this-base"
    direct: "not-recorded-for-this-base"
    historicalGitopsOciStatus: "todo"
  policy:
    profile: "catalog-standard"
    productionAdds:
      - "workflow-approval"
  evidence:
    renderParity: "yes"
    confighubScanOps: "todo"
    localKind: "todo"
    lifecycleObserved: "todo"
    gitopsOciLive: "todo"
    liveDualParity: "todo"
    twoClusterKind: "todo"
    variantPromotion: "missing-confighub-proof"
  operations:
    resourceClass: "not-yet-classified"
    ownerClass: "not-yet-classified"
    changeCadence: "not-yet-classified"
status:
  level: "available"
  claim: "The Helm source record, committed rendered objects, revision digest, routes, target facts, and proof-lane statuses are indexed here."
  limits:
    - "This record does not claim that the base has been uploaded to a live ConfigHub Space."
    - "The inputs still required at installation are not yet fully recorded for every Helm configuration."
    - "A multi-preset installer package OCI is not the same as a single literal configuration OCI."
