# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
# This file is generated by 'make generate-kubernetes-manifests'
---
apiVersion: v1
kind: Namespace
metadata:
  name: otel-demo
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: opentelemetry-demo-otelcol
  namespace: otel-demo
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
---
# Source: opentelemetry-demo/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: opentelemetry-demo
  labels:
    
    opentelemetry.io/name: opentelemetry-demo
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/name: opentelemetry-demo
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: opentelemetry-demo-otelcol
  namespace: otel-demo
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
    
data:
  relay: |
    connectors:
      spanmetrics: {}
    exporters:
      debug: {}
      googlecloud:
        log:
          default_log_name: opentelemetry.io/opentelemetry-demo
      googlemanagedprometheus: {}
    extensions:
      health_check:
        endpoint: ${env:MY_POD_IP}:13133
    processors:
      batch:
        send_batch_max_size: 200
        send_batch_size: 200
        timeout: 5s
      filter/too_frequent:
        metrics:
          metric:
          - (IsMatch(name, "(.*)app_currency(.*)")) or (resource.attributes["service.name"] == "flagd")
      k8sattributes:
        extract:
          metadata:
          - k8s.namespace.name
          - k8s.deployment.name
          - k8s.statefulset.name
          - k8s.daemonset.name
          - k8s.cronjob.name
          - k8s.job.name
          - k8s.node.name
          - k8s.pod.name
          - k8s.pod.uid
          - k8s.pod.start_time
        filter:
          namespace: otel-demo
        passthrough: false
        pod_association:
        - sources:
          - from: resource_attribute
            name: k8s.pod.ip
        - sources:
          - from: resource_attribute
            name: k8s.pod.uid
        - sources:
          - from: connection
      memory_limiter:
        check_interval: 1s
        limit_percentage: 65
        spike_limit_percentage: 20
      resource:
        attributes:
        - action: insert
          from_attribute: k8s.pod.uid
          key: service.instance.id
      resourcedetection:
        detectors:
        - gcp
        timeout: 10s
      transform:
        error_mode: ignore
        trace_statements:
        - context: span
          statements:
          - replace_pattern(name, "\\?.*", "")
          - replace_match(name, "GET /api/products/*", "GET /api/products/{productId}")
      transform/collision:
        metric_statements:
        - context: datapoint
          statements:
          - set(attributes["exported_location"], attributes["location"])
          - delete_key(attributes, "location")
          - set(attributes["exported_cluster"], attributes["cluster"])
          - delete_key(attributes, "cluster")
          - set(attributes["exported_namespace"], attributes["namespace"])
          - delete_key(attributes, "namespace")
          - set(attributes["exported_job"], attributes["job"])
          - delete_key(attributes, "job")
          - set(attributes["exported_instance"], attributes["instance"])
          - delete_key(attributes, "instance")
          - set(attributes["exported_project_id"], attributes["project_id"])
          - delete_key(attributes, "project_id")
    receivers:
      httpcheck/frontendproxy:
        targets:
        - endpoint: http://opentelemetry-demo-frontendproxy:8080
      jaeger:
        protocols:
          grpc:
            endpoint: ${env:MY_POD_IP}:14250
          thrift_compact:
            endpoint: ${env:MY_POD_IP}:6831
          thrift_http:
            endpoint: ${env:MY_POD_IP}:14268
      otlp:
        protocols:
          grpc:
            endpoint: ${env:MY_POD_IP}:4317
          http:
            cors:
              allowed_origins:
              - http://*
              - https://*
            endpoint: ${env:MY_POD_IP}:4318
      prometheus:
        config:
          scrape_configs:
          - job_name: opentelemetry-collector
            scrape_interval: 10s
            static_configs:
            - targets:
              - ${env:MY_POD_IP}:8888
      zipkin:
        endpoint: ${env:MY_POD_IP}:9411
    service:
      extensions:
      - health_check
      pipelines:
        logs:
          exporters:
          - googlecloud
          processors:
          - k8sattributes
          - resourcedetection
          - resource
          - memory_limiter
          - batch
          receivers:
          - otlp
        metrics:
          exporters:
          - googlemanagedprometheus
          processors:
          - k8sattributes
          - memory_limiter
          - filter/too_frequent
          - resourcedetection
          - transform/collision
          - resource
          - batch
          receivers:
          - otlp
        traces:
          exporters:
          - googlecloud
          processors:
          - k8sattributes
          - memory_limiter
          - resourcedetection
          - resource
          - batch
          receivers:
          - otlp
          - jaeger
          - zipkin
      telemetry:
        metrics:
          address: ${env:MY_POD_IP}:8888
