{"adoption": {"forks": 584, "observed_at": "2026-08-28T04:03:26.198631+00:00", "stars": 1062}, "canonical_url": "https://ross.abutalabs.com/products/voilet-cmdb", "card": {"archived": false, "artifact_type": "application", "description": "cmdb saltstack", "domain": ["infrastructure-as-code", "self-hosted"], "enriched": true, "function": ["configuration-management", "monitoring", "auth", "logging", "web-framework"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["voilet/cmdb"], "name": "voilet/cmdb", "platform": ["python", "self-hosted"], "pushed_at": "2024-08-19T07:54:21+00:00", "repo": "voilet/cmdb", "stars": 1062, "tags": ["cmdb", "saltstack", "django", "asset-management", "it-operations", "audit-logging", "devops", "automation", "web-server", "linux"], "topics": ["cmdb", "python", "django", "saltstack"], "urls": [], "use_cases": ["manage it asset inventory with a cmdb", "run saltstack commands from a web ui", "track server assets and internal ip usage", "audit operations logs and user actions", "monitor http and mysql services", "manage project release deployments"], "what_it_is": "A Django-based CMDB (Configuration Management Database) web application with integrated SaltStack UI for IT asset management. It provides asset tracking, user permission management, audit logging, monitoring, and project release modules for operations teams.", "when_to_avoid": ["you need modern Python 3 support or active development", "you use Ansible or other config management instead of SaltStack", "you want a lightweight asset tracker without a full Django deployment"], "when_to_choose": ["you need a self-hosted CMDB paired with SaltStack automation", "your team runs Python 2.7-era Django stacks and wants asset plus audit tracking", "you want an open-source ops portal covering assets, monitoring, and releases"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/voilet-cmdb", "repo": "voilet/cmdb", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "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:03:26.198631+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.198631+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.188776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4bb852d8603b0e57601fe95b3fb00e465a8a8a533a9f3e51203c2eb7d3e15365", "fetched_at": "2026-08-28T04:03:26.198631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/voilet/cmdb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3684, "days_push": 744, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}