values.yaml 23 KB

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