Files
otel-demo/chart/examples/default/rendered/component.yaml
Scaffolder 92edf90fd9
Some checks failed
CI Pipeline / Build and Test (push) Successful in 4s
Security Scanning / Trivy — Filesystem & Dependency Scan (push) Failing after 7s
Security Scanning / Gitleaks — Secret Scan (push) Failing after 7s
Security Scanning / Security Summary (push) Failing after 3s
Build and Publish TechDocs / build-and-publish (push) Successful in 1m2s
initial commit
Change-Id: I8e318861a258686ddc53dda08858f74c573a6520
2026-04-02 13:07:28 +00:00

2249 lines
62 KiB
YAML

---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: ad
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: ad
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: ad
app.kubernetes.io/name: ad
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: ad
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: cart
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: cart
app.kubernetes.io/name: cart
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: cart
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: checkout
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: checkout
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: checkout
app.kubernetes.io/name: checkout
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: checkout
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: currency
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: currency
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: currency
app.kubernetes.io/name: currency
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: currency
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: email
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: email
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: email
app.kubernetes.io/name: email
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: email
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: flagd
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: flagd
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: flagd
app.kubernetes.io/name: flagd
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8013
name: rpc
targetPort: 8013
- port: 8016
name: ofrep
targetPort: 8016
- port: 4000
name: tcp-service-0
targetPort: 4000
selector:
opentelemetry.io/name: flagd
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: frontend
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend
app.kubernetes.io/name: frontend
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: frontend
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: frontend-proxy
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: frontend-proxy
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend-proxy
app.kubernetes.io/name: frontend-proxy
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: frontend-proxy
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: image-provider
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: image-provider
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: image-provider
app.kubernetes.io/name: image-provider
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8081
name: tcp-service
targetPort: 8081
selector:
opentelemetry.io/name: image-provider
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: kafka
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: kafka
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: kafka
app.kubernetes.io/name: kafka
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 9092
name: plaintext
targetPort: 9092
- port: 9093
name: controller
targetPort: 9093
selector:
opentelemetry.io/name: kafka
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: llm
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: llm
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: llm
app.kubernetes.io/name: llm
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8000
name: tcp-service
targetPort: 8000
selector:
opentelemetry.io/name: llm
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: load-generator
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: load-generator
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: load-generator
app.kubernetes.io/name: load-generator
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8089
name: tcp-service
targetPort: 8089
selector:
opentelemetry.io/name: load-generator
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: payment
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: payment
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: payment
app.kubernetes.io/name: payment
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: payment
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: postgresql
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: postgresql
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: postgresql
app.kubernetes.io/name: postgresql
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 5432
name: tcp-service
targetPort: 5432
selector:
opentelemetry.io/name: postgresql
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: product-catalog
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: product-catalog
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-catalog
app.kubernetes.io/name: product-catalog
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: product-catalog
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: product-reviews
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: product-reviews
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-reviews
app.kubernetes.io/name: product-reviews
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 3551
name: tcp-service
targetPort: 3551
selector:
opentelemetry.io/name: product-reviews
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: quote
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: quote
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: quote
app.kubernetes.io/name: quote
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: quote
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: recommendation
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: recommendation
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: recommendation
app.kubernetes.io/name: recommendation
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: recommendation
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: shipping
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: shipping
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: shipping
app.kubernetes.io/name: shipping
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8080
name: tcp-service
targetPort: 8080
selector:
opentelemetry.io/name: shipping
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: v1
kind: Service
metadata:
name: valkey-cart
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: valkey-cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: valkey-cart
app.kubernetes.io/name: valkey-cart
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 6379
name: valkey-cart
targetPort: 6379
selector:
opentelemetry.io/name: valkey-cart
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: accounting
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: accounting
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: accounting
app.kubernetes.io/name: accounting
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: accounting
template:
metadata:
labels:
opentelemetry.io/name: accounting
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: accounting
app.kubernetes.io/name: accounting
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: accounting
image: 'ghcr.io/open-telemetry/demo:2.2.0-accounting'
imagePullPolicy: IfNotPresent
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: KAFKA_ADDR
value: kafka:9092
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: DB_CONNECTION_STRING
value: Host=postgresql;Username=otelu;Password=otelp;Database=otel
- name: OTEL_DOTNET_AUTO_TRACES_ENTITYFRAMEWORKCORE_INSTRUMENTATION_ENABLED
value: "false"
resources:
limits:
memory: 120Mi
volumeMounts:
initContainers:
- command:
- sh
- -c
- until nc -z -v -w30 kafka 9092; do echo waiting for kafka; sleep 2; done;
image: busybox:latest
name: wait-for-kafka
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: ad
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: ad
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: ad
app.kubernetes.io/name: ad
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: ad
template:
metadata:
labels:
opentelemetry.io/name: ad
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: ad
app.kubernetes.io/name: ad
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: ad
image: 'ghcr.io/open-telemetry/demo:2.2.0-ad'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: AD_PORT
value: "8080"
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: OTEL_LOGS_EXPORTER
value: otlp
resources:
limits:
memory: 300Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: cart
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: cart
app.kubernetes.io/name: cart
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: cart
template:
metadata:
labels:
opentelemetry.io/name: cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: cart
app.kubernetes.io/name: cart
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: cart
image: 'ghcr.io/open-telemetry/demo:2.2.0-cart'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: CART_PORT
value: "8080"
- name: ASPNETCORE_URLS
value: http://*:$(CART_PORT)
- name: VALKEY_ADDR
value: valkey-cart:6379
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
resources:
limits:
memory: 160Mi
volumeMounts:
initContainers:
- command:
- sh
- -c
- until nc -z -v -w30 valkey-cart 6379; do echo waiting for valkey-cart; sleep 2;
done;
image: busybox:latest
name: wait-for-valkey-cart
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: checkout
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: checkout
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: checkout
app.kubernetes.io/name: checkout
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: checkout
template:
metadata:
labels:
opentelemetry.io/name: checkout
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: checkout
app.kubernetes.io/name: checkout
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: checkout
image: 'ghcr.io/open-telemetry/demo:2.2.0-checkout'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: CHECKOUT_PORT
value: "8080"
- name: CART_ADDR
value: cart:8080
- name: CURRENCY_ADDR
value: currency:8080
- name: EMAIL_ADDR
value: http://email:8080
- name: PAYMENT_ADDR
value: payment:8080
- name: PRODUCT_CATALOG_ADDR
value: product-catalog:8080
- name: SHIPPING_ADDR
value: http://shipping:8080
- name: KAFKA_ADDR
value: kafka:9092
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
- name: GOMEMLIMIT
value: 16MiB
resources:
limits:
memory: 20Mi
volumeMounts:
initContainers:
- command:
- sh
- -c
- until nc -z -v -w30 kafka 9092; do echo waiting for kafka; sleep 2; done;
image: busybox:latest
name: wait-for-kafka
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: currency
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: currency
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: currency
app.kubernetes.io/name: currency
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: currency
template:
metadata:
labels:
opentelemetry.io/name: currency
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: currency
app.kubernetes.io/name: currency
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: currency
image: 'ghcr.io/open-telemetry/demo:2.2.0-currency'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: CURRENCY_PORT
value: "8080"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
- name: VERSION
value: '2.2.0'
- name: IPV6_ENABLED
value: "false"
resources:
limits:
memory: 20Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: email
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: email
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: email
app.kubernetes.io/name: email
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: email
template:
metadata:
labels:
opentelemetry.io/name: email
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: email
app.kubernetes.io/name: email
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: email
image: 'ghcr.io/open-telemetry/demo:2.2.0-email'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: EMAIL_PORT
value: "8080"
- name: APP_ENV
value: production
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
resources:
limits:
memory: 100Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: flagd
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: flagd
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: flagd
app.kubernetes.io/name: flagd
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: flagd
template:
metadata:
labels:
opentelemetry.io/name: flagd
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: flagd
app.kubernetes.io/name: flagd
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: flagd
image: 'ghcr.io/open-feature/flagd:v0.12.9'
imagePullPolicy: IfNotPresent
command:
- /flagd-build
- start
- --port
- "8013"
- --ofrep-port
- "8016"
- --uri
- file:./etc/flagd/demo.flagd.json
ports:
- containerPort: 8013
name: rpc
- containerPort: 8016
name: ofrep
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- 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: GOMEMLIMIT
value: 60MiB
resources:
limits:
memory: 75Mi
volumeMounts:
- name: config-rw
mountPath: /etc/flagd
- name: flagd-ui
image: 'ghcr.io/open-telemetry/demo:2.2.0-flagd-ui'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4000
name: service
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: FLAGD_METRICS_EXPORTER
value: otel
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: FLAGD_UI_PORT
value: "4000"
- name: SECRET_KEY_BASE
value: yYrECL4qbNwleYInGJYvVnSkwJuSQJ4ijPTx5tirGUXrbznFIBFVJdPl5t6O9ASw
- name: PHX_HOST
value: localhost
resources:
limits:
memory: 250Mi
volumeMounts:
- mountPath: /app/data
name: config-rw
initContainers:
- command:
- sh
- -c
- cp /config-ro/demo.flagd.json /config-rw/demo.flagd.json && cat /config-rw/demo.flagd.json
image: busybox
name: init-config
volumeMounts:
- mountPath: /config-ro
name: config-ro
- mountPath: /config-rw
name: config-rw
volumes:
- name: config-rw
emptyDir: {}
- configMap:
name: flagd-config
name: config-ro
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: fraud-detection
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: fraud-detection
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: fraud-detection
app.kubernetes.io/name: fraud-detection
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: fraud-detection
template:
metadata:
labels:
opentelemetry.io/name: fraud-detection
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: fraud-detection
app.kubernetes.io/name: fraud-detection
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: fraud-detection
image: 'ghcr.io/open-telemetry/demo:2.2.0-fraud-detection'
imagePullPolicy: IfNotPresent
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: KAFKA_ADDR
value: kafka:9092
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: OTEL_INSTRUMENTATION_KAFKA_EXPERIMENTAL_SPAN_ATTRIBUTES
value: "true"
- name: OTEL_INSTRUMENTATION_MESSAGING_EXPERIMENTAL_RECEIVE_TELEMETRY_ENABLED
value: "true"
resources:
limits:
memory: 300Mi
volumeMounts:
initContainers:
- command:
- sh
- -c
- until nc -z -v -w30 kafka 9092; do echo waiting for kafka; sleep 2; done;
image: busybox:latest
name: wait-for-kafka
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: frontend
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend
app.kubernetes.io/name: frontend
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: frontend
template:
metadata:
labels:
opentelemetry.io/name: frontend
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend
app.kubernetes.io/name: frontend
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: frontend
image: 'ghcr.io/open-telemetry/demo:2.2.0-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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: FRONTEND_PORT
value: "8080"
- name: PORT
value: $(FRONTEND_PORT)
- name: FRONTEND_ADDR
value: :8080
- name: AD_ADDR
value: ad:8080
- name: CART_ADDR
value: cart:8080
- name: CHECKOUT_ADDR
value: checkout:8080
- name: CURRENCY_ADDR
value: currency:8080
- name: PRODUCT_CATALOG_ADDR
value: product-catalog:8080
- name: PRODUCT_REVIEWS_ADDR
value: product-reviews:3551
- name: RECOMMENDATION_ADDR
value: recommendation:8080
- name: SHIPPING_ADDR
value: http://shipping:8080
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: ENV_PLATFORM
value: kubernetes
- 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
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: frontend-proxy
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: frontend-proxy
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend-proxy
app.kubernetes.io/name: frontend-proxy
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: frontend-proxy
template:
metadata:
labels:
opentelemetry.io/name: frontend-proxy
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: frontend-proxy
app.kubernetes.io/name: frontend-proxy
annotations:
io.opentelemetry.discovery.metrics/config: |
targets:
- endpoint: "http://`endpoint`"
io.opentelemetry.discovery.metrics/enabled: "true"
io.opentelemetry.discovery.metrics/scraper: httpcheck
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: frontend-proxy
image: 'ghcr.io/open-telemetry/demo:2.2.0-frontend-proxy'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: ENVOY_PORT
value: "8080"
- name: ENVOY_ADDR
value: 0.0.0.0
- name: ENVOY_ADMIN_PORT
value: "10000"
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: FLAGD_UI_HOST
value: flagd
- name: FLAGD_UI_PORT
value: "4000"
- name: FRONTEND_HOST
value: frontend
- name: FRONTEND_PORT
value: "8080"
- name: GRAFANA_HOST
value: grafana
- name: GRAFANA_PORT
value: "80"
- name: IMAGE_PROVIDER_HOST
value: image-provider
- name: IMAGE_PROVIDER_PORT
value: "8081"
- name: JAEGER_HOST
value: jaeger
- name: JAEGER_UI_PORT
value: "16686"
- name: LOCUST_WEB_HOST
value: load-generator
- 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"
resources:
limits:
memory: 65Mi
securityContext:
runAsGroup: 101
runAsNonRoot: true
runAsUser: 101
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: image-provider
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: image-provider
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: image-provider
app.kubernetes.io/name: image-provider
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: image-provider
template:
metadata:
labels:
opentelemetry.io/name: image-provider
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: image-provider
app.kubernetes.io/name: image-provider
annotations:
io.opentelemetry.discovery.metrics/config: |
endpoint: "http://`endpoint`/status"
collection_interval: "10s"
timeout: "20s"
io.opentelemetry.discovery.metrics/enabled: "true"
io.opentelemetry.discovery.metrics/scraper: nginx
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: image-provider
image: 'ghcr.io/open-telemetry/demo:2.2.0-image-provider'
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: otel-collector
- 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)
resources:
limits:
memory: 50Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: kafka
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: kafka
app.kubernetes.io/name: kafka
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: kafka
template:
metadata:
labels:
opentelemetry.io/name: kafka
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: kafka
app.kubernetes.io/name: kafka
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: kafka
image: 'ghcr.io/open-telemetry/demo:2.2.0-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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://kafka:9092
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: KAFKA_HEAP_OPTS
value: -Xmx400M -Xms400M
- name: KAFKA_LISTENERS
value: PLAINTEXT://:9092,CONTROLLER://:9093
- name: KAFKA_CONTROLLER_LISTENER_NAMES
value: CONTROLLER
- name: KAFKA_CONTROLLER_QUORUM_VOTERS
value: 1@kafka:9093
resources:
limits:
memory: 700Mi
securityContext:
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: llm
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: llm
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: llm
app.kubernetes.io/name: llm
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: llm
template:
metadata:
labels:
opentelemetry.io/name: llm
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: llm
app.kubernetes.io/name: llm
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: llm
image: 'ghcr.io/open-telemetry/demo:2.2.0-llm'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
name: service
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
resources:
null
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: load-generator
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: load-generator
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: load-generator
app.kubernetes.io/name: load-generator
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: load-generator
template:
metadata:
labels:
opentelemetry.io/name: load-generator
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: load-generator
app.kubernetes.io/name: load-generator
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: load-generator
image: 'ghcr.io/open-telemetry/demo:2.2.0-load-generator'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: LOCUST_WEB_HOST
value: 0.0.0.0
- name: LOCUST_WEB_PORT
value: "8089"
- name: LOCUST_USERS
value: "10"
- name: LOCUST_SPAWN_RATE
value: "1"
- name: LOCUST_HOST
value: http://frontend-proxy: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: flagd
- name: FLAGD_PORT
value: "8013"
- name: FLAGD_OFREP_PORT
value: "8016"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
resources:
limits:
memory: 1500Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: payment
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: payment
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: payment
app.kubernetes.io/name: payment
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: payment
template:
metadata:
labels:
opentelemetry.io/name: payment
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: payment
app.kubernetes.io/name: payment
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: payment
image: 'ghcr.io/open-telemetry/demo:2.2.0-payment'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: PAYMENT_PORT
value: "8080"
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
- name: IPV6_ENABLED
value: "false"
resources:
limits:
memory: 140Mi
securityContext:
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgresql
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: postgresql
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: postgresql
app.kubernetes.io/name: postgresql
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: postgresql
template:
metadata:
labels:
opentelemetry.io/name: postgresql
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: postgresql
app.kubernetes.io/name: postgresql
annotations:
io.opentelemetry.discovery.metrics/config: |
username: root
password: otel
metrics:
postgresql.blks_hit:
enabled: true
postgresql.blks_read:
enabled: true
postgresql.tup_fetched:
enabled: true
postgresql.tup_returned:
enabled: true
postgresql.tup_inserted:
enabled: true
postgresql.tup_updated:
enabled: true
postgresql.tup_deleted:
enabled: true
postgresql.deadlocks:
enabled: true
tls:
insecure: true
io.opentelemetry.discovery.metrics/enabled: "true"
io.opentelemetry.discovery.metrics/scraper: postgresql
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: postgresql
image: 'postgres:17.6'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
name: service
env:
- name: POSTGRES_USER
value: root
- name: POSTGRES_PASSWORD
value: otel
- name: POSTGRES_DB
value: otel
resources:
limits:
memory: 100Mi
volumeMounts:
- name: postgresql-init
mountPath: /docker-entrypoint-initdb.d
volumes:
- name: postgresql-init
configMap:
name: postgresql-init
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: product-catalog
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: product-catalog
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-catalog
app.kubernetes.io/name: product-catalog
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: product-catalog
template:
metadata:
labels:
opentelemetry.io/name: product-catalog
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-catalog
app.kubernetes.io/name: product-catalog
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: product-catalog
image: 'ghcr.io/open-telemetry/demo:2.2.0-product-catalog'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: PRODUCT_CATALOG_PORT
value: "8080"
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: GOMEMLIMIT
value: 16MiB
- name: DB_CONNECTION_STRING
value: postgres://otelu:otelp@postgresql/otel?sslmode=disable
- name: OTEL_SEMCONV_STABILITY_OPT_IN
value: database
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
resources:
limits:
memory: 20Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: product-reviews
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: product-reviews
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-reviews
app.kubernetes.io/name: product-reviews
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: product-reviews
template:
metadata:
labels:
opentelemetry.io/name: product-reviews
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: product-reviews
app.kubernetes.io/name: product-reviews
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: product-reviews
image: 'ghcr.io/open-telemetry/demo:2.2.0-product-reviews'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3551
name: service
env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
- name: OTEL_COLLECTOR_NAME
value: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: OPENAI_API_KEY
value: dummy
- name: LLM_MODEL
value: astronomy-llm
- name: LLM_HOST
value: llm
- name: LLM_PORT
value: "8000"
- name: LLM_BASE_URL
value: http://$(LLM_HOST):$(LLM_PORT)/v1
- name: PRODUCT_REVIEWS_PORT
value: "3551"
- name: PRODUCT_CATALOG_ADDR
value: product-catalog:8080
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: DB_CONNECTION_STRING
value: host=postgresql user=otelu password=otelp dbname=otel
- name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
value: python
- name: OTEL_PYTHON_LOG_CORRELATION
value: "true"
- name: OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT
value: "true"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
resources:
limits:
memory: 100Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: quote
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: quote
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: quote
app.kubernetes.io/name: quote
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: quote
template:
metadata:
labels:
opentelemetry.io/name: quote
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: quote
app.kubernetes.io/name: quote
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: quote
image: 'ghcr.io/open-telemetry/demo:2.2.0-quote'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: QUOTE_PORT
value: "8080"
- name: OTEL_PHP_AUTOLOAD_ENABLED
value: "true"
- name: OTEL_PHP_INTERNAL_METRICS_ENABLED
value: "true"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4318
- name: IPV6_ENABLED
value: "false"
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: recommendation
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: recommendation
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: recommendation
app.kubernetes.io/name: recommendation
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: recommendation
template:
metadata:
labels:
opentelemetry.io/name: recommendation
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: recommendation
app.kubernetes.io/name: recommendation
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: recommendation
image: 'ghcr.io/open-telemetry/demo:2.2.0-recommendation'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: RECOMMENDATION_PORT
value: "8080"
- name: PRODUCT_CATALOG_ADDR
value: product-catalog:8080
- name: OTEL_PYTHON_LOG_CORRELATION
value: "true"
- name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
value: python
- name: FLAGD_HOST
value: flagd
- name: FLAGD_PORT
value: "8013"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
resources:
limits:
memory: 500Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: shipping
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: shipping
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: shipping
app.kubernetes.io/name: shipping
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: shipping
template:
metadata:
labels:
opentelemetry.io/name: shipping
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: shipping
app.kubernetes.io/name: shipping
annotations:
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: shipping
image: 'ghcr.io/open-telemetry/demo:2.2.0-shipping'
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: otel-collector
- name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
value: cumulative
- name: SHIPPING_PORT
value: "8080"
- name: QUOTE_ADDR
value: http://quote:8080
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://$(OTEL_COLLECTOR_NAME):4317
- name: IPV6_ENABLED
value: "false"
resources:
limits:
memory: 20Mi
volumeMounts:
volumes:
---
# Source: opentelemetry-demo/templates/component.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: valkey-cart
labels:
helm.sh/chart: opentelemetry-demo-0.40.6
opentelemetry.io/name: valkey-cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: valkey-cart
app.kubernetes.io/name: valkey-cart
app.kubernetes.io/part-of: opentelemetry-demo
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
opentelemetry.io/name: valkey-cart
template:
metadata:
labels:
opentelemetry.io/name: valkey-cart
app.kubernetes.io/version: "2.2.0"
app.kubernetes.io/component: valkey-cart
app.kubernetes.io/name: valkey-cart
annotations:
io.opentelemetry.discovery.metrics/config: |
username: valkey
collection_interval: 10s
io.opentelemetry.discovery.metrics/enabled: "true"
io.opentelemetry.discovery.metrics/scraper: redis
resource.opentelemetry.io/service.namespace: otel-demo
spec:
serviceAccountName: example
containers:
- name: valkey-cart
image: 'valkey/valkey:9.0.1-alpine3.23'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6379
name: valkey-cart
env:
[]
resources:
limits:
memory: 20Mi
securityContext:
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 999
volumeMounts:
volumes: