apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: '2'
  creationTimestamp: '2024-10-14T10:31:18Z'
  generation: 2
  labels:
    app.kubernetes.io/component: gateway
    app.kubernetes.io/instance: tracing
    app.kubernetes.io/managed-by: tempo-operator
    app.kubernetes.io/name: tempo
  managedFields:
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/name: {}
        f:ownerReferences:
          .: {}
          k:{"uid":"364d336d-6c4e-49b6-8787-734c717c3364"}: {}
      f:spec:
        f:progressDeadlineSeconds: {}
        f:replicas: {}
        f:revisionHistoryLimit: {}
        f:selector: {}
        f:strategy:
          f:rollingUpdate:
            .: {}
            f:maxSurge: {}
            f:maxUnavailable: {}
          f:type: {}
        f:template:
          f:metadata:
            f:annotations:
              .: {}
              f:tempo.grafana.com/config.hash: {}
              f:tempo.grafana.com/rbacConfig.hash: {}
              f:tempo.grafana.com/tenantsConfig.hash: {}
            f:labels:
              .: {}
              f:app.kubernetes.io/component: {}
              f:app.kubernetes.io/instance: {}
              f:app.kubernetes.io/managed-by: {}
              f:app.kubernetes.io/name: {}
          f:spec:
            f:containers:
              k:{"name":"tempo-gateway"}:
                .: {}
                f:args: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:livenessProbe:
                  .: {}
                  f:failureThreshold: {}
                  f:httpGet:
                    .: {}
                    f:path: {}
                    f:port: {}
                    f:scheme: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:name: {}
                f:ports:
                  .: {}
                  k:{"containerPort":8080,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":8081,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":8090,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                f:readinessProbe:
                  .: {}
                  f:failureThreshold: {}
                  f:httpGet:
                    .: {}
                    f:path: {}
                    f:port: {}
                    f:scheme: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:resources:
                  .: {}
                  f:limits:
                    .: {}
                    f:cpu: {}
                    f:memory: {}
                  f:requests:
                    .: {}
                    f:cpu: {}
                    f:memory: {}
                f:securityContext:
                  .: {}
                  f:allowPrivilegeEscalation: {}
                  f:capabilities:
                    .: {}
                    f:drop: {}
                  f:readOnlyRootFilesystem: {}
                f:terminationMessagePath: {}
                f:terminationMessagePolicy: {}
                f:volumeMounts:
                  .: {}
                  k:{"mountPath":"/etc/tempo-gateway/cabundle"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/etc/tempo-gateway/cm"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/etc/tempo-gateway/secret/tenants.yaml"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                    f:subPath: {}
                  k:{"mountPath":"/etc/tempo-gateway/serving-certs"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                    f:readOnly: {}
                  k:{"mountPath":"/var/run/ca"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
                  k:{"mountPath":"/var/run/tls/server"}:
                    .: {}
                    f:mountPath: {}
                    f:name: {}
              k:{"name":"tempo-gateway-opa"}:
                .: {}
                f:args: {}
                f:image: {}
                f:imagePullPolicy: {}
                f:livenessProbe:
                  .: {}
                  f:failureThreshold: {}
                  f:httpGet:
                    .: {}
                    f:path: {}
                    f:port: {}
                    f:scheme: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:name: {}
                f:ports:
                  .: {}
                  k:{"containerPort":8082,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                  k:{"containerPort":8083,"protocol":"TCP"}:
                    .: {}
                    f:containerPort: {}
                    f:name: {}
                    f:protocol: {}
                f:readinessProbe:
                  .: {}
                  f:failureThreshold: {}
                  f:httpGet:
                    .: {}
                    f:path: {}
                    f:port: {}
                    f:scheme: {}
                  f:periodSeconds: {}
                  f:successThreshold: {}
                  f:timeoutSeconds: {}
                f:resources: {}
                f:terminationMessagePath: {}
                f:terminationMessagePolicy: {}
            f:dnsPolicy: {}
            f:restartPolicy: {}
            f:schedulerName: {}
            f:securityContext: {}
            f:serviceAccount: {}
            f:serviceAccountName: {}
            f:terminationGracePeriodSeconds: {}
            f:volumes:
              .: {}
              k:{"name":"cabundle"}:
                .: {}
                f:configMap:
                  .: {}
                  f:defaultMode: {}
                  f:name: {}
                f:name: {}
              k:{"name":"rbac"}:
                .: {}
                f:configMap:
                  .: {}
                  f:defaultMode: {}
                  f:items: {}
                  f:name: {}
                f:name: {}
              k:{"name":"serving-certs"}:
                .: {}
                f:name: {}
                f:secret:
                  .: {}
                  f:defaultMode: {}
                  f:secretName: {}
              k:{"name":"tempo-tracing-ca-bundle"}:
                .: {}
                f:configMap:
                  .: {}
                  f:defaultMode: {}
                  f:name: {}
                f:name: {}
              k:{"name":"tempo-tracing-gateway-mtls"}:
                .: {}
                f:name: {}
                f:secret:
                  .: {}
                  f:defaultMode: {}
                  f:secretName: {}
              k:{"name":"tenant"}:
                .: {}
                f:name: {}
                f:secret:
                  .: {}
                  f:defaultMode: {}
                  f:items: {}
                  f:secretName: {}
    manager: tempo-operator
    operation: Update
    time: '2024-10-14T10:31:18Z'
  - apiVersion: apps/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:deployment.kubernetes.io/revision: {}
      f:status:
        f:availableReplicas: {}
        f:conditions:
          .: {}
          k:{"type":"Available"}:
            .: {}
            f:lastTransitionTime: {}
            f:lastUpdateTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"Progressing"}:
            .: {}
            f:lastTransitionTime: {}
            f:lastUpdateTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
        f:observedGeneration: {}
        f:readyReplicas: {}
        f:replicas: {}
        f:updatedReplicas: {}
    manager: kube-controller-manager
    operation: Update
    subresource: status
    time: '2024-10-14T10:31:21Z'
  name: tempo-tracing-gateway
  namespace: observability-tempo
  ownerReferences:
  - apiVersion: tempo.grafana.com/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: TempoStack
    name: tracing
    uid: 364d336d-6c4e-49b6-8787-734c717c3364
  resourceVersion: '115082428'
  uid: e59aadd3-76a8-451f-92b3-c4f74c426253
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/component: gateway
      app.kubernetes.io/instance: tracing
      app.kubernetes.io/managed-by: tempo-operator
      app.kubernetes.io/name: tempo
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      annotations:
        tempo.grafana.com/config.hash: 474a0c3236e5048ebb36e9d263e18eb259de2497a24c011a979f4f9335086c7b
        tempo.grafana.com/rbacConfig.hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        tempo.grafana.com/tenantsConfig.hash: 8e65a1ff310fce20aec75d09d70179d82074a790f726c72420fa2104bcf35383
      creationTimestamp: null
      labels:
        app.kubernetes.io/component: gateway
        app.kubernetes.io/instance: tracing
        app.kubernetes.io/managed-by: tempo-operator
        app.kubernetes.io/name: tempo
    spec:
      containers:
      - args:
        - --traces.tenant-header=x-scope-orgid
        - --web.listen=0.0.0.0:8080
        - --web.internal.listen=0.0.0.0:8081
        - --traces.write.otlpgrpc.endpoint=tempo-tracing-distributor.observability-tempo.svc.cluster.local:4317
        - --traces.write.otlphttp.endpoint=https://tempo-tracing-distributor.observability-tempo.svc.cluster.local:4318
        - --traces.tempo.endpoint=https://tempo-tracing-query-frontend.observability-tempo.svc.cluster.local:3200
        - --grpc.listen=0.0.0.0:8090
        - --rbac.config=/etc/tempo-gateway/cm/rbac.yaml
        - --tenants.config=/etc/tempo-gateway/secret/tenants.yaml
        - --log.level=info
        - --tls.internal.server.key-file=/var/run/tls/server/tls.key
        - --tls.internal.server.cert-file=/var/run/tls/server/tls.crt
        - --traces.tls.key-file=/var/run/tls/server/tls.key
        - --traces.tls.cert-file=/var/run/tls/server/tls.crt
        - --traces.tls.ca-file=/var/run/ca/service-ca.crt
        - --traces.tls.watch-certs=true
        - --tls.server.cert-file=/etc/tempo-gateway/serving-certs/tls.crt
        - --tls.server.key-file=/etc/tempo-gateway/serving-certs/tls.key
        - --tls.healthchecks.server-ca-file=/etc/tempo-gateway/cabundle/service-ca.crt
        - --tls.healthchecks.server-name=tempo-tracing-gateway.observability-tempo.svc.cluster.local
        - --web.healthchecks.url=https://localhost:8080
        - --tls.client-auth-type=NoClientCert
        - --traces.read.endpoint=https://tempo-tracing-query-frontend.observability-tempo.svc.cluster.local:16686
        image: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:f04f2523f90a7d0f84f11907bb40bf24e28628acc023e3a19ed35c83cb707719
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 10
          httpGet:
            path: /live
            port: internal
            scheme: HTTPS
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 2
        name: tempo-gateway
        ports:
        - containerPort: 8090
          name: grpc-public
          protocol: TCP
        - containerPort: 8081
          name: internal
          protocol: TCP
        - containerPort: 8080
          name: public
          protocol: TCP
        readinessProbe:
          failureThreshold: 12
          httpGet:
            path: /ready
            port: internal
            scheme: HTTPS
          periodSeconds: 5
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            cpu: 120m
            memory: '429496736'
          requests:
            cpu: 36m
            memory: '128849024'
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          readOnlyRootFilesystem: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /etc/tempo-gateway/cm
          name: rbac
          readOnly: true
        - mountPath: /etc/tempo-gateway/secret/tenants.yaml
          name: tenant
          readOnly: true
          subPath: tenants.yaml
        - mountPath: /var/run/ca
          name: tempo-tracing-ca-bundle
        - mountPath: /var/run/tls/server
          name: tempo-tracing-gateway-mtls
        - mountPath: /etc/tempo-gateway/serving-certs
          name: serving-certs
          readOnly: true
        - mountPath: /etc/tempo-gateway/cabundle
          name: cabundle
          readOnly: true
      - args:
        - --log.level=warn
        - --opa.admin-groups=system:cluster-admins,cluster-admin,dedicated-admin
        - --web.listen=:8082
        - --web.internal.listen=:8083
        - --web.healthchecks.url=http://localhost:8082
        - --opa.package=tempostack
        - --openshift.mappings=ort2-str=tempo.grafana.com
        image: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:08f5e521179e7c6e8b62372e280c4c1063578c864e3e7c6c40523a6373bd1896
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 10
          httpGet:
            path: /live
            port: 8083
            scheme: HTTP
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 2
        name: tempo-gateway-opa
        ports:
        - containerPort: 8082
          name: public
          protocol: TCP
        - containerPort: 8083
          name: opa-metrics
          protocol: TCP
        readinessProbe:
          failureThreshold: 12
          httpGet:
            path: /ready
            port: 8083
            scheme: HTTP
          periodSeconds: 5
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: tempo-tracing-gateway
      serviceAccountName: tempo-tracing-gateway
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 420
          items:
          - key: rbac.yaml
            path: rbac.yaml
          name: tempo-tracing-gateway
        name: rbac
      - name: tenant
        secret:
          defaultMode: 420
          items:
          - key: tenants.yaml
            path: tenants.yaml
          secretName: tempo-tracing-gateway
      - configMap:
          defaultMode: 420
          name: tempo-tracing-ca-bundle
        name: tempo-tracing-ca-bundle
      - name: tempo-tracing-gateway-mtls
        secret:
          defaultMode: 420
          secretName: tempo-tracing-gateway-mtls
      - name: serving-certs
        secret:
          defaultMode: 420
          secretName: tempo-tracing-gateway-tls
      - configMap:
          defaultMode: 420
          name: tempo-tracing-gateway-cabundle
        name: cabundle
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: '2024-10-14T10:31:20Z'
    lastUpdateTime: '2024-10-14T10:31:20Z'
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: 'True'
    type: Available
  - lastTransitionTime: '2024-10-14T10:31:18Z'
    lastUpdateTime: '2024-10-14T10:31:21Z'
    message: ReplicaSet "tempo-tracing-gateway-5c465c5c94" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: 'True'
    type: Progressing
  observedGeneration: 2
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1

