{"adoption": {"forks": 197, "observed_at": "2026-08-28T04:08:24.152787+00:00", "stars": 3846}, "canonical_url": "https://ross.abutalabs.com/products/gitkube", "card": {"archived": false, "artifact_type": "infra-config", "description": "Build and deploy docker images to Kubernetes using git push", "domain": ["cloud-computing", "developer-tools"], "enriched": true, "function": ["deployment", "ci-cd", "container-orchestration", "developer-tools"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["hasura/gitkube"], "name": "hasura/gitkube", "platform": ["cli", "go"], "pushed_at": "2023-08-31T07:48:24+00:00", "repo": "hasura/gitkube", "stars": 3846, "tags": ["git-push-deploy", "gitops", "docker-build", "kubernetes-crd", "continuous-deployment", "devops", "containers", "kubernetes", "docker"], "topics": ["kubernetes", "git", "docker", "continuous-deployment", "ci-cd", "k8s", "golang", "developer-tools"], "urls": [], "use_cases": ["deploy docker images to kubernetes with git push", "set up git push based continuous deployment", "push a wip branch to a dev cluster to test changes", "build and deploy containers without a full ci pipeline", "implement git-based automation on a kubernetes cluster", "multi-tenant namespace-scoped deployments via ssh keys"], "what_it_is": "Gitkube is a Kubernetes tool that builds and deploys Docker images to a cluster simply by running `git push` to a configured git remote. It uses a custom Remote CRD and controller to handle SSH-key authentication, image building, and deployment updates.", "when_to_avoid": ["you need a full-featured CI/CD pipeline with tests, approvals, and complex workflows", "you want GitOps with declarative repo sync like Argo CD or Flux", "the project appears minimally maintained, with the latest release in 2023", "you deploy to serverless or non-Kubernetes targets"], "when_to_choose": ["you want dead-simple git push deploys to kubernetes for development", "you only have git and kubectl and want no extra dependencies", "you need namespace-based multi-tenancy with ssh key auth and RBAC", "your repo structure is nonstandard and you want no assumptions about it"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gitkube", "repo": "hasura/gitkube", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "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:24.152787+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.152787+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:00.734373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c1b8bbcbc2b5b304c507ceabe69cafcca38f4bff91e06c9762d3b90514ff63a", "fetched_at": "2026-08-28T04:08:24.152787+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hasura/gitkube"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3100, "days_push": 1098, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}