{"adoption": {"forks": 251, "observed_at": "2026-08-28T04:05:28.524404+00:00", "stars": 1729}, "canonical_url": "https://ross.abutalabs.com/products/paasta", "card": {"archived": false, "artifact_type": "service", "description": "An open, distributed platform as a service", "domain": ["cloud-computing", "microservices", "infrastructure-as-code", "self-hosted"], "enriched": true, "function": ["deployment", "container-orchestration", "monitoring", "ci-cd", "microservices", "scheduling", "service-discovery"], "health_score": 100, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["Yelp/paasta"], "name": "Yelp/paasta", "platform": ["python", "self-hosted"], "pushed_at": "2026-08-26T20:01:49+00:00", "repo": "Yelp/paasta", "stars": 1729, "tags": ["paas", "platform-as-a-service", "yelp", "service-deployment", "declarative-config", "autoscaling", "devops", "containers", "docker", "kubernetes", "linux"], "topics": ["paasta", "infrastructure", "yelp", "docker", "paas", "k8s", "kubernetes"], "urls": [], "use_cases": ["deploy dockerized services to kubernetes without writing yaml", "self-host a platform as a service for my organization", "run production microservices with built-in monitoring and alerting", "automate continuous deployment of services", "autoscale services based on prometheus metrics", "manage nightly batch jobs alongside long-running services", "simplify service configuration for multiple infrastructure tools"], "what_it_is": "PaaSTA is an open-source, distributed platform-as-a-service from Yelp for building, deploying, and monitoring containerized services on Kubernetes. It provides a simplified declarative schema so teams can describe services without hand-writing Kubernetes YAML, while wiring up monitoring, logging, service discovery, and autoscaling.", "when_to_avoid": ["you deploy only a handful of simple apps where plain Kubernetes manifests or a small tool suffice", "you cannot provide the substantial underlying infrastructure PaaSTA requires", "you want a fully unopinionated platform you can shape freely", "your stack is not Linux/Docker/Kubernetes based"], "when_to_choose": ["you run many microservices on kubernetes and want an opinionated, batteries-included PaaS", "your teams should not need to learn raw Kubernetes YAML", "you want integrated monitoring, logging, service discovery, and autoscaling from one declarative config", "you already use or can adopt Docker, Kubernetes, Sensu, SmartStack/Envoy, and Tron"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/paasta", "repo": "Yelp/paasta", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "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:05:28.524404+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.524404+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:31:56.504202+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6244e7082c3e0f8a65df227a99232f19de1c379cfbd262976f56d94904983cf", "fetched_at": "2026-08-28T04:05:28.524404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Yelp/paasta"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3964, "days_push": 7, "days_rel": 12, "gap_med": 1.0, "n_releases_24m": 205}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}