# Microservice Golden Path Checklist ## Pre-Deployment - [ ] Service name follows naming convention: lowercase-hyphenated - [ ] Dockerfile uses multi-stage build + distroless base - [ ] Image is signed with Cosign - [ ] SBOM is generated and attested - [ ] All security scans pass (Trivy, Semgrep, Checkov) - [ ] Health endpoints: /healthz (liveness) + /readyz (readiness) - [ ] Graceful shutdown handles SIGTERM ## Kubernetes - [ ] Resource requests AND limits defined - [ ] runAsNonRoot: true + readOnlyRootFilesystem: true - [ ] capabilities.drop: ["ALL"] - [ ] Probes configured (liveness + readiness) - [ ] PDB created (minAvailable >= 2) - [ ] HPA configured - [ ] NetworkPolicy: default deny + selective allow - [ ] Secrets from External Secrets Operator (not hardcoded) - [ ] automountServiceAccountToken: false (unless needed) - [ ] TopologySpreadConstraints for multi-AZ ## Observability - [ ] Prometheus metrics endpoint exposed - [ ] Structured JSON logging - [ ] OpenTelemetry traces emitted - [ ] Dashboard exists in Grafana - [ ] Alert rules defined in Prometheus ## CI/CD - [ ] DevSecOps pipeline passes (SAST + scan + sign + test) - [ ] ArgoCD application manifest created - [ ] Kustomize overlay for each environment