kubernetes/opentelemetry-demo.yaml (2,087 lines of code) (raw):

# 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: