apiVersion: "helm-expt.confighub.com/v1alpha1"
kind: "ChartArtifactIndex"
metadata:
  name: "grafana-tempo-1.24.4"
  chart: "grafana/tempo"
  version: "1.24.4"
  generatedBy: "scripts/generate-chart-catalogs.mjs"
spec:
  doctrine: "1 Helm chart version -> 1 core recipe -> N variants -> M variant revisions -> package bases -> receipts"
  chart:
    ref: "grafana/tempo"
    version: "1.24.4"
    appVersion: "2.9.0"
    sourceLock: "recipes/grafana/tempo/1.24.4/source-lock.yaml"
    dependencyLock: "recipes/grafana/tempo/1.24.4/dependency-lock.yaml"
    repository: "https://grafana.github.io/helm-charts"
    packageSHA256: "f1f6e318d5bca3b5097cb676077796cdf8135beb2c1f71c4d14614ccf9b0081b"
  recipe:
    path: "recipes/grafana/tempo/1.24.4/recipe.yaml"
    importMode: "render-and-vendor"
    helmPlan: "recipes/grafana/tempo/1.24.4/helm-plan.yaml"
    chartDossier: "recipes/grafana/tempo/1.24.4/chart-dossier.yaml"
    controlPoints: "recipes/grafana/tempo/1.24.4/control-points.yaml"
    valueModel: "recipes/grafana/tempo/1.24.4/value-model.yaml"
    weirdnessAndMitigations: "recipes/grafana/tempo/1.24.4/weirdness-and-mitigations.md"
    helmPainReport: "recipes/grafana/tempo/1.24.4/helm-pain-report.yaml"
    controlPointCategories:
      - "capability-profile"
      - "chart-deprecation"
      - "dependency-lock"
      - "extension-slots"
      - "installer-support-object"
      - "network-policy"
      - "object-store-runtime-prerequisite"
      - "query-ingress-policy"
      - "servicemonitor-capability"
      - "servicemonitor-crd-target-fact"
      - "source-lock"
      - "stateful-workload"
      - "target-facts"
      - "upstream-runtime-risk"
  catalogStatus:
    path: "recipes/grafana/tempo/1.24.4/catalog-status.yaml"
    status: "catalog-supported"
    supportLevel: "supported-for-declared-scopes"
    supportedScopes:
      - "local-test"
    productionReadiness: "production-review-ready"
    supportedVariants:
      - "local-persistent"
      - "s3-query-observability"
    candidateVariants:
      []
    deferredVariants:
      []
  proofSummary:
    adoptionBucket: "try-from-public-catalog"
    userStatus: "catalog-supported-with-live-evidence"
    strongestEvidence: "live-helm-vs-confighub-parity"
    proofLanes:
      renderParity: "2/2"
      inConfigHub: "2/2"
      localLive: "1/2"
      gitopsLive: "1/2"
      liveParity: "1/2"
    featureSummary: "extension-slots"
    hardGap: "ha (tempo single-binary chart; HA is the separate tempo-distributed chart)"
    nextAction: "resolve image digests for each affected variant before production OCI support"
  installerPackage:
    path: "packages/grafana/tempo/1.24.4"
    ociRef: "oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/grafana-tempo:1.24.4"
    installer: "packages/grafana/tempo/1.24.4/installer.yaml"
    receipt: "recipes/grafana/tempo/1.24.4/publication/installer-package-receipt.yaml"
    deterministicBundleSHA256: "0deb28ce79d22bc3b79b1f91d9fe825ce733cd6ab54e7fe54f64c9068d97f93f"
    deterministicAcrossTwoLocalBundles: true
    bases:
      -
        name: "local-persistent"
        path: "packages/grafana/tempo/1.24.4/bases/local-persistent"
        default: true
        description: "tempo local persistent single-binary variant rendered from grafana/tempo@1.24.4"
      -
        name: "s3-query-observability"
        path: "packages/grafana/tempo/1.24.4/bases/s3-query-observability"
        default: false
        description: "tempo S3 query and observability variant rendered from grafana/tempo@1.24.4"
  variants:
    -
      name: "local-persistent"
      variant: "recipes/grafana/tempo/1.24.4/variants/local-persistent/variant.yaml"
      namespace: "tempo"
      releaseName: "tempo"
      valuesProfile: "recipes/grafana/tempo/1.24.4/effective-values.yaml"
      capabilityProfile:
        apiVersions:
          - "networking.k8s.io/v1"
        kubeVersion: "1.30.0"
      hookPolicy: "no-hooks"
      targetFacts:
        {}
      targetFactSummary: "none"
      packageBase:
        name: "local-persistent"
        path: "packages/grafana/tempo/1.24.4/bases/local-persistent"
        default: true
        description: "tempo local persistent single-binary variant rendered from grafana/tempo@1.24.4"
      setupCheck:
        command: "cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/grafana-tempo:1.24.4 --base local-persistent --work-dir <tmp> --non-interactive --namespace tempo"
        helmReleaseObjectCount: 4
        cubInstallObjectCountIncludingSupport: 5
        semanticObjectMatches: "4/4"
        separatedSecretCount: 0
        allowedCubOnlyObjects:
          - "v1|Namespace||tempo"
      revisions:
        -
          name: "local-persistent-r001"
          revision: "r001"
          variantRevision: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/variant-revision.yaml"
          digest: "75c99c0e86a430f8ff1c9967da77a5fc59f5bad8498961eb024cdac68be36cc8"
          renderedObjectSetSHA256: "df7ce7b40425eef8d057bdd80416ea3ae781ababe7ce6a154db74990c0f07905"
          renderedObjects: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/rendered/release-objects.yaml"
          objectInventory: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/rendered/object-inventory.yaml"
          objectCount: 4
          helmObjectCount: 4
          cubInstallObjectCountIncludingSupport: 5
          semanticObjectMatches: "4/4"
          separatedSecretFiles: 0
          receipts:
            render:
              kind: "RenderReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/receipts/render-receipt.yaml"
              result: "recorded"
              renderedObjectSetSHA256: "df7ce7b40425eef8d057bdd80416ea3ae781ababe7ce6a154db74990c0f07905"
            helmEquivalence:
              kind: "HelmEquivalenceReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/receipts/helm-equivalence-receipt.yaml"
              result: "pass"
              renderedObjectSetSHA256: "df7ce7b40425eef8d057bdd80416ea3ae781ababe7ce6a154db74990c0f07905"
            scan:
              kind: "ScanReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/receipts/scan-receipt.yaml"
              result: "warn"
              renderedObjectSetSHA256: "df7ce7b40425eef8d057bdd80416ea3ae781ababe7ce6a154db74990c0f07905"
            installGate:
              kind: "InstallGate"
              path: "recipes/grafana/tempo/1.24.4/revisions/local-persistent/r001/receipts/install-gate.yaml"
              result: "warn"
              renderedObjectSetSHA256: "df7ce7b40425eef8d057bdd80416ea3ae781ababe7ce6a154db74990c0f07905"
    -
      name: "s3-query-observability"
      variant: "recipes/grafana/tempo/1.24.4/variants/s3-query-observability/variant.yaml"
      namespace: "tempo"
      releaseName: "tempo"
      valuesProfile: "recipes/grafana/tempo/1.24.4/effective-values-s3-query-observability.yaml"
      capabilityProfile:
        apiVersions:
          - "networking.k8s.io/v1"
          - "monitoring.coreos.com/v1"
        kubeVersion: "1.30.0"
      hookPolicy: "no-hooks"
      targetFacts:
        requiredCRDs:
          -
            deliveryLanes:
              - "regularHelm"
              - "cubInstallerApply"
              - "configHubKubectlApply"
              - "configHubOciArgo"
            name: "servicemonitors.monitoring.coreos.com"
            purpose: "Prometheus Operator ServiceMonitor CRD required by Tempo's ServiceMonitor object"
            sourcePath: "../../../prometheus-community/kube-prometheus-stack/85.3.3/revisions/default/r001/rendered/release-objects.yaml"
            sourceVariant: "prometheus-community/kube-prometheus-stack@85.3.3/default"
        requiredObjectStores:
          -
            bucket: "tempo-traces"
            credentialsSecret:
              accessKey: "access_key"
              name: "tempo-s3-credentials"
              secretKey: "secret_key"
            deliveryLanes:
              - "regularHelm"
              - "cubInstallerApply"
            endpoint: "tempo-object-store.tempo.svc.cluster.local:9000"
            kind: "S3CompatibleObjectStore"
            name: "tempo-object-store"
            namespace: "tempo"
            purpose: "Local S3-compatible object-store fixture used to prove the S3 base can become ready when its target prerequisite exists"
            serviceName: "tempo-object-store"
        requiredSecrets:
          -
            keys:
              - "access_key"
              - "secret_key"
            name: "tempo-s3-credentials"
            namespace: "tempo"
            purpose: "S3 access credentials referenced by Tempo environment variables"
        requiredValues:
          -
            deliveryLanes:
              - "recipe"
            path: "tempo.storage.trace.s3.endpoint"
            purpose: "S3-compatible endpoint that Tempo will write traces to"
            stage: "pre-render"
          -
            deliveryLanes:
              - "recipe"
            path: "tempo.storage.trace.s3.bucket"
            purpose: "Existing bucket for Tempo trace blocks"
            stage: "pre-render"
          -
            deliveryLanes:
              - "recipe"
            path: "tempo.storage.trace.s3.region"
            purpose: "Object-store region used with the selected endpoint and bucket"
            stage: "pre-render"
      targetFactSummary: "required Secret tempo/tempo-s3-credentials keys access_key,secret_key; required CRD servicemonitors.monitoring.coreos.com; required S3CompatibleObjectStore tempo/tempo-object-store; required Value tempo.storage.trace.s3.endpoint (pre-render); required Value tempo.storage.trace.s3.bucket (pre-render); required Value tempo.storage.trace.s3.region (pre-render)"
      packageBase:
        name: "s3-query-observability"
        path: "packages/grafana/tempo/1.24.4/bases/s3-query-observability"
        default: false
        description: "tempo S3 query and observability variant rendered from grafana/tempo@1.24.4"
      setupCheck:
        command: "cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/grafana-tempo:1.24.4 --base s3-query-observability --work-dir <tmp> --non-interactive --namespace tempo"
        helmReleaseObjectCount: 8
        cubInstallObjectCountIncludingSupport: 9
        semanticObjectMatches: "8/8"
        separatedSecretCount: 0
        allowedCubOnlyObjects:
          - "v1|Namespace||tempo"
      revisions:
        -
          name: "s3-query-observability-r001"
          revision: "r001"
          variantRevision: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/variant-revision.yaml"
          digest: "7b0f4953c927613a0fe94df67ae5ec22b62672da793f0dd65f123536e7a24ed6"
          renderedObjectSetSHA256: "4e981336df773cdd82b2551d35d27d61f4b39e6a3df0a9a693ac81fd0d3cf8ed"
          renderedObjects: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml"
          objectInventory: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/object-inventory.yaml"
          objectCount: 8
          helmObjectCount: 8
          cubInstallObjectCountIncludingSupport: 9
          semanticObjectMatches: "8/8"
          separatedSecretFiles: 0
          receipts:
            render:
              kind: "RenderReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/receipts/render-receipt.yaml"
              result: "recorded"
              renderedObjectSetSHA256: "4e981336df773cdd82b2551d35d27d61f4b39e6a3df0a9a693ac81fd0d3cf8ed"
            helmEquivalence:
              kind: "HelmEquivalenceReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/receipts/helm-equivalence-receipt.yaml"
              result: "pass"
              renderedObjectSetSHA256: "4e981336df773cdd82b2551d35d27d61f4b39e6a3df0a9a693ac81fd0d3cf8ed"
            scan:
              kind: "ScanReceipt"
              path: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/receipts/scan-receipt.yaml"
              result: "warn"
              renderedObjectSetSHA256: "4e981336df773cdd82b2551d35d27d61f4b39e6a3df0a9a693ac81fd0d3cf8ed"
            installGate:
              kind: "InstallGate"
              path: "recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/receipts/install-gate.yaml"
              result: "warn"
              renderedObjectSetSHA256: "4e981336df773cdd82b2551d35d27d61f4b39e6a3df0a9a693ac81fd0d3cf8ed"
