{"slug": "cdk8s", "name": "cdk8s", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "", "recommenders": 3, "commenters": 4, "warners": 1, "score": 1.687, "rising": -0.98, "first": "2025-11-13", "latest": "2026-02-19", "why": "I use cdk8s for my homelab and absolutely love it. 100% recommend.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 1}, "spark": [1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I use cdk8s for my homelab and absolutely love it. 100% recommend.", "kind": "", "icon": true, "domain": "cdk8s.io", "github_repo": null, "official_url": "https://cdk8s.io", "pricing": "", "aliases": ["cdk8s"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 753350272, "item_id": 47084392, "url": "https://news.ycombinator.com/item?id=47084392", "by": "shepherdjerred", "date": "2026-02-19", "version": null, "stance": "recommend", "quote": "I use cdk8s for my homelab and absolutely love it. 100% recommend.", "excerpt": "I use cdk8s for my homelab and absolutely love it. 100% recommend. Homelab CDKs: https://github.com/shepherdjerred/monorepo/tree/main/packages/homelab/src/cdk8s Script I wrote to generate types from Helm charts: https://github.com/shepherdjerred/monorepo/tree/main/packages/homelab/src/helm-types", "context": "homelab user", "use_case": "homelab Kubernetes config", "switched_from": "", "story": "Almost Every infrastructure decision I endorse or regret after 4 years"}, {"id": 753347504, "item_id": 47084219, "url": "https://news.ycombinator.com/item?id=47084219", "by": "jauntywundrkind", "date": "2026-02-19", "version": null, "stance": "recommend", "quote": "cdk8s is also a very solid clear & clean way to do kubernetes too", "excerpt": "If you're any good at all at CDK, it's cdk8s is also a very solid clear & clean way to do kubernetes too. https://cdk8s.io/ I'm trying to make the decision for where to go with my home lab, and while Pulumi and Cue look neat, cdk8s seems so predictable & has such clear structure & form to it. That's said the l1/l2/l3 distinction can be a brute to deal with. There's significant hidden complexity there.", "context": "Choosing infra tooling for a home lab", "use_case": "Kubernetes config in code", "switched_from": "", "story": "Almost Every infrastructure decision I endorse or regret after 4 years"}, {"id": 734783681, "item_id": 45923980, "url": "https://news.ycombinator.com/item?id=45923980", "by": "fjsdkfjwjd", "date": "2025-11-13", "version": null, "stance": "recommend", "quote": "I like pulumi (iff typescript) and cdk8s.", "excerpt": "I like pulumi (iff typescript) and cdk8s. terraform with helm/kubernetes/kubectl providers is hit or miss. But I love it for simple things. For hairy things I will want full TypeScript with Pulumi.", "context": "", "use_case": "Kubernetes config", "switched_from": "", "story": "Helm 4.0"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 740225313, "item_id": 46264082, "url": "https://news.ycombinator.com/item?id=46264082", "by": "diarrhea", "date": "2025-12-14", "version": null, "stance": "warn", "quote": "The mental model of e.g. cdk8s is massively more complex", "excerpt": "> just another kind of complex? To some extent yes. If all you have is 2 GitHub Actions YAML files you are not going to reap massive benefits. I'm a big fan of CUE myself. The benefits compound as you need to output more and more artifacts (= YAML config). Think of several k8s manifests, several GitHub Actions files, e.g. for building across several combinations of OSes, settings, etc. CUE strikes a really nice balan", "context": "", "use_case": "", "switched_from": "", "story": "Dagger: Define software delivery workflows and dev environments"}]}], "who": [{"by": "shepherdjerred", "context": "homelab user", "url": "https://news.ycombinator.com/item?id=47084392", "date": "2026-02-19"}, {"by": "jauntywundrkind", "context": "Choosing infra tooling for a home lab", "url": "https://news.ycombinator.com/item?id=47084219", "date": "2026-02-19"}], "tags": [], "use_cases": ["homelab kubernetes config", "kubernetes config in code", "kubernetes config"], "compared": [{"slug": "pulumi", "name": "Pulumi", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "terraform", "name": "Terraform", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47043345", "title": "Almost Every infrastructure decision I endorse or regret after 4 years", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46202624", "title": "Dagger: Define software delivery workflows and dev environments", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45902604", "title": "Helm 4.0", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"warn": 1}, "2026-01": {}, "2026-02": {"recommend": 2}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "quotes": [{"id": 753350272, "item_id": 47084392, "url": "https://news.ycombinator.com/item?id=47084392", "by": "shepherdjerred", "date": "2026-02-19", "version": null, "stance": "recommend", "quote": "I use cdk8s for my homelab and absolutely love it. 100% recommend.", "excerpt": "I use cdk8s for my homelab and absolutely love it. 100% recommend. Homelab CDKs: https://github.com/shepherdjerred/monorepo/tree/main/packages/homelab/src/cdk8s Script I wrote to generate types from Helm charts: https://github.com/shepherdjerred/monorepo/tree/main/packages/homelab/src/helm-types", "context": "homelab user", "use_case": "homelab Kubernetes config", "switched_from": "", "story": "Almost Every infrastructure decision I endorse or regret after 4 years"}, {"id": 753347504, "item_id": 47084219, "url": "https://news.ycombinator.com/item?id=47084219", "by": "jauntywundrkind", "date": "2026-02-19", "version": null, "stance": "recommend", "quote": "cdk8s is also a very solid clear & clean way to do kubernetes too", "excerpt": "If you're any good at all at CDK, it's cdk8s is also a very solid clear & clean way to do kubernetes too. https://cdk8s.io/ I'm trying to make the decision for where to go with my home lab, and while Pulumi and Cue look neat, cdk8s seems so predictable & has such clear structure & form to it. That's said the l1/l2/l3 distinction can be a brute to deal with. There's significant hidden complexity there.", "context": "Choosing infra tooling for a home lab", "use_case": "Kubernetes config in code", "switched_from": "", "story": "Almost Every infrastructure decision I endorse or regret after 4 years"}, {"id": 740225313, "item_id": 46264082, "url": "https://news.ycombinator.com/item?id=46264082", "by": "diarrhea", "date": "2025-12-14", "version": null, "stance": "warn", "quote": "The mental model of e.g. cdk8s is massively more complex", "excerpt": "> just another kind of complex? To some extent yes. If all you have is 2 GitHub Actions YAML files you are not going to reap massive benefits. I'm a big fan of CUE myself. The benefits compound as you need to output more and more artifacts (= YAML config). Think of several k8s manifests, several GitHub Actions files, e.g. for building across several combinations of OSes, settings, etc. CUE strikes a really nice balan", "context": "", "use_case": "", "switched_from": "", "story": "Dagger: Define software delivery workflows and dev environments"}, {"id": 734783681, "item_id": 45923980, "url": "https://news.ycombinator.com/item?id=45923980", "by": "fjsdkfjwjd", "date": "2025-11-13", "version": null, "stance": "recommend", "quote": "I like pulumi (iff typescript) and cdk8s.", "excerpt": "I like pulumi (iff typescript) and cdk8s. terraform with helm/kubernetes/kubectl providers is hit or miss. But I love it for simple things. For hairy things I will want full TypeScript with Pulumi.", "context": "", "use_case": "Kubernetes config", "switched_from": "", "story": "Helm 4.0"}]}