From 006035ff282439b1bc6b2bcc315d3f905b3506c2 Mon Sep 17 00:00:00 2001 From: demo-bot Date: Wed, 8 Jul 2026 06:35:19 +0000 Subject: [PATCH] feat: add service discovery, OTel instrumentation, and k6 load tests --- overlays/otel/kustomization.yaml | 119 +++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 overlays/otel/kustomization.yaml diff --git a/overlays/otel/kustomization.yaml b/overlays/otel/kustomization.yaml new file mode 100644 index 0000000..52510a0 --- /dev/null +++ b/overlays/otel/kustomization.yaml @@ -0,0 +1,119 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- ../deploy +patches: +- target: + kind: Deployment + name: ad + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: ad\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-java:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ ad\n env:\n - name: OTEL_SERVICE_NAME\n value: ad\n \ + \ - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: email + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: email\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-ruby:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ email\n env:\n - name: OTEL_SERVICE_NAME\n value: email\n\ + \ - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: fraud-detection + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: fraud-detection\n\ + \ namespace: default\nspec:\n template:\n metadata:\n annotations:\n\ + \ instrumentation.opentelemetry.io/inject-java: monitoring/otel-instrumentation\n\ + \ spec:\n containers:\n - name: fraud-detection\n env:\n \ + \ - name: OTEL_SERVICE_NAME\n value: fraud-detection\n -\ + \ name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: frontend + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: frontend\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-nodejs:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ frontend\n env:\n - name: OTEL_SERVICE_NAME\n value:\ + \ frontend\n - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: kafka + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: kafka\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-python:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ kafka\n env:\n - name: OTEL_SERVICE_NAME\n value: kafka\n\ + \ - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: llm + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: llm\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-python:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ llm\n env:\n - name: OTEL_SERVICE_NAME\n value: llm\n\ + \ - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: load-generator + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: load-generator\n\ + \ namespace: default\nspec:\n template:\n metadata:\n annotations:\n\ + \ instrumentation.opentelemetry.io/inject-python: monitoring/otel-instrumentation\n\ + \ spec:\n containers:\n - name: load-generator\n env:\n \ + \ - name: OTEL_SERVICE_NAME\n value: load-generator\n - name:\ + \ OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: payment + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: payment\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-nodejs:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ payment\n env:\n - name: OTEL_SERVICE_NAME\n value: payment\n\ + \ - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: product-reviews + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: product-reviews\n\ + \ namespace: default\nspec:\n template:\n metadata:\n annotations:\n\ + \ instrumentation.opentelemetry.io/inject-python: monitoring/otel-instrumentation\n\ + \ spec:\n containers:\n - name: product-reviews\n env:\n \ + \ - name: OTEL_SERVICE_NAME\n value: product-reviews\n -\ + \ name: OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: recommendation + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: recommendation\n\ + \ namespace: default\nspec:\n template:\n metadata:\n annotations:\n\ + \ instrumentation.opentelemetry.io/inject-python: monitoring/otel-instrumentation\n\ + \ spec:\n containers:\n - name: recommendation\n env:\n \ + \ - name: OTEL_SERVICE_NAME\n value: recommendation\n - name:\ + \ OTEL_EXPORTER_OTLP_ENDPOINT\n value: http://otel-collector.monitoring.svc.cluster.local:4318\n\ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: opensearch + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: opensearch\n \ + \ namespace: default\nspec:\n template:\n metadata:\n annotations:\n\ + \ instrumentation.opentelemetry.io/inject-java: monitoring/otel-instrumentation\n\ + \ spec:\n containers:\n - name: opensearch\n env:\n \ + \ - name: OTEL_SERVICE_NAME\n value: opensearch\n - name: OTEL_EXPORTER_OTLP_ENDPOINT\n\ + \ value: http://otel-collector.monitoring.svc.cluster.local:4318\n \ + \ - name: OTEL_RESOURCE_ATTRIBUTES\n value: app=lint-enforcement-v1\n" +- target: + kind: Deployment + name: grafana + patch: "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: grafana\n namespace:\ + \ default\nspec:\n template:\n metadata:\n annotations:\n instrumentation.opentelemetry.io/inject-python:\ + \ monitoring/otel-instrumentation\n spec:\n containers:\n - name:\ + \ grafana-sc-alerts\n env:\n - name: OTEL_SERVICE_NAME\n \ + \ value: grafana\n - name: OTEL_EXPORTER_OTLP_ENDPOINT\n value:\ + \ http://otel-collector.monitoring.svc.cluster.local:4318\n - name: OTEL_RESOURCE_ATTRIBUTES\n\ + \ value: app=lint-enforcement-v1\n"