// the find
stefanprodan/podinfo
Go microservice template for Kubernetes
podinfo is a reference Go microservice used by Flux and Flagger for e2e testing and as a teaching example for Kubernetes best practices. It implements health checks, graceful shutdown, Prometheus/OTel metrics, JWT auth, Redis caching, and fault injection — all the plumbing you'd want in a real service. The target audience is developers learning Kubernetes patterns or needing a realistic test target for infrastructure tooling.
The fault injection endpoints (enable/disable HTTP 500s on a single replica) are genuinely useful for testing circuit breakers and outlier detection without mocking anything. Supply chain security is taken seriously: SLSA Level 2 provenance, Sigstore cosign image signing, SBOM, and CVE scanning with govulncheck are all wired into CI. Deployment artifacts cover Helm, Kustomize, and Timoni with a full dev/staging/production overlay structure — you can see exactly how the same app is configured across environments. The gRPC and HTTP APIs mirror each other cleanly, which makes it a good dual-protocol reference.
It's a demo app that grew features to cover more teaching scenarios, so there's no coherent domain model — it's a collection of unrelated endpoints stapled together. Timoni support is there but the CUE schema files in the tree are auto-generated vendor dumps from k8s.io, not well-documented examples you'd actually learn from. The Redis integration is a thin cache bolted on with no connection pooling configuration or failure mode documentation. The JWT implementation issues tokens valid for one minute with no refresh mechanism, which is fine for demos but would bite anyone who copy-pastes it into a real service.