{"adoption": {"forks": 157, "observed_at": "2026-08-28T04:03:19.760776+00:00", "stars": 1038}, "canonical_url": "https://ross.abutalabs.com/products/ingress2gateway", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Convert Ingress resources to Gateway API resources", "domain": ["cloud-computing", "infrastructure-as-code"], "enriched": true, "function": ["developer-tools", "configuration-management", "deployment"], "health_score": 95, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["kubernetes-sigs/ingress2gateway"], "name": "kubernetes-sigs/ingress2gateway", "platform": ["cli", "windows", "go"], "pushed_at": "2026-07-07T18:57:16+00:00", "repo": "kubernetes-sigs/ingress2gateway", "stars": 1038, "tags": ["kubernetes", "gateway-api", "ingress", "migration", "resource-conversion", "k8s-sig-network", "devops", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["migrate ingress resources to gateway api", "convert nginx ingress annotations to httproutes", "upgrade kubernetes cluster from ingress to gateway api", "translate istio or traefik ingress CRDs to gateway api manifests", "plan gateway api adoption for existing ingress setup"], "what_it_is": "A Go CLI tool from Kubernetes SIG-Network that converts Ingress resources and provider-specific CRDs into Gateway API resources. It uses a provider/emitter architecture supporting ingress controllers like nginx, istio, kong, and traefik, with emitters for standard Gateway API and projects like Envoy Gateway.", "when_to_avoid": ["your provider or annotations are not in the supported list", "you need a runtime traffic controller rather than a one-time converter", "you expect annotations to be copied verbatim to Gateway API resources"], "when_to_choose": ["you are migrating from Ingress to the Gateway API standard", "you use a supported provider like ingress-nginx, istio, kong, or traefik", "you want an official SIG-Network maintained conversion tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ingress2gateway", "repo": "kubernetes-sigs/ingress2gateway", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "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:19.760776+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.760776+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.308097+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "12aae412724bfdabcc30f6e6aaa0265a4ae824ee6d837fc279b05e91ccf68910", "fetched_at": "2026-08-28T04:03:19.760776+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kubernetes-sigs/ingress2gateway"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1423, "days_push": 57, "days_rel": 57, "gap_med": 60.0, "n_releases_24m": 5}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}