DEV.co
Open-Source Testing · stefanprodan

podinfo

Podinfo is a lightweight Go-based microservice template designed to demonstrate Kubernetes best practices. It includes health checks, metrics, graceful shutdown, and fault injection capabilities, making it ideal for testing and learning cloud-native patterns.

Source: GitHub — github.com/stefanprodan/podinfo
5.9k
GitHub stars
1.9k
Forks
Go
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorystefanprodan/podinfo
Ownerstefanprodan
Primary languageGo
LicenseApache-2.0 — OSI-approved
Stars5.9k
Forks1.9k
Open issues30
Latest release6.14.0 (2026-06-18)
Last updated2026-07-06
Sourcehttps://github.com/stefanprodan/podinfo

What podinfo is

A Go web application exposing HTTP/gRPC APIs with Prometheus/OpenTelemetry instrumentation, structured logging via zap, and Kubernetes-native features (liveness/readiness probes, configmap/secret watchers). Ships with multi-architecture container images, SLSA provenance attestation, and CVE scanning via govulncheck.

Quickstart

Get the podinfo source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/stefanprodan/podinfo.gitcd podinfo# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Kubernetes Learning & Workshop Material

Used by CNCF projects (Flux, Flagger) for e2e testing and demonstrations. Exhibits health checks, graceful shutdown, and readiness/liveness probe patterns—ideal for hands-on Kubernetes training.

Microservice Pattern Testing

Fault injection endpoints enable testing circuit breakers, outlier detection, and canary deployments. Supports progressive delivery workflows via Flagger integration.

CI/CD and GitOps Integration Testing

Provides example Helm/Kustomize/Timoni manifests and integrates with Flux for GitOps-driven deployments. Suitable as a reference or stub service in multi-environment CI pipelines.

Implementation considerations

  • Requires Kubernetes ≥v1.23; verify cluster version before deployment.
  • Install via Helm, Kustomize, or Timoni—choose based on existing tooling. Helm repos available at both stefanprodan.github.io and ghcr.io.
  • Configure Redis optionally for cache endpoints (`/cache/{key}`); omit if not needed for testing scenarios.
  • Fault injection and panic endpoints are intentional for testing; restrict access in shared environments.
  • Multi-architecture images available (Docker Pulls badge visible); confirm platform compatibility for ARM/x86 deployments.

When to avoid it — and what to weigh

  • Production Workload Replacement — Podinfo is a reference template, not production-grade middleware. Lacks advanced features (distributed tracing SDKs, rate limiting, caching strategies) needed for real services.
  • Minimal Resource Environments — While lightweight, it requires Kubernetes ≥v1.23 and container orchestration. Not suitable for serverless, edge, or non-containerized deployments.
  • Proprietary or Regulated Security Requirements — No explicit security audit or compliance claims documented. SLSA Level 2 and CVE scanning present, but not sufficient for HIPAA, PCI-DSS, or other regulated contexts.
  • High-Performance Data Processing — Designed for demonstrating patterns, not throughput. Fault injection and deliberate latency endpoints suggest learning/testing focus rather than production performance.

License & commercial use

Licensed under Apache License 2.0, a permissive OSI-approved license permitting commercial use, modification, and distribution with proper attribution and liability disclaimer.

Apache 2.0 permits commercial use without restriction. However, podinfo is a template/reference implementation, not a vendorable dependency; use for learning or as a deployment scaffold, not as an embedded library. Review your specific use case to confirm compatibility with commercial terms.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

SLSA Level 2 provenance, container image signing with Sigstore cosign, and CVE scanning via govulncheck are present. Structured logging and health probes support observability. No explicit security audit documented. Fault injection and panic endpoints are intentional for testing; restrict network exposure in production-like environments. Review CVE scan results in CI workflows before adopting in regulated contexts.

Alternatives to consider

Kubernetes Sample Apps (e.g., microservices-demo/sock-shop)

More complex multi-service architecture for realistic e2e scenarios, but steeper learning curve and larger footprint.

Httpbin or Echo Server

Simpler HTTP-only services for basic API testing; lack Kubernetes-native features (probes, configmap watchers, gRPC).

CNCF Hello-world or Custom Go Template

Minimal stubs without out-of-the-box metrics, tracing, or Helm manifests; suitable only if you want to build from scratch.

Software development agency

Build on podinfo with DEV.co software developers

Deploy Podinfo on your cluster today using Helm, Kustomize, or Timoni. Explore health checks, fault injection, and progressive delivery scenarios with step-by-step guides.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

podinfo FAQ

Can I use Podinfo as a production microservice?
No. Podinfo is a reference template for demonstrating Kubernetes patterns. It lacks domain logic, advanced observability SDKs, and production hardening. Use it for testing, learning, or as a scaffold.
Does Podinfo support gRPC?
Yes. It exposes gRPC services (Health Check, Echo, Version, Delay, Env, Token, Info, Panic, Status) alongside HTTP APIs. Both are demonstrated in the README.
How do I inject faults for testing?
POST to `/fault_injection/enable` to make the service respond with HTTP 500 to all application endpoints (probes and metrics remain healthy). Use `/fault_injection/disable` to restore normal behavior.
What are the licensing restrictions for commercial use?
Apache 2.0 permits commercial use freely. However, Podinfo is a template, not a library to embed. Use it for deployments or learning, not as a vendored dependency in proprietary code without review.

Custom software development services

Need help beyond evaluating podinfo? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source testing integrations — and maintain them long-term.

Ready to Learn Kubernetes-Native Patterns?

Deploy Podinfo on your cluster today using Helm, Kustomize, or Timoni. Explore health checks, fault injection, and progressive delivery scenarios with step-by-step guides.