Enterprise Delivery Best Practices
A condensed checklist of delivery rules for Go microservices: artifact discipline, staged promotion, traffic safety, verification, flags, rollbacks, metrics, and compliance.
Search across all documentation pages
A condensed checklist of delivery rules for Go microservices: artifact discipline, staged promotion, traffic safety, verification, flags, rollbacks, metrics, and compliance.
:latest.go test ./... with -race on every PR. Data races caught in CI are cheaper than prod incidents.govulncheck before promotion. CVE gates belong in pipeline, not ticket comments.go 1.26 in go.mod must match builder image.go version -m output to registry. Supply-chain audits ask what was in prod./healthz.maxUnavailable: 0 for critical Deployments. No capacity drop during rollouts.terminationGracePeriodSeconds to longest request.if flag branches become unmaintainable.CHANGE_TICKET empty in regulated services.Tier A and B minimum before first prod customer.
Add C when external SLAs exist; D-Gates when regulated.
Per-service image and deploy events even when one pipeline builds many targets.
DORA and rollback docs are per service, not per repo.
Yes with automated attestations, approvals, and audit logs.
Manual CAB per deploy does not scale for Go microservices.
Internal workers with no customer impact and strong staging parity may use guarded rolling updates.
Revisit when blast radius grows.
Platform owns golden pipeline, mesh, and audit sinks.
Service owns smoke paths, flags, migrations, and SLO thresholds.
Track count and age in catalog.
Retire aggressively; tens of active flags per service is a smell.
No shell does not block HTTP/gRPC probes.
Binary must expose probe endpoints directly.
Map each SEV post-mortem action to a checklist item.
Missing item becomes a pipeline or template fix.
Stack versions: This page was written for Go 1.26.x (Green Tea GC default, go fix modernizers - verify patch at build), chi (latest - verify at build), gin (latest - verify at build), echo (latest - verify at build), google.golang.org/grpc (latest - verify at build), sigs.k8s.io/controller-runtime (latest - verify at build), kubebuilder (latest - verify at build), tinygo (latest - verify board targets at build), wazero (latest - verify at build), and golangci-lint (latest - verify linter set at build).
Reviewed by Chris St. John·Last updated Jul 18, 2026