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: