{"adoption": {"forks": 1882, "observed_at": "2026-08-28T04:09:33.967306+00:00", "stars": 5983}, "canonical_url": "https://ross.abutalabs.com/products/podinfo", "card": {"archived": false, "artifact_type": "application", "description": "Go microservice template for Kubernetes", "domain": ["microservices", "cloud-computing", "developer-tools"], "enriched": true, "function": ["http-server", "monitoring", "e2e-testing", "logging", "web-framework"], "health_score": 100, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["stefanprodan/podinfo"], "name": "stefanprodan/podinfo", "platform": ["go", "cli"], "pushed_at": "2026-08-24T06:45:59+00:00", "repo": "stefanprodan/podinfo", "stars": 5983, "tags": ["kubernetes", "helm-chart", "kustomize", "gitops", "microservice-template", "prometheus-metrics", "fault-injection", "sample-app", "flux", "flagger", "devops", "containers", "docker"], "topics": ["golang", "microservice", "kubernetes", "helm", "kustomize", "gitops", "e2e-testing", "cuelang"], "urls": [], "use_cases": ["test gitops deployments with a sample microservice", "learn kubernetes microservice best practices", "test canary deployments and progressive delivery", "demo prometheus metrics and health probes in kubernetes", "practice helm and kustomize deployments", "test circuit breakers with fault injection"], "what_it_is": "Podinfo is a tiny Go web application that serves as a reference microservice template showcasing Kubernetes best practices. It ships with Helm, Kustomize, and Timoni installers and is used by CNCF projects like Flux and Flagger for end-to-end testing and demos.", "when_to_avoid": ["you need a production business application rather than a demo/test workload", "your stack isn't Kubernetes or container-based"], "when_to_choose": ["you need a realistic sample app for Kubernetes, GitOps, or progressive delivery testing", "you want a template showing production-ready Go microservice patterns", "you're running Flux or Flagger workshops and e2e tests"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/podinfo", "repo": "stefanprodan/podinfo", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:33.967306+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:49:52.953127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeea85a82553103a3cbff7e6c6f890221aae519e796191ba9aecb28fdb858cad", "fetched_at": "2026-08-28T04:09:33.967306+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stefanprodan/podinfo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 94}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3162, "days_push": 9, "days_rel": 42, "gap_med": 29.0, "n_releases_24m": 17}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}