values.yaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. default:
  2. # List of environment variables applied to all components
  3. env:
  4. - name: OTEL_SERVICE_NAME
  5. valueFrom:
  6. fieldRef:
  7. apiVersion: v1
  8. fieldPath: "metadata.labels['app.kubernetes.io/component']"
  9. - name: OTEL_COLLECTOR_NAME
  10. value: 'otel-collector-opentelemetry-collector.observe.svc.cluster.local'
  11. - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
  12. value: cumulative
  13. - name: OTEL_RESOURCE_ATTRIBUTES
  14. value: service.name=$(OTEL_SERVICE_NAME),service.namespace=opentelemetry-demo
  15. # Allows overriding and additions to .Values.default.env
  16. envOverrides: []
  17. # - name: OTEL_K8S_NODE_NAME
  18. # value: "someConstantValue"
  19. image:
  20. repository: ghcr.io/open-telemetry/demo
  21. # Overrides the image tag whose default is the chart appVersion.
  22. # The service's name will be applied to the end of this value.
  23. tag: ""
  24. pullPolicy: IfNotPresent
  25. pullSecrets: []
  26. # Default # of replicas for all components
  27. replicas: 1
  28. # Default schedulingRules for all components
  29. schedulingRules:
  30. nodeSelector: {}
  31. affinity: {}
  32. tolerations: []
  33. # Default securityContext for all components
  34. securityContext: {}
  35. serviceAccount:
  36. # Specifies whether a service account should be created
  37. create: true
  38. # Annotations to add to the service account
  39. annotations: {}
  40. # The name of the service account to use.
  41. # If not set and create is true, a name is generated using the fullname template
  42. name: ""
  43. components:
  44. ## Demo Components are named objects (services) with several properties
  45. # demoService:
  46. ## Enable the component (service)
  47. # enabled: true
  48. # useDefault:
  49. ## Use default environment variables
  50. # env: true
  51. ## Override Image repository and Tag. Tag will use appVersion as default.
  52. ## Component's name will be applied to end of this value.
  53. # imageOverride: {}
  54. ## Optional service definitions to apply
  55. # service:
  56. ## Service Type to use for this component. Default is ClusterIP.
  57. # type: ClusterIP
  58. ## Service Port to use to expose this component. Default is nil
  59. # port: 8080
  60. ## Service Node Port to use to expose this component on a NodePort service. Default is nil
  61. # nodePort: 30080
  62. ## Service Annotations to add to this component
  63. # annotations: {}
  64. ## Additional service ports to use to expose this component
  65. # ports:
  66. # - name: extraServicePort
  67. # value: 8081
  68. ## Environment variables to add to the component's pod
  69. # env:
  70. ## Environment variables that upsert (append + merge) into the `env` specification for this component.
  71. # envOverrides:
  72. ## Pod Scheduling rules for nodeSelector, affinity, or tolerations.
  73. # schedulingRules:
  74. # nodeSelector: {}
  75. # affinity: {}
  76. # tolerations: []
  77. ## Pod Annotations to add to this component
  78. # podAnnotations: {}
  79. ## Resources for this component
  80. # resources: {}
  81. ## Container security context for setting user ID (UID), group ID (GID) and other security policies
  82. # securityContext:
  83. ## Ingresses rules to add for the to the component
  84. # ingress:
  85. ## Enable the creation of Ingress rules. Default is false
  86. # enabled: false
  87. ## Annotations to add to the ingress rule
  88. # annotations: {}
  89. ## Which Ingress class (controller) to use. Default is unspecified.
  90. # ingressClassName: nginx
  91. ## Hosts definitions for the Ingress rule
  92. # hosts:
  93. # - host: demo.example.com
  94. ## Each host can have multiple paths/routes
  95. # paths:
  96. # - path: /
  97. # pathType: Prefix
  98. # port: 8080
  99. ## Optional TLS specifications for the Ingress rule
  100. # tls:
  101. # - secretName: demo-tls
  102. # hosts:
  103. # - demo.example.com
  104. ## Additional ingresses - only created if ingress.enabled is true
  105. ## Useful for when differently annotated ingress services are required
  106. ## Each additional ingress needs key "name" set to something unique
  107. # additionalIngresses: []
  108. # - name: extra-demo-ingress
  109. # ingressClassName: nginx
  110. # annotations: {}
  111. # hosts:
  112. # - host: demo.example.com
  113. # paths:
  114. # - path: /
  115. # pathType: Prefix
  116. # port: 8080
  117. # tls:
  118. # - secretName: demo-tls
  119. # hosts:
  120. # - demo.example.com
  121. # # Command to use in the container spec, in case you don't want to go with the default command from the image.
  122. # command: []
  123. # # Configuration to for this service; will create a ConfigMap, Volume, and Mount it into the container being spun up/.
  124. # configuration: {}
  125. # # Kubernetes container health check options
  126. # livenessProbe: {}
  127. # # Optional init container to run before the pod starts.
  128. # initContainers:
  129. # - name: <init-container-name>
  130. # image: <init-container-image>
  131. # command: [list of commands for the init container to run]
  132. # # Replicas for the component
  133. # replicas: 1
  134. accountingService:
  135. enabled: true
  136. useDefault:
  137. env: true
  138. env:
  139. - name: KAFKA_SERVICE_ADDR
  140. value: '{{ include "otel-demo.name" . }}-kafka:9092'
  141. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  142. value: http://$(OTEL_COLLECTOR_NAME):4317
  143. resources:
  144. limits:
  145. memory: 200Mi
  146. initContainers:
  147. - name: wait-for-kafka
  148. image: busybox:latest
  149. command: ['sh', '-c', 'until nc -z -v -w30 {{ include "otel-demo.name" . }}-kafka 9092; do echo waiting for kafka; sleep 2; done;']
  150. adService:
  151. enabled: true
  152. useDefault:
  153. env: true
  154. service:
  155. port: 8080
  156. env:
  157. - name: AD_SERVICE_PORT
  158. value: "8080"
  159. - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
  160. value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'
  161. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  162. value: http://$(OTEL_COLLECTOR_NAME):4317
  163. - name: OTEL_LOGS_EXPORTER
  164. value: otlp
  165. resources:
  166. limits:
  167. memory: 300Mi
  168. cartService:
  169. enabled: true
  170. useDefault:
  171. env: true
  172. service:
  173. port: 8080
  174. env:
  175. - name: CART_SERVICE_PORT
  176. value: "8080"
  177. - name: ASPNETCORE_URLS
  178. value: http://*:$(CART_SERVICE_PORT)
  179. - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
  180. value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'
  181. - name: REDIS_ADDR
  182. value: '{{ include "otel-demo.name" . }}-redis:6379'
  183. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  184. value: http://$(OTEL_COLLECTOR_NAME):4317
  185. resources:
  186. limits:
  187. memory: 360Mi
  188. initContainers:
  189. - name: wait-for-redis
  190. image: busybox:latest
  191. command: ['sh', '-c', 'until nc -z -v -w30 {{ include "otel-demo.name" . }}-redis 6379; do echo waiting for redis; sleep 2; done;']
  192. checkoutService:
  193. enabled: true
  194. useDefault:
  195. env: true
  196. service:
  197. port: 8080
  198. env:
  199. - name: CHECKOUT_SERVICE_PORT
  200. value: "8080"
  201. - name: CART_SERVICE_ADDR
  202. value: '{{ include "otel-demo.name" . }}-cartservice:8080'
  203. - name: CURRENCY_SERVICE_ADDR
  204. value: '{{ include "otel-demo.name" . }}-currencyservice:8080'
  205. - name: EMAIL_SERVICE_ADDR
  206. value: 'http://{{ include "otel-demo.name" . }}-emailservice:8080'
  207. - name: PAYMENT_SERVICE_ADDR
  208. value: '{{ include "otel-demo.name" . }}-paymentservice:8080'
  209. - name: PRODUCT_CATALOG_SERVICE_ADDR
  210. value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'
  211. - name: SHIPPING_SERVICE_ADDR
  212. value: '{{ include "otel-demo.name" . }}-shippingservice:8080'
  213. - name: KAFKA_SERVICE_ADDR
  214. value: '{{ include "otel-demo.name" . }}-kafka:9092'
  215. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  216. value: http://$(OTEL_COLLECTOR_NAME):4317
  217. resources:
  218. limits:
  219. memory: 200Mi
  220. initContainers:
  221. - name: wait-for-kafka
  222. image: busybox:latest
  223. command: ['sh', '-c', 'until nc -z -v -w30 {{ include "otel-demo.name" . }}-kafka 9092; do echo waiting for kafka; sleep 2; done;']
  224. currencyService:
  225. enabled: true
  226. useDefault:
  227. env: true
  228. service:
  229. port: 8080
  230. env:
  231. - name: CURRENCY_SERVICE_PORT
  232. value: "8080"
  233. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  234. value: http://$(OTEL_COLLECTOR_NAME):4317
  235. resources:
  236. limits:
  237. memory: 200Mi
  238. emailService:
  239. enabled: true
  240. useDefault:
  241. env: true
  242. service:
  243. port: 8080
  244. env:
  245. - name: EMAIL_SERVICE_PORT
  246. value: "8080"
  247. - name: APP_ENV
  248. value: production
  249. - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  250. value: http://$(OTEL_COLLECTOR_NAME):4318/v1/traces
  251. resources:
  252. limits:
  253. memory: 300Mi
  254. featureflagService:
  255. enabled: true
  256. useDefault:
  257. env: true
  258. ports:
  259. - name: grpc
  260. value: 50053
  261. - name: http
  262. value: 8081
  263. env:
  264. - name: FEATURE_FLAG_SERVICE_PORT
  265. value: "8081"
  266. - name: FEATURE_FLAG_GRPC_SERVICE_PORT
  267. value: "50053"
  268. - name: DATABASE_URL
  269. value: 'ecto://ffs:ffs@{{ include "otel-demo.name" . }}-ffspostgres:5432/ffs'
  270. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  271. value: http://$(OTEL_COLLECTOR_NAME):4317
  272. - name: OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
  273. value: grpc
  274. resources:
  275. limits:
  276. memory: 1Gi
  277. livenessProbe:
  278. httpGet:
  279. path: /featureflags/
  280. port: 8081
  281. initialDelaySeconds: 30
  282. periodSeconds: 10
  283. initContainers:
  284. - name: wait-for-ffspostgres
  285. image: busybox:latest
  286. command: ['sh', '-c', 'until nc -z -v -w30 {{ include "otel-demo.name" . }}-ffspostgres 5432; do echo waiting for ffspostgres; sleep 2; done']
  287. frauddetectionService:
  288. enabled: true
  289. useDefault:
  290. env: true
  291. env:
  292. - name: KAFKA_SERVICE_ADDR
  293. value: '{{ include "otel-demo.name" . }}-kafka:9092'
  294. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  295. value: http://$(OTEL_COLLECTOR_NAME):4317
  296. resources:
  297. limits:
  298. memory: 300Mi
  299. initContainers:
  300. - name: wait-for-kafka
  301. image: busybox:latest
  302. command: ['sh', '-c', 'until nc -z -v -w30 {{ include "otel-demo.name" . }}-kafka 9092; do echo waiting for kafka; sleep 2; done;']
  303. frontend:
  304. enabled: true
  305. useDefault:
  306. env: true
  307. service:
  308. port: 8080
  309. env:
  310. - name: FRONTEND_PORT
  311. value: "8080"
  312. - name: FRONTEND_ADDR
  313. value: :8080
  314. - name: AD_SERVICE_ADDR
  315. value: '{{ include "otel-demo.name" . }}-adservice:8080'
  316. - name: CART_SERVICE_ADDR
  317. value: '{{ include "otel-demo.name" . }}-cartservice:8080'
  318. - name: CHECKOUT_SERVICE_ADDR
  319. value: '{{ include "otel-demo.name" . }}-checkoutservice:8080'
  320. - name: CURRENCY_SERVICE_ADDR
  321. value: '{{ include "otel-demo.name" . }}-currencyservice:8080'
  322. - name: PRODUCT_CATALOG_SERVICE_ADDR
  323. value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'
  324. - name: RECOMMENDATION_SERVICE_ADDR
  325. value: '{{ include "otel-demo.name" . }}-recommendationservice:8080'
  326. - name: SHIPPING_SERVICE_ADDR
  327. value: '{{ include "otel-demo.name" . }}-shippingservice:8080'
  328. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  329. value: http://$(OTEL_COLLECTOR_NAME):4317
  330. - name: WEB_OTEL_SERVICE_NAME
  331. value: frontend-web
  332. - name: PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  333. value: http://localhost:8080/otlp-http/v1/traces # This expects users to use `kubectl port-forward ...`
  334. resources:
  335. limits:
  336. memory: 500Mi
  337. cpu: 200m
  338. securityContext:
  339. runAsUser: 1001 # nextjs
  340. runAsGroup: 1001
  341. runAsNonRoot: true
  342. frontendProxy:
  343. enabled: true
  344. useDefault:
  345. env: true
  346. service:
  347. port: 8080
  348. env:
  349. - name: ENVOY_PORT
  350. value: "8080"
  351. - name: FRONTEND_PORT
  352. value: "8080"
  353. - name: FRONTEND_HOST
  354. value: '{{ include "otel-demo.name" . }}-frontend'
  355. - name: FEATURE_FLAG_SERVICE_PORT
  356. value: "8081"
  357. - name: FEATURE_FLAG_SERVICE_HOST
  358. value: '{{ include "otel-demo.name" . }}-featureflagservice'
  359. - name: LOCUST_WEB_PORT
  360. value: "8089"
  361. - name: LOCUST_WEB_HOST
  362. value: '{{ include "otel-demo.name" . }}-loadgenerator'
  363. - name: GRAFANA_SERVICE_PORT
  364. value: "80"
  365. - name: GRAFANA_SERVICE_HOST
  366. value: '{{ include "otel-demo.name" . }}-grafana'
  367. - name: JAEGER_SERVICE_PORT
  368. value: "16686"
  369. - name: JAEGER_SERVICE_HOST
  370. value: '{{ include "otel-demo.name" . }}-jaeger-query'
  371. - name: OTEL_COLLECTOR_PORT_GRPC
  372. value: "4317"
  373. - name: OTEL_COLLECTOR_PORT_HTTP
  374. value: "4318"
  375. - name: OTEL_COLLECTOR_HOST
  376. value: $(OTEL_COLLECTOR_NAME)
  377. resources:
  378. limits:
  379. memory: 500Mi
  380. securityContext:
  381. runAsUser: 101 # envoy
  382. runAsGroup: 101
  383. runAsNonRoot: true
  384. loadgenerator:
  385. enabled: true
  386. useDefault:
  387. env: true
  388. service:
  389. port: 8089
  390. env:
  391. - name: LOCUST_WEB_PORT
  392. value: "8089"
  393. - name: LOCUST_USERS
  394. value: "10"
  395. - name: LOCUST_SPAWN_RATE
  396. value: "1"
  397. - name: LOCUST_HOST
  398. value: 'http://{{ include "otel-demo.name" . }}-frontendproxy:8080'
  399. - name: LOCUST_HEADLESS
  400. value: "false"
  401. - name: LOCUST_AUTOSTART
  402. value: "true"
  403. - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
  404. value: python
  405. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  406. value: http://$(OTEL_COLLECTOR_NAME):4317
  407. resources:
  408. limits:
  409. memory: 320Mi
  410. paymentService:
  411. enabled: true
  412. useDefault:
  413. env: true
  414. service:
  415. port: 8080
  416. env:
  417. - name: PAYMENT_SERVICE_PORT
  418. value: "8080"
  419. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  420. value: http://$(OTEL_COLLECTOR_NAME):4317
  421. resources:
  422. limits:
  423. memory: 320Mi
  424. securityContext:
  425. runAsUser: 1000 # node
  426. runAsGroup: 1000
  427. runAsNonRoot: true
  428. productCatalogService:
  429. enabled: true
  430. useDefault:
  431. env: true
  432. service:
  433. port: 8080
  434. env:
  435. - name: PRODUCT_CATALOG_SERVICE_PORT
  436. value: "8080"
  437. - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
  438. value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'
  439. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  440. value: http://$(OTEL_COLLECTOR_NAME):4317
  441. resources:
  442. limits:
  443. memory: 300Mi
  444. quoteService:
  445. enabled: true
  446. useDefault:
  447. env: true
  448. service:
  449. port: 8080
  450. env:
  451. - name: QUOTE_SERVICE_PORT
  452. value: "8080"
  453. - name: OTEL_PHP_AUTOLOAD_ENABLED
  454. value: "true"
  455. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  456. value: http://$(OTEL_COLLECTOR_NAME):4318
  457. resources:
  458. limits:
  459. memory: 400Mi
  460. securityContext:
  461. runAsUser: 33 # www-data
  462. runAsGroup: 33
  463. runAsNonRoot: true
  464. recommendationService:
  465. enabled: true
  466. useDefault:
  467. env: true
  468. service:
  469. port: 8080
  470. env:
  471. - name: RECOMMENDATION_SERVICE_PORT
  472. value: "8080"
  473. - name: PRODUCT_CATALOG_SERVICE_ADDR
  474. value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'
  475. - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
  476. value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'
  477. - name: OTEL_PYTHON_LOG_CORRELATION
  478. value: "true"
  479. - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
  480. value: python
  481. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  482. value: http://$(OTEL_COLLECTOR_NAME):4317
  483. resources:
  484. limits:
  485. memory: 500Mi # This is high to enable supporting the recommendationCache feature flag use case
  486. shippingService:
  487. enabled: true
  488. useDefault:
  489. env: true
  490. service:
  491. port: 8080
  492. env:
  493. - name: SHIPPING_SERVICE_PORT
  494. value: "8080"
  495. - name: QUOTE_SERVICE_ADDR
  496. value: 'http://{{ include "otel-demo.name" . }}-quoteservice:8080'
  497. - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  498. value: http://$(OTEL_COLLECTOR_NAME):4317/v1/traces
  499. resources:
  500. limits:
  501. memory: 300Mi
  502. ffsPostgres:
  503. enabled: true
  504. useDefault:
  505. env: true
  506. imageOverride:
  507. repository: "postgres"
  508. tag: "14"
  509. replicas: 1
  510. ports:
  511. - name: postgres
  512. value: 5432
  513. env:
  514. - name: POSTGRES_DB
  515. value: ffs
  516. - name: POSTGRES_USER
  517. value: ffs
  518. - name: POSTGRES_PASSWORD
  519. value: ffs
  520. resources:
  521. limits:
  522. memory: 320Mi
  523. securityContext:
  524. runAsUser: 999 # postgres
  525. runAsGroup: 999
  526. runAsNonRoot: true
  527. kafka:
  528. enabled: true
  529. useDefault:
  530. env: true
  531. replicas: 1
  532. ports:
  533. - name: plaintext
  534. value: 9092
  535. - name: controller
  536. value: 9093
  537. env:
  538. - name: KAFKA_ADVERTISED_LISTENERS
  539. value: 'PLAINTEXT://{{ include "otel-demo.name" . }}-kafka:9092'
  540. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  541. value: http://$(OTEL_COLLECTOR_NAME):4317
  542. - name: KAFKA_HEAP_OPTS
  543. value: "-Xmx200M -Xms200M"
  544. resources:
  545. limits:
  546. memory: 500Mi
  547. securityContext:
  548. runAsUser: 1000 # appuser
  549. runAsGroup: 1000
  550. runAsNonRoot: true
  551. redis:
  552. enabled: true
  553. useDefault:
  554. env: true
  555. imageOverride:
  556. repository: "redis"
  557. tag: "alpine"
  558. replicas: 1
  559. ports:
  560. - name: redis
  561. value: 6379
  562. resources:
  563. limits:
  564. memory: 200Mi
  565. securityContext:
  566. runAsUser: 999 # redis
  567. runAsGroup: 1000
  568. runAsNonRoot: true
  569. opentelemetry-collector:
  570. enabled: false
  571. nameOverride: otelcol
  572. mode: deployment
  573. presets:
  574. kubernetesAttributes:
  575. enabled: true
  576. resources:
  577. limits:
  578. memory: 200Mi
  579. service:
  580. type: ClusterIP
  581. ports:
  582. metrics:
  583. enabled: true
  584. prometheus:
  585. enabled: true
  586. containerPort: 9464
  587. servicePort: 9464
  588. protocol: TCP
  589. podAnnotations:
  590. prometheus.io/scrape: "true"
  591. prometheus.io/port: "9464"
  592. opentelemetry_community_demo: "true"
  593. config:
  594. receivers:
  595. otlp:
  596. protocols:
  597. http:
  598. # Since this collector needs to receive data from the web, enable cors for all origins
  599. # `allowed_origins` can be refined for your deployment domain
  600. cors:
  601. allowed_origins:
  602. - "http://*"
  603. - "https://*"
  604. exporters:
  605. ## Create an exporter to Jaeger using the standard `otlp` export format
  606. otlp:
  607. endpoint: '{{ include "otel-demo.name" . }}-jaeger-collector:4317'
  608. tls:
  609. insecure: true
  610. # Create an exporter to Prometheus (metrics)
  611. otlphttp/prometheus:
  612. endpoint: 'http://{{ include "otel-demo.name" . }}-prometheus-server:9090/api/v1/otlp'
  613. tls:
  614. insecure: true
  615. processors:
  616. resource:
  617. attributes:
  618. - key: service.instance.id
  619. from_attribute: k8s.pod.uid
  620. action: insert
  621. filter/ottl:
  622. error_mode: ignore
  623. metrics:
  624. metric:
  625. # FIXME: remove when a Metrics View is implemented in the checkout and productcatalog components
  626. # or when this issue is resolved: https://github.com/open-telemetry/opentelemetry-go-contrib/issues/3071
  627. - 'name == "rpc.server.duration"'
  628. transform:
  629. metric_statements:
  630. - context: metric
  631. statements:
  632. # FIXME: remove when this issue is resolved: https://github.com/open-telemetry/opentelemetry-java/issues/4834
  633. - set(description, "") where name == "queueSize"
  634. # FIXME: remove when these 2 issues are resolved:
  635. # Java: https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/9478
  636. # Go: https://github.com/open-telemetry/opentelemetry-go-contrib/issues/4301
  637. - set(description, "") where name == "rpc.server.duration"
  638. # FIXME: remove when this issue is resolved: https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1958
  639. - set(description, "") where name == "http.client.duration"
  640. connectors:
  641. spanmetrics:
  642. service:
  643. pipelines:
  644. traces:
  645. processors: [memory_limiter, resource, batch]
  646. exporters: [otlp, debug, spanmetrics]
  647. metrics:
  648. receivers: [otlp, spanmetrics]
  649. processors: [memory_limiter, filter/ottl, transform, resource, batch]
  650. exporters: [otlphttp/prometheus, debug]
  651. jaeger:
  652. enabled: false
  653. provisionDataStore:
  654. cassandra: false
  655. allInOne:
  656. enabled: true
  657. args:
  658. - "--memory.max-traces=8000"
  659. - "--query.base-path=/jaeger/ui"
  660. - "--prometheus.server-url=http://{{ include \"otel-demo.name\" . }}-prometheus-server:9090"
  661. - "--prometheus.query.normalize-calls=true"
  662. - "--prometheus.query.normalize-duration=true"
  663. extraEnv:
  664. - name: METRICS_STORAGE_TYPE
  665. value: prometheus
  666. resources:
  667. limits:
  668. memory: 300Mi
  669. storage:
  670. type: none
  671. agent:
  672. enabled: false
  673. collector:
  674. enabled: false
  675. query:
  676. enabled: false
  677. prometheus:
  678. enabled: false
  679. alertmanager:
  680. enabled: false
  681. configmapReload:
  682. prometheus:
  683. enabled: false
  684. kube-state-metrics:
  685. enabled: false
  686. prometheus-node-exporter:
  687. enabled: false
  688. prometheus-pushgateway:
  689. enabled: false
  690. server:
  691. extraFlags:
  692. - "enable-feature=exemplar-storage"
  693. - "enable-feature=otlp-write-receiver"
  694. persistentVolume:
  695. enabled: false
  696. service:
  697. servicePort: 9090
  698. resources:
  699. limits:
  700. memory: 300Mi
  701. serverFiles:
  702. prometheus.yml:
  703. scrape_configs: []
  704. grafana:
  705. enabled: false
  706. grafana.ini:
  707. auth:
  708. disable_login_form: true
  709. auth.anonymous:
  710. enabled: true
  711. org_name: Main Org.
  712. org_role: Admin
  713. server:
  714. root_url: "%(protocol)s://%(domain)s:%(http_port)s/grafana"
  715. serve_from_sub_path: true
  716. adminPassword: admin
  717. datasources:
  718. datasources.yaml:
  719. apiVersion: 1
  720. datasources:
  721. - name: Prometheus
  722. uid: webstore-metrics
  723. type: prometheus
  724. url: 'http://{{ include "otel-demo.name" . }}-prometheus-server:9090'
  725. editable: true
  726. isDefault: true
  727. jsonData:
  728. exemplarTraceIdDestinations:
  729. - datasourceUid: webstore-traces
  730. name: trace_id
  731. - url: http://localhost:8080/jaeger/ui/trace/$${__value.raw}
  732. name: trace_id
  733. urlDisplayLabel: View in Jaeger UI
  734. - name: Jaeger
  735. uid: webstore-traces
  736. type: jaeger
  737. url: 'http://{{ include "otel-demo.name" . }}-jaeger-query:16686/jaeger/ui'
  738. editable: true
  739. isDefault: false
  740. dashboardProviders:
  741. dashboardproviders.yaml:
  742. apiVersion: 1
  743. providers:
  744. - name: 'default'
  745. orgId: 1
  746. folder: ''
  747. type: file
  748. disableDeletion: false
  749. editable: true
  750. options:
  751. path: /var/lib/grafana/dashboards/default
  752. dashboardsConfigMaps:
  753. default: '{{ include "otel-demo.name" . }}-grafana-dashboards'
  754. resources:
  755. limits:
  756. memory: 350Mi