Sergii Danyliuk

Platform Engineer — Miami, FL

I build infrastructure an agent can work on and touch safely.

Currently at Chewy, where a six-person platform team runs 40+ applications across 7 EKS clusters. I work AI-first with the guardrails to do it safely: agent skills review our Terraform and Kubernetes changes before they merge.

Portrait of Sergii Danyliuk
40+apps · 7 EKS clusters
<30 minincident MTTR (was hours)
~30%compute cost cut
5 min → 45 snode scale-up

Selected work

Four from the platform team at Chewy, one from my Samsara years.

01

30+ agent skills the platform team runs

Chewy · Claude Code & Codex · provisioning, change management, troubleshooting

Platform work is repeated judgment — provisioning new infrastructure, changing what's already running, and troubleshooting it when it breaks. I built 30+ Claude Code and Codex agent skills covering that whole lifecycle, and they've been adopted by the platform engineers as part of the daily workflow: scaffolding new infra to our conventions, reviewing changes before they merge, and walking incidents change-first.

The three I go deepest on: a Terraform plan reviewer that risk-tiers every change and leads with an apply/don't-apply verdict, a Kubernetes manifest reviewer that checks limits, probes, image pinning and RBAC, and an incident-triage assistant that walks a firing alert change-first. Each pairs the model's judgment with a deterministic Python script that parses the actual plan JSON or YAML — every destroy, every IAM widening, every missing limit — and exits non-zero on critical findings so CI can block a bad apply. The model explains and prioritizes; it doesn't invent findings.

I validated them with an eval loop — every test case run with and without the skill, graded against fixed checks. The honest result: the base model is already strong, and the repeatable win is determinism plus safety discipline. The skills recommend rollbacks; they never run them.

  • Claude Code
  • Codex
  • Python
  • GitHub Actions
  • Terraform
  • Kubernetes
02

Karpenter: a third off the compute bill

Chewy · fleet ~200 → ~140 nodes · scale-up ~5 min → ~45 sec

Node provisioning ran on Cluster Autoscaler: slow to react — around five minutes for capacity to arrive — and chronically over-provisioned, because node groups can't right-size to what pods actually request.

I migrated provisioning to Karpenter: just-in-time nodes sized to the pending pods, with workload consolidation packing the fleet tighter as demand moves. Workloads are split across NodePools — spot instances for general workloads, on-demand for critical cluster operations — enforced with taints and tolerations so nothing critical lands on capacity that can disappear.

The fleet went from roughly 200 nodes to 140 — about 30% off compute spend — and node scale-up dropped from ~5 minutes to ~45 seconds, which is the difference developers actually feel.

  • Karpenter
  • EKS
  • Terraform
  • EC2 Spot
03

GitOps with nothing hand-deployed

Chewy · 40+ apps · 7 EKS clusters

App delivery is declarative, pull-based GitOps with ArgoCD: Git is the source of truth, GitHub Actions runs the promotion pipeline that updates it, and ArgoCD reconciles the clusters to match — with automated drift detection and rollbacks that are just a revert.

The platform plumbing is automated to the same standard: cert-manager syncs TLS certificates with ACM, external-dns manages Route53 records, and secrets reach pods through the AWS Secrets Manager CSI driver over IRSA. No manual steps between a merged PR and a running, certificated, DNS-addressable service.

  • ArgoCD
  • Helm
  • GitHub Actions
  • cert-manager
  • external-dns
  • IRSA
04

A traffic plane cut over live, zero downtime

Chewy · ingress-nginx → Gateway API · shared dual-stack ALBs

North-south traffic ran on ingress-nginx. I migrated the traffic plane to Gateway API on the AWS Load Balancer Controller: shared dual-stack ALBs in front of the clusters, with routing declared as HTTPRoutes instead of annotation-heavy Ingress objects.

The cutover — Ingress to HTTPRoute — happened on live clusters with zero downtime, because a traffic plane is exactly the layer you don't get to take down to replace.

  • Gateway API
  • AWS Load Balancer Controller
  • ALB
  • EKS
05

Moving live infrastructure without downtime

Samsara · 200+ resources · 5 AWS accounts

I migrated live infrastructure from CloudFormation to Terraform — 200+ resources across 5 AWS accounts — with zero downtime, behind a documented runbook and rollback plan for every stage.

