apiVersion: "helm-expt.confighub.com/v1alpha1"
kind: "Variant"
metadata:
  name: "s3-query-observability"
spec:
  recipe: "../../recipe.yaml"
  namespace: "tempo"
  releaseName: "tempo"
  valuesProfile: "../../effective-values-s3-query-observability.yaml"
  capabilityProfile:
    kubeVersion: "1.30.0"
    apiVersions:
      - "networking.k8s.io/v1"
      - "monitoring.coreos.com/v1"
  hookPolicy: "no-hooks"
  targetFacts:
    requiredSecrets:
      -
        namespace: "tempo"
        name: "tempo-s3-credentials"
        keys:
          - "access_key"
          - "secret_key"
        purpose: "S3 access credentials referenced by Tempo environment variables"
    requiredValues:
      -
        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"
        deliveryLanes:
          - "recipe"
    requiredObjectStores:
      -
        kind: "S3CompatibleObjectStore"
        namespace: "tempo"
        name: "tempo-object-store"
        serviceName: "tempo-object-store"
        endpoint: "tempo-object-store.tempo.svc.cluster.local:9000"
        bucket: "tempo-traces"
        credentialsSecret:
          name: "tempo-s3-credentials"
          accessKey: "access_key"
          secretKey: "secret_key"
        purpose: "Local S3-compatible object-store fixture used to prove the S3 base can become ready when its target prerequisite exists"
        deliveryLanes:
          - "regularHelm"
          - "cubInstallerApply"
    requiredCRDs:
      -
        name: "servicemonitors.monitoring.coreos.com"
        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"
        purpose: "Prometheus Operator ServiceMonitor CRD required by Tempo's ServiceMonitor object"
        deliveryLanes:
          - "regularHelm"
          - "cubInstallerApply"
          - "configHubKubectlApply"
          - "configHubOciArgo"
