{"adoption": {"forks": 1034, "observed_at": "2026-08-28T04:08:35.540064+00:00", "stars": 4101}, "canonical_url": "https://ross.abutalabs.com/products/opendevops", "card": {"archived": false, "artifact_type": "application", "description": "CODO是一款为用户提供企业多混合云、全球一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台", "domain": ["cloud-computing", "self-hosted", "infrastructure-as-code"], "enriched": true, "function": ["deployment", "monitoring", "workflow-automation", "scheduling", "api-gateway", "microservices", "configuration-management", "ci-cd"], "health_score": 66, "homepage": "http://www.opendevops.cn/", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["opendevops-cn/opendevops"], "name": "opendevops-cn/opendevops", "platform": ["python", "go", "self-hosted"], "pushed_at": "2026-04-12T10:42:00+00:00", "repo": "opendevops-cn/opendevops", "stars": 4101, "tags": ["cmdb", "itsm", "multi-cloud", "automated-operations", "tornado", "ansible", "saltstack", "micro-frontend", "openresty", "ops-platform", "devops", "automation", "docker", "kubernetes", "web-server"], "topics": ["demo", "cmdb", "crontab", "task", "itsm", "devops", "k8s", "ci", "cd", "opendevops", "tornado", "iview", "docker", "docker-compose", "ansible", "saltstack", "ops"], "urls": [], "use_cases": ["manage multi-cloud and hybrid cloud infrastructure from one platform", "automate routine ops tasks and cron jobs", "build a CMDB for asset and configuration management", "run ITSM workflows and ticketing for operations", "deploy a self-hosted DevOps platform with CI/CD and k8s support", "unify monitoring, alerting, and task automation across regions"], "what_it_is": "CODO (opendevops) is an open-source, one-stop enterprise operations platform for managing multi-cloud and hybrid cloud environments with automated operations capabilities. It is built as a modular microservices system with a Python Tornado/Golang Gin backend, Vue/React frontends, and an OpenResty+Lua API gateway, deployable via Docker Compose or Kubernetes Helm.", "when_to_avoid": ["you only need a single lightweight tool rather than a full platform", "your stack is not Python/Go based and you prefer another ecosystem", "you require a commercially supported enterprise product with SLAs", "you cannot operate a multi-service deployment with gateway, databases, and micro-frontends"], "when_to_choose": ["you need a self-hosted, fully open-source cloud management and automated ops platform", "your team manages resources across multiple clouds or data centers", "you want modular microservices you can extend or integrate per module", "you want one-click deployment via Docker Compose or Helm on Kubernetes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opendevops", "repo": "opendevops-cn/opendevops", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "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:08:35.540064+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.540064+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:16.798844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e47dbb3669e8e74b8024ad730ceb4736d22a3de44f74af462d590a369c7052c", "fetched_at": "2026-08-28T04:08:35.540064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opendevops-cn/opendevops"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2848, "days_push": 143, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}