The same modernization took IAM with it: long-lived users and static access keys replaced with role-based access — 50+ roles scoped with permission boundaries, cross-account access via STS assume-role — and zero standing access keys in CI once the pipelines moved to GitHub Actions OIDC federation.

  • Terraform
  • CloudFormation
  • IAM · STS
  • GitHub Actions OIDC

About

Miami, FL

I'm a Platform Engineer with five-plus years in — the last three at Chewy, where a six-person platform team (four engineers, two principals) runs the EKS platform behind 40+ applications across 7 clusters: three app environments and four platform clusters, all Terraform-managed, all delivered from Git with ArgoCD, with observability — RED-metric dashboards and OpenTelemetry tracing — that takes production incidents from firing alert to resolution in under 30 minutes.

Before that I spent three years at Samsara as a DevOps engineer. That's where I learned to change infrastructure that's already carrying traffic: migrating live stacks from CloudFormation to Terraform without downtime, modernizing IAM across five accounts, and wiring the CI/CD that made both repeatable.

The last stretch has changed how I work. I run Claude Code and Codex daily — plans with checkpoints, conventions committed as context, every change through a PR I review. I built our agent skills that review Terraform plans and Kubernetes manifests at PR time, with deterministic scripts doing the mechanical checks and hard lines the agent doesn't cross: it recommends, it never applies. The interesting problem in 2026 isn't whether AI can do infrastructure work — it's building the guardrails so it does it safely. That's a platform problem, and platform problems are what I like.

Experience

Chewy

Plantation, FL

Platform Engineer Sep 2023 – Present

  • Built 30+ Claude Code and Codex agent skills adopted by platform engineers, automating infra provisioning, change management, and production troubleshooting.
  • Cut EKS compute cost ~30% and node scale-up time ~80% by migrating provisioning from Cluster Autoscaler to Karpenter — just-in-time, right-sized nodes with workload consolidation, split across NodePools.
  • Moved app delivery to declarative, pull-based GitOps with ArgoCD — Git as the source of truth, automated drift detection, and fast rollbacks across 40+ apps and 7 EKS clusters.
  • Automated TLS, DNS, and secrets with cert-manager, external-dns, and the AWS Secrets Manager CSI driver — ACM-synced certs, Route53 records, and pod secret injection with no manual steps, authenticated through per-pod IAM roles (IRSA).
  • Cut MTTR for production incidents on EKS from hours to under 30 minutes by rebuilding Grafana dashboards around RED metrics and rolling out OpenTelemetry tracing into Tempo, with Prometheus exemplars linking latency spikes directly to the failing trace.
  • Migrated the traffic plane off ingress-nginx to Gateway API on the AWS Load Balancer Controller — shared dual-stack ALBs, Ingress → HTTPRoute cutover with zero downtime.

Samsara

San Francisco, CA (Remote)

DevOps Engineer Oct 2020 – Aug 2023

  • Migrated live infrastructure from CloudFormation to Terraform — 200+ resources across 5 AWS accounts — with zero downtime via a documented runbook and rollback plan.
  • Wired GitHub Actions CI/CD across infra and apps with OIDC federation — plan-on-PR / apply-on-merge for Terraform, image build → ECR → Helm deploy for services.
  • Replaced long-lived IAM users with role-based access across 5 AWS accounts — 50+ scoped roles, zero standing access keys in CI via OIDC.
  • Cut S3 storage cost ~$20K/year with lifecycle rules that transition and expire objects by age across buckets.
  • Optimized multi-stage Docker builds across Go, Node.js, and Python microservices on a distroless base — cutting image sizes ~60% (typical service ~1.2 GB → ~450 MB) and shrinking pull/deploy times and attack surface.

Skills

Tools I've run in production and can talk through end to end.

Cloud & Infra
AWS · Linux · Docker · Kubernetes
Scaling
Karpenter · KEDA · HPA
IaC & Delivery
Terraform · ArgoCD (GitOps) · GitHub Actions · Helm
Security
IAM · IRSA · Kubernetes RBAC · OIDC
Networking
Gateway API · AWS Load Balancer Controller · cert-manager · external-dns
Observability
OpenTelemetry · Prometheus · Grafana · Tempo · Alertmanager · CloudWatch · EFK (Fluent Bit / Elasticsearch / Kibana)
AI / Agentic
Claude Code · Codex · context engineering (CLAUDE.md / AGENTS.md)
Scripting
Bash · Python

Certifications