An Azure platform for running a service on AKS with Terraform, Argo CD, CI, observability and incident handling.
View the Project on GitHub Franklindot04/production-platform-Azure
ADR 0019 chose a workspace-based Application Insights resource for traces and an OpenTelemetry Collector that sends OTLP to it, authenticated with workload identity. This ADR supersedes only the Collector authentication part of ADR 0019.
Facts read from the upstream releases and documentation:
azuremonitorexporter in its distribution manifest.connection_string. The environment variable APPLICATIONINSIGHTS_CONNECTION_STRING overrides the configuration. The README names the exporter azure_monitor in its examples.ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib at 0.165.0, from the chart opentelemetry-collector 0.178.2. Argo CD installs it from gitops/dev/apps/opentelemetry-collector.yaml, with the values in gitops/dev/values/opentelemetry-collector.yaml.azure_monitor exporter. There is one traces pipeline: OTLP receiver, memory_limiter and batch.session.sh bootstrap secrets from the output application_insights_connection_string of the persistent root. The script creates the cluster secret appinsights-connection in the namespace observability. The Collector reads it through an environment variable.What stays from ADR 0019: Application Insights in the persistent layer, no Grafana, no cluster-wide log collection.
kind, which has no Azure state. A full bootstrap on kind skips it.