← worklog

2023-06-01

Platform migration to GitOps with ArgoCD on AWS

AWSArgoCDKotlinDatadog

Context

Short engagement at a consultancy. The client had a growing Kotlin microservices footprint on EKS deployed via hand-crafted shell scripts in CI. No rollback story, no drift detection.

What I did

  • Introduced ArgoCD with Application-of-Applications pattern for managing all services from a single GitOps repo
  • Instrumented services with Datadog APM — traces, logs, and JVM metrics correlated in a single pane
  • Wrote Helm chart templates for the Kotlin services, standardizing resource limits, probes, and environment injection

Datadog integration

The JVM agent via JAVA_TOOL_OPTIONS env var into the container spec, Datadog Agent as a DaemonSet with log collection enabled. Service map came up automatically once a few services were instrumented.

Outcome

Deployments went from a 20-minute CI process with manual approvals to sub-3-minute ArgoCD syncs with automatic rollback on health check failure.