---
# Source: opentelemetry-demo/templates/flagd-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: opentelemetry-demo-flagd-config
  namespace: otel-demo
  labels:
    
    opentelemetry.io/name: opentelemetry-demo
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/name: opentelemetry-demo
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
data:
  
  demo.flagd.json: |
    {
      "$schema": "https://flagd.dev/schema/v0/flags.json",
      "flags": {
        "productCatalogFailure": {
          "description": "Fail product catalog service on a specific product",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "recommendationServiceCacheFailure": {
          "description": "Fail recommendation service cache",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "adServiceManualGc": {
          "description": "Triggers full manual garbage collections in the ad service",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "adServiceHighCpu": {
          "description": "Triggers high cpu load in the ad service",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "adServiceFailure": {
          "description": "Fail ad service",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "kafkaQueueProblems": {
          "description": "Overloads Kafka queue while simultaneously introducing a consumer side delay leading to a lag spike",
          "state": "ENABLED",
          "variants": {
            "on": 100,
            "off": 0
          },
          "defaultVariant": "off"
        },
        "cartServiceFailure": {
          "description": "Fail cart service",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "paymentServiceFailure": {
          "description": "Fail payment service charge requests",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "paymentServiceUnreachable": {
          "description": "Payment service is unavailable",
          "state": "ENABLED",
          "variants": {
            "on": true,
            "off": false
          },
          "defaultVariant": "off"
        },
        "loadgeneratorFloodHomepage": {
          "description": "Flood the frontend with a large amount of requests.",
          "state": "ENABLED",
          "variants": {
            "on": 100,
            "off": 0
          },
          "defaultVariant": "off"
        },
        "imageSlowLoad": {
          "description": "slow loading images in the frontend",
          "state": "ENABLED",
          "variants": {
            "10sec": 10000,
            "5sec": 5000,
            "off": 0
          },
          "defaultVariant": "off"
        }
      }
    }
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: opentelemetry-demo-otelcol
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
    
rules:
  - apiGroups: [""]
    resources: ["pods", "namespaces"]
    verbs: ["get", "watch", "list"]
  - apiGroups: ["apps"]
    resources: ["replicasets"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["extensions"]
    resources: ["replicasets"]
    verbs: ["get", "list", "watch"]
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: opentelemetry-demo-otelcol
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
    
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: opentelemetry-demo-otelcol
subjects:
- kind: ServiceAccount
  name: opentelemetry-demo-otelcol
  namespace: otel-demo
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-otelcol
  namespace: otel-demo
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
    
    component: standalone-collector
spec:
  type: ClusterIP
  ports:
    
    - name: jaeger-compact
      port: 6831
      targetPort: 6831
      protocol: UDP
    - name: jaeger-grpc
      port: 14250
      targetPort: 14250
      protocol: TCP
    - name: jaeger-thrift
      port: 14268
      targetPort: 14268
      protocol: TCP
    - name: metrics
      port: 8888
      targetPort: 8888
      protocol: TCP
    - name: otlp
      port: 4317
      targetPort: 4317
      protocol: TCP
      appProtocol: grpc
    - name: otlp-http
      port: 4318
      targetPort: 4318
      protocol: TCP
    - name: prometheus
      port: 9464
      targetPort: 9464
      protocol: TCP
    - name: zipkin
      port: 9411
      targetPort: 9411
      protocol: TCP
  selector:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    component: standalone-collector
  internalTrafficPolicy: Cluster
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-adservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-adservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: adservice
    app.kubernetes.io/name: opentelemetry-demo-adservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-adservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-cartservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-cartservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: cartservice
    app.kubernetes.io/name: opentelemetry-demo-cartservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-cartservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-checkoutservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-checkoutservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: checkoutservice
    app.kubernetes.io/name: opentelemetry-demo-checkoutservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-checkoutservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-currencyservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-currencyservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: currencyservice
    app.kubernetes.io/name: opentelemetry-demo-currencyservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-currencyservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-emailservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-emailservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: emailservice
    app.kubernetes.io/name: opentelemetry-demo-emailservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-emailservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-flagd
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-flagd
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: flagd
    app.kubernetes.io/name: opentelemetry-demo-flagd
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8013
      name: tcp-service
      targetPort: 8013
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-flagd
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-frontend
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-frontend
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: frontend
    app.kubernetes.io/name: opentelemetry-demo-frontend
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-frontend
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-frontendproxy
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-frontendproxy
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: frontendproxy
    app.kubernetes.io/name: opentelemetry-demo-frontendproxy
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
  annotations:
    networking.gke.io/internal-load-balancer-allow-global-access: "true"
    networking.gke.io/load-balancer-type: Internal
spec:
  type: LoadBalancer
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-frontendproxy
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-imageprovider
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-imageprovider
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: imageprovider
    app.kubernetes.io/name: opentelemetry-demo-imageprovider
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8081
      name: tcp-service
      targetPort: 8081
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-imageprovider
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-kafka
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-kafka
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: kafka
    app.kubernetes.io/name: opentelemetry-demo-kafka
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 9092
      name: plaintext
      targetPort: 9092
    - port: 9093
      name: controller
      targetPort: 9093
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-kafka
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-loadgenerator
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-loadgenerator
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: loadgenerator
    app.kubernetes.io/name: opentelemetry-demo-loadgenerator
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8089
      name: tcp-service
      targetPort: 8089
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-loadgenerator
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-paymentservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-paymentservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: paymentservice
    app.kubernetes.io/name: opentelemetry-demo-paymentservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-paymentservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-productcatalogservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-productcatalogservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: productcatalogservice
    app.kubernetes.io/name: opentelemetry-demo-productcatalogservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-productcatalogservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-quoteservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-quoteservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: quoteservice
    app.kubernetes.io/name: opentelemetry-demo-quoteservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-quoteservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-recommendationservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-recommendationservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: recommendationservice
    app.kubernetes.io/name: opentelemetry-demo-recommendationservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-recommendationservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-shippingservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-shippingservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: shippingservice
    app.kubernetes.io/name: opentelemetry-demo-shippingservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 8080
      name: tcp-service
      targetPort: 8080
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-shippingservice
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
  name: opentelemetry-demo-valkey
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-valkey
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: valkey
    app.kubernetes.io/name: opentelemetry-demo-valkey
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  type: ClusterIP
  ports:
    - port: 6379
      name: valkey
      targetPort: 6379
  selector:
    
    opentelemetry.io/name: opentelemetry-demo-valkey
---
# Source: opentelemetry-demo/charts/opentelemetry-collector/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-otelcol
  namespace: otel-demo
  labels:
    app.kubernetes.io/name: otelcol
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/version: "0.108.0"
    
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: otelcol
      app.kubernetes.io/instance: opentelemetry-demo
      component: standalone-collector
  strategy:
    type: RollingUpdate
  template:
    metadata:
      annotations:
        checksum/config: e97c80b05446f6f5618296306bb6dbc2f24010ca9bda1c6e2716d17d27c94c44
        opentelemetry_community_demo: "true"
        prometheus.io/port: "9464"
        prometheus.io/scrape: "true"
      labels:
        app.kubernetes.io/name: otelcol
        app.kubernetes.io/instance: opentelemetry-demo
        component: standalone-collector
        
    spec:
      
      serviceAccountName: opentelemetry-demo-otelcol
      securityContext:
        {}
      containers:
        - name: opentelemetry-collector
          args:
            - --config=/conf/relay.yaml
          securityContext:
            {}
          image: "otel/opentelemetry-collector-contrib:0.108.0"
          imagePullPolicy: IfNotPresent
          ports:
            
            - name: jaeger-compact
              containerPort: 6831
              protocol: UDP
            - name: jaeger-grpc
              containerPort: 14250
              protocol: TCP
            - name: jaeger-thrift
              containerPort: 14268
              protocol: TCP
            - name: metrics
              containerPort: 8888
              protocol: TCP
            - name: otlp
              containerPort: 4317
              protocol: TCP
            - name: otlp-http
              containerPort: 4318
              protocol: TCP
            - name: prometheus
              containerPort: 9464
              protocol: TCP
            - name: zipkin
              containerPort: 9411
              protocol: TCP
          env:
            - name: MY_POD_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            - name: GOMEMLIMIT
              value: "160MiB"
          livenessProbe:
            httpGet:
              path: /
              port: 13133
          readinessProbe:
            httpGet:
              path: /
              port: 13133
          resources:
            limits:
              memory: 200Mi
          volumeMounts:
            - mountPath: /conf
              name: opentelemetry-collector-configmap
      volumes:
        - name: opentelemetry-collector-configmap
          configMap:
            name: opentelemetry-demo-otelcol
            items:
              - key: relay
                path: relay.yaml
      hostNetwork: false
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-accountingservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-accountingservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: accountingservice
    app.kubernetes.io/name: opentelemetry-demo-accountingservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-accountingservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-accountingservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: accountingservice
        app.kubernetes.io/name: opentelemetry-demo-accountingservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: accountingservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-accountingservice'
          imagePullPolicy: IfNotPresent
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: KAFKA_SERVICE_ADDR
            value: 'opentelemetry-demo-kafka:9092'
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 120Mi
          volumeMounts:
      volumes:
      initContainers:
        - command:
          - sh
          - -c
          - until nc -z -v -w30 opentelemetry-demo-kafka 9092; do echo waiting
            for kafka; sleep 2; done;
          image: busybox:latest
          name: wait-for-kafka
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-adservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-adservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: adservice
    app.kubernetes.io/name: opentelemetry-demo-adservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-adservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-adservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: adservice
        app.kubernetes.io/name: opentelemetry-demo-adservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: adservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-adservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: AD_SERVICE_PORT
            value: "8080"
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4318
          - name: OTEL_LOGS_EXPORTER
            value: otlp
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 300Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-cartservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-cartservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: cartservice
    app.kubernetes.io/name: opentelemetry-demo-cartservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-cartservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-cartservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: cartservice
        app.kubernetes.io/name: opentelemetry-demo-cartservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: cartservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-cartservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: CART_SERVICE_PORT
            value: "8080"
          - name: ASPNETCORE_URLS
            value: http://*:$(CART_SERVICE_PORT)
          - name: VALKEY_ADDR
            value: 'opentelemetry-demo-valkey:6379'
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 160Mi
          volumeMounts:
      volumes:
      initContainers:
        - command:
          - sh
          - -c
          - until nc -z -v -w30 opentelemetry-demo-valkey 6379; do echo waiting
            for valkey; sleep 2; done;
          image: busybox:latest
          name: wait-for-valkey
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-checkoutservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-checkoutservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: checkoutservice
    app.kubernetes.io/name: opentelemetry-demo-checkoutservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-checkoutservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-checkoutservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: checkoutservice
        app.kubernetes.io/name: opentelemetry-demo-checkoutservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: checkoutservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-checkoutservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: CHECKOUT_SERVICE_PORT
            value: "8080"
          - name: CART_SERVICE_ADDR
            value: 'opentelemetry-demo-cartservice:8080'
          - name: CURRENCY_SERVICE_ADDR
            value: 'opentelemetry-demo-currencyservice:8080'
          - name: EMAIL_SERVICE_ADDR
            value: http://opentelemetry-demo-emailservice:8080
          - name: PAYMENT_SERVICE_ADDR
            value: 'opentelemetry-demo-paymentservice:8080'
          - name: PRODUCT_CATALOG_SERVICE_ADDR
            value: 'opentelemetry-demo-productcatalogservice:8080'
          - name: SHIPPING_SERVICE_ADDR
            value: 'opentelemetry-demo-shippingservice:8080'
          - name: KAFKA_SERVICE_ADDR
            value: 'opentelemetry-demo-kafka:9092'
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 20Mi
          volumeMounts:
      volumes:
      initContainers:
        - command:
          - sh
          - -c
          - until nc -z -v -w30 opentelemetry-demo-kafka 9092; do echo waiting
            for kafka; sleep 2; done;
          image: busybox:latest
          name: wait-for-kafka
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-currencyservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-currencyservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: currencyservice
    app.kubernetes.io/name: opentelemetry-demo-currencyservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-currencyservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-currencyservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: currencyservice
        app.kubernetes.io/name: opentelemetry-demo-currencyservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: currencyservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-currencyservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: CURRENCY_SERVICE_PORT
            value: "8080"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: VERSION
            value: '1.11.1'
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 20Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-emailservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-emailservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: emailservice
    app.kubernetes.io/name: opentelemetry-demo-emailservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-emailservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-emailservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: emailservice
        app.kubernetes.io/name: opentelemetry-demo-emailservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: emailservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-emailservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: EMAIL_SERVICE_PORT
            value: "8080"
          - name: APP_ENV
            value: production
          - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4318/v1/traces
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 100Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-flagd
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-flagd
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: flagd
    app.kubernetes.io/name: opentelemetry-demo-flagd
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-flagd
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-flagd
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: flagd
        app.kubernetes.io/name: opentelemetry-demo-flagd
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: flagd
          image: 'ghcr.io/open-feature/flagd:v0.11.1'
          imagePullPolicy: IfNotPresent
          command:
          - /flagd-build
          - start
          - --uri
          - file:./etc/flagd/demo.flagd.json
          ports:
          
          - containerPort: 8013
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: FLAGD_METRICS_EXPORTER
            value: otel
          - name: FLAGD_OTEL_COLLECTOR_URI
            value: $(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 50Mi
          volumeMounts:
            - name: config
              mountPath: /etc/flagd
      volumes:
        - name: config
          configMap:
            name: opentelemetry-demo-flagd-config
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-frauddetectionservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-frauddetectionservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: frauddetectionservice
    app.kubernetes.io/name: opentelemetry-demo-frauddetectionservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-frauddetectionservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-frauddetectionservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: frauddetectionservice
        app.kubernetes.io/name: opentelemetry-demo-frauddetectionservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: frauddetectionservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-frauddetectionservice'
          imagePullPolicy: IfNotPresent
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: KAFKA_SERVICE_ADDR
            value: 'opentelemetry-demo-kafka:9092'
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4318
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 300Mi
          volumeMounts:
      volumes:
      initContainers:
        - command:
          - sh
          - -c
          - until nc -z -v -w30 opentelemetry-demo-kafka 9092; do echo waiting
            for kafka; sleep 2; done;
          image: busybox:latest
          name: wait-for-kafka
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-frontend
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-frontend
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: frontend
    app.kubernetes.io/name: opentelemetry-demo-frontend
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-frontend
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-frontend
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: frontend
        app.kubernetes.io/name: opentelemetry-demo-frontend
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: frontend
          image: 'ghcr.io/open-telemetry/demo:1.11.1-frontend'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: FRONTEND_PORT
            value: "8080"
          - name: FRONTEND_ADDR
            value: :8080
          - name: AD_SERVICE_ADDR
            value: 'opentelemetry-demo-adservice:8080'
          - name: CART_SERVICE_ADDR
            value: 'opentelemetry-demo-cartservice:8080'
          - name: CHECKOUT_SERVICE_ADDR
            value: 'opentelemetry-demo-checkoutservice:8080'
          - name: CURRENCY_SERVICE_ADDR
            value: 'opentelemetry-demo-currencyservice:8080'
          - name: PRODUCT_CATALOG_SERVICE_ADDR
            value: 'opentelemetry-demo-productcatalogservice:8080'
          - name: RECOMMENDATION_SERVICE_ADDR
            value: 'opentelemetry-demo-recommendationservice:8080'
          - name: SHIPPING_SERVICE_ADDR
            value: 'opentelemetry-demo-shippingservice:8080'
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_COLLECTOR_HOST
            value: $(OTEL_COLLECTOR_NAME)
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: WEB_OTEL_SERVICE_NAME
            value: frontend-web
          - name: PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
            value: http://localhost:8080/otlp-http/v1/traces
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 250Mi
          securityContext:
            runAsGroup: 1001
            runAsNonRoot: true
            runAsUser: 1001
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-frontendproxy
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-frontendproxy
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: frontendproxy
    app.kubernetes.io/name: opentelemetry-demo-frontendproxy
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-frontendproxy
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-frontendproxy
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: frontendproxy
        app.kubernetes.io/name: opentelemetry-demo-frontendproxy
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: frontendproxy
          image: 'ghcr.io/open-telemetry/demo:1.11.1-frontendproxy'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: ENVOY_PORT
            value: "8080"
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: FRONTEND_HOST
            value: 'opentelemetry-demo-frontend'
          - name: FRONTEND_PORT
            value: "8080"
          - name: GRAFANA_SERVICE_HOST
            value: 'opentelemetry-demo-grafana'
          - name: GRAFANA_SERVICE_PORT
            value: "80"
          - name: IMAGE_PROVIDER_HOST
            value: 'opentelemetry-demo-imageprovider'
          - name: IMAGE_PROVIDER_PORT
            value: "8081"
          - name: JAEGER_SERVICE_HOST
            value: 'opentelemetry-demo-jaeger-query'
          - name: JAEGER_SERVICE_PORT
            value: "16686"
          - name: LOCUST_WEB_HOST
            value: 'opentelemetry-demo-loadgenerator'
          - name: LOCUST_WEB_PORT
            value: "8089"
          - name: OTEL_COLLECTOR_HOST
            value: $(OTEL_COLLECTOR_NAME)
          - name: OTEL_COLLECTOR_PORT_GRPC
            value: "4317"
          - name: OTEL_COLLECTOR_PORT_HTTP
            value: "4318"
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 50Mi
          securityContext:
            runAsGroup: 101
            runAsNonRoot: true
            runAsUser: 101
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-imageprovider
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-imageprovider
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: imageprovider
    app.kubernetes.io/name: opentelemetry-demo-imageprovider
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-imageprovider
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-imageprovider
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: imageprovider
        app.kubernetes.io/name: opentelemetry-demo-imageprovider
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: imageprovider
          image: 'ghcr.io/open-telemetry/demo:1.11.1-imageprovider'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8081
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: IMAGE_PROVIDER_PORT
            value: "8081"
          - name: OTEL_COLLECTOR_PORT_GRPC
            value: "4317"
          - name: OTEL_COLLECTOR_HOST
            value: $(OTEL_COLLECTOR_NAME)
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 50Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-kafka
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-kafka
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: kafka
    app.kubernetes.io/name: opentelemetry-demo-kafka
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-kafka
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-kafka
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: kafka
        app.kubernetes.io/name: opentelemetry-demo-kafka
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: kafka
          image: 'ghcr.io/open-telemetry/demo:1.11.1-kafka'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 9092
            name: plaintext
          - containerPort: 9093
            name: controller
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: KAFKA_ADVERTISED_LISTENERS
            value: PLAINTEXT://opentelemetry-demo-kafka:9092
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4318
          - name: KAFKA_HEAP_OPTS
            value: -Xmx400M -Xms400M
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 600Mi
          securityContext:
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 1000
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-loadgenerator
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-loadgenerator
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: loadgenerator
    app.kubernetes.io/name: opentelemetry-demo-loadgenerator
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-loadgenerator
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-loadgenerator
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: loadgenerator
        app.kubernetes.io/name: opentelemetry-demo-loadgenerator
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: loadgenerator
          image: 'ghcr.io/open-telemetry/demo:1.11.1-loadgenerator'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8089
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: LOCUST_WEB_PORT
            value: "8089"
          - name: LOCUST_USERS
            value: "10"
          - name: LOCUST_SPAWN_RATE
            value: "1"
          - name: LOCUST_HOST
            value: http://opentelemetry-demo-frontendproxy:8080
          - name: LOCUST_HEADLESS
            value: "false"
          - name: LOCUST_AUTOSTART
            value: "true"
          - name: LOCUST_BROWSER_TRAFFIC_ENABLED
            value: "true"
          - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
            value: python
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 1Gi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-paymentservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-paymentservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: paymentservice
    app.kubernetes.io/name: opentelemetry-demo-paymentservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-paymentservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-paymentservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: paymentservice
        app.kubernetes.io/name: opentelemetry-demo-paymentservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: paymentservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-paymentservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: PAYMENT_SERVICE_PORT
            value: "8080"
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 120Mi
          securityContext:
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 1000
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-productcatalogservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-productcatalogservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: productcatalogservice
    app.kubernetes.io/name: opentelemetry-demo-productcatalogservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-productcatalogservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-productcatalogservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: productcatalogservice
        app.kubernetes.io/name: opentelemetry-demo-productcatalogservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: productcatalogservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-productcatalogservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: PRODUCT_CATALOG_SERVICE_PORT
            value: "8080"
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 20Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-quoteservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-quoteservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: quoteservice
    app.kubernetes.io/name: opentelemetry-demo-quoteservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-quoteservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-quoteservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: quoteservice
        app.kubernetes.io/name: opentelemetry-demo-quoteservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: quoteservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-quoteservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: QUOTE_SERVICE_PORT
            value: "8080"
          - name: OTEL_PHP_AUTOLOAD_ENABLED
            value: "true"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4318
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 40Mi
          securityContext:
            runAsGroup: 33
            runAsNonRoot: true
            runAsUser: 33
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-recommendationservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-recommendationservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: recommendationservice
    app.kubernetes.io/name: opentelemetry-demo-recommendationservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-recommendationservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-recommendationservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: recommendationservice
        app.kubernetes.io/name: opentelemetry-demo-recommendationservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: recommendationservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-recommendationservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: RECOMMENDATION_SERVICE_PORT
            value: "8080"
          - name: PRODUCT_CATALOG_SERVICE_ADDR
            value: 'opentelemetry-demo-productcatalogservice:8080'
          - name: OTEL_PYTHON_LOG_CORRELATION
            value: "true"
          - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
            value: python
          - name: FLAGD_HOST
            value: 'opentelemetry-demo-flagd'
          - name: FLAGD_PORT
            value: "8013"
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 500Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-shippingservice
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-shippingservice
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: shippingservice
    app.kubernetes.io/name: opentelemetry-demo-shippingservice
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-shippingservice
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-shippingservice
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: shippingservice
        app.kubernetes.io/name: opentelemetry-demo-shippingservice
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: shippingservice
          image: 'ghcr.io/open-telemetry/demo:1.11.1-shippingservice'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 8080
            name: service
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: SHIPPING_SERVICE_PORT
            value: "8080"
          - name: QUOTE_SERVICE_ADDR
            value: http://opentelemetry-demo-quoteservice:8080
          - name: OTEL_EXPORTER_OTLP_ENDPOINT
            value: http://$(OTEL_COLLECTOR_NAME):4317
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 20Mi
          volumeMounts:
      volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: opentelemetry-demo-valkey
  labels:
    
    opentelemetry.io/name: opentelemetry-demo-valkey
    app.kubernetes.io/instance: opentelemetry-demo
    app.kubernetes.io/component: valkey
    app.kubernetes.io/name: opentelemetry-demo-valkey
    app.kubernetes.io/version: "1.11.1"
    app.kubernetes.io/part-of: opentelemetry-demo
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      
      opentelemetry.io/name: opentelemetry-demo-valkey
  template:
    metadata:
      labels:
        
        opentelemetry.io/name: opentelemetry-demo-valkey
        app.kubernetes.io/instance: opentelemetry-demo
        app.kubernetes.io/component: valkey
        app.kubernetes.io/name: opentelemetry-demo-valkey
    spec:
      serviceAccountName: opentelemetry-demo
      containers:
        - name: valkey
          image: 'valkey/valkey:7.2-alpine'
          imagePullPolicy: IfNotPresent
          ports:
          
          - containerPort: 6379
            name: valkey
          env:
          - name: OTEL_SERVICE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.labels['app.kubernetes.io/component']
          - name: OTEL_COLLECTOR_NAME
            value: 'opentelemetry-demo-otelcol'
          - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
            value: cumulative
          - name: OTEL_RESOURCE_ATTRIBUTES
            value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo,service.version=1.11.1
          resources:
            limits:
              memory: 20Mi
          securityContext:
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 999
          volumeMounts:
      volumes:

