[{"data":1,"prerenderedAt":389},["ShallowReactive",2],{"project-45656952":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":45,"post_text":46,"what":47,"said":99,"maker_in_thread":213,"shape":224,"grid":228,"attempts":348,"same_week":353,"maker_shows":34,"maker_hidden":381,"reader_version":382,"card":383},"45656952","Katakate","Dozens of VMs per node for safe code exec","title","Show HN: Katakate – Dozens of VMs per node for safe code exec","https:\u002F\u002Fgithub.com\u002FKatakate\u002Fk7","github.com","gbxk",1761060145,2025,124,53,603,3837,16,"notable","infrastructure","self-hosted vm orchestration","cli",[24,25,26,27,28],"sandbox code execution","firecracker vms","kata containers","kubernetes sandbox","safe code execution","mixed",-0.032,{"positive":32,"neutral":33,"mixed":34,"critical":35},3,6,1,5,15,{"idea":38,"execution":40,"privacy":42,"design":43,"pricing":44},{"positive":34,"critical":39},2,{"positive":34,"critical":41},0,{"positive":41,"critical":39},{"positive":41,"critical":34},{"positive":34,"critical":41},[32,41,41,32,41,41,32,41,41,41,41,41,41,41,41,41,34,41,34,41,41,34,41,35,34,41,41,32,41,32,35,41,41,35,34,41,41,32,41,32],"I've built this to make it easy to host your own infra for lightweight VMs at large scale.\n\nIntended for exec of AI-generated code, for CICD runners, or for off-chain AI DApps. Mainly to avoid Docker-in-Docker dangers and mess.\n\nSuper easy to use with CLI \u002F Python SDK, friendly to AI engs who usually don't like to mess with VM orchestration and networking too much.\n\nDefense-in-depth philosophy.\n\nWould love to get feedback (and contributors: clear & exciting roadmap!), thx",{"problem":48,"audience":54,"pricing":58,"motivation":59,"time_to_build":58,"stack":63,"openness":96,"stage":97,"team_size":98},{"value":49,"source":50,"evidence":51},"Running untrusted AI-generated code safely without Docker-in-Docker risks","maker",[52],{"id":53},"post",{"value":55,"source":50,"evidence":56},"AI engineers and CI\u002FCD runner operators",[57],{"id":53},null,{"value":60,"source":50,"evidence":61},"Make it easy to host own infra for lightweight VMs at scale",[62],{"id":53},[64,73,79,86,92],{"value":65,"source":50,"evidence":66},"Kubernetes (K3s)",[67,70],{"id":68,"by":11,"text":69},"45659145","Actually you can! After you run \"k7 install\" you'll have a k3s cluster up and running, with Kata as a runtime class, and Firecracker specified in Kata config. So nothing prevents…",{"id":71,"by":11,"text":72},"45666785","Thanks! Yes: Katakate provides much stronger isolation, since it uses hardware virtualization (via Kata Containers and Firecracker) while gVisor relies purely on software…",{"value":74,"source":50,"evidence":75},"Kata Containers",[76],{"id":77,"by":11,"text":78},"45666579","Katakate is built on top of Kata, and sets up a stack combining Kubernetes (K3s), Kata, Firecracker, and devmapper snapshotter for thin pool provisioning. Combining these tools…",{"value":80,"source":50,"evidence":81},"Firecracker",[82,83],{"id":68,"by":11,"text":69},{"id":84,"by":11,"text":85},"45658623","No business model short-term. My goal is broad adoption, 100% open-source. By multi-node I mean so far I only support 1 k8s node, i.e. 1 machine, but soon adding support for…",{"value":87,"source":50,"evidence":88},"Python",[89],{"id":90,"by":11,"text":91},"45666827","Thanks! I'll review Arrakis and come back. E2B is often considered harder to setup and less AI engineers friendly for direct stack contributions, as Katakate is the only…",{"value":93,"source":50,"evidence":94},"Ansible",[95],{"id":77,"by":11,"text":78},"open_source","beta","unknown",{"praise":100,"objections":124,"requests":145,"questions":170,"alternatives":186},[101,114],{"value":102,"source":103,"evidence":104},"Strong isolation via hardware virtualization and clean Python\u002FK8s design","commenter",[105,109,113],{"id":106,"by":107,"text":108},"45658355","alexeldeib","as someone in the space this ticks a lot of boxes: kubernetes-native, strong isolation, python sdk (ideal for ML scenarios). devmapper is a nice ootb approach. Glancing at the…",{"id":110,"by":111,"text":112},"45660670","Bnjoroge","Great project. There's been multiple approaches\u002Ftools in the space(top of my head I can think of e2b, arrakis, claude's new tool). how is this different?",{"id":90,"by":11,"text":91},{"value":115,"source":103,"evidence":116},"Maker responsive to security feedback, fixed DNS exfiltration default",[117,121],{"id":118,"by":119,"text":120},"45662690","srcreigh","> One thing I could do is make it exposed in config, to allow the user to block all DNS resolutions until Cilium is integrated. LMK if desired! Yes, but it's not great for it to…",{"id":122,"by":11,"text":123},"45710003","Test passed, PR merged",[125,132,139],{"value":126,"source":103,"evidence":127},"No business model; maker worried about future rug-pull",[128],{"id":129,"by":130,"text":131},"45659219","yjftsjthsd-h","> No business model short-term. My goal is broad adoption, 100% open-source. IMHO that's kind of a red flag. There's a happy path here where it's successful but stays…",{"value":133,"source":103,"evidence":134},"Default DNS allowance enables data exfiltration",[135,138],{"id":136,"by":119,"text":137},"45661487","``` name: project-build image: alpine:latest namespace: default egress_whitelist: - \"1.1.1.1\u002F32\" # Cloudflare DNS - \"8.8.8.8\u002F32\" # Google DNS ``` This is basically a wide-open…",{"id":118,"by":119,"text":120},{"value":140,"source":50,"evidence":141},"Only works on Linux with KVM, not cloud or Mac ARM initially",[142],{"id":143,"by":11,"text":144},"45658498","(sorry I didn't reply in-thread, I'm new to HN, re-posting response here:) Exactly! The main local requirement is to have hardware virtualization available (e.g. \u002Fdev\u002Fkvm) but…",[146,153,160],{"value":147,"source":103,"evidence":148},"Kubernetes CRD or native API support instead of CLI",[149],{"id":150,"by":151,"text":152},"45659109","empath75","This seems like an amazing stack that ticks a lot of boxes for me, but I really dislike cli or a custom api as the UX for this and would prefer to manage all of this with CRDs so…",{"value":154,"source":103,"evidence":155},"Local-first sandboxing support",[156],{"id":157,"by":158,"text":159},"45657697","mentalgear","I would really like to see a good local sandboxing solution in this space, something that is truly local-first. This is especially important since many coding models \u002F agentic…",{"value":161,"source":103,"evidence":162},"TEE or side-channel protection",[163,167],{"id":164,"by":165,"text":166},"45659517","elric","Are there any such solutions that can adequately protect against side-channel attacks (à la rowhammer, meltdown, spectre, ...)? I mean protecting local file access and network…",{"id":168,"by":11,"text":169},"45659610","That's an interesting direction! TEE support would be relatively straightforward with current stack (and it's on my roadmap), so that could be a first step forward.",[171,179],{"value":172,"source":103,"evidence":173},"How is it different from E2B, Arrakis, or gVisor",[174,175],{"id":110,"by":111,"text":112},{"id":176,"by":177,"text":178},"45665429","re_spond","Looks like an interesting project. Do you have any comments on how it is different from running gVisor?",{"value":180,"source":103,"evidence":181},"Does it run on cloud VMs with nested virtualization",[182],{"id":183,"by":184,"text":185},"45658539","ofrzeta","There are some providers that offer KVM nested virtualization, I think Google Cloud, Digital Ocean ... any others?",[187,195,199,206],{"value":188,"source":103,"evidence":189},"E2B",[190,191],{"id":110,"by":111,"text":112},{"id":192,"by":193,"text":194},"45661981","bigwheels","Is this basically an open-source DIY version of E2B? If so, cool! AFAICT E2B is open-source licensed but tricky to setup.",{"value":196,"source":103,"evidence":197},"gVisor",[198],{"id":176,"by":177,"text":178},{"value":200,"source":103,"evidence":201},"Apple containers",[202],{"id":203,"by":204,"text":205},"45662480","_false","What about this: https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer",{"value":207,"source":103,"evidence":208},"Anthropic sandbox-runtime",[209],{"id":210,"by":211,"text":212},"45658204","dloss","Anthropic recently released a sandboxing tool based on bubblewrap (Linux, quite lightweight) and sandbox-exec (macOS). https:\u002F\u002Fgithub.com\u002Fanthropic-experimental\u002Fsandbox-runtime I…",{"comments":214,"answered":215,"key":216},26,9,[217,220,221],{"id":218,"text":219},"45658509","wow that's super new! Thanks for that, will look deeply into it and compare",{"id":143,"text":144},{"id":222,"text":223},"45658639","True! GCP does. I haven't tested it yet. I didn't know D.O does. If anyone knows others, I'm interested too!",{"commenters":225,"max_depth":33,"maker_replies":214,"first_comment_mins":226,"lifespan_hours":227},23,60,113,[229,231,233,235,237,238,239,242,244,246,247,251,253,255,258,261,262,264,267,269,272,274,276,278,279,282,284,285,287,289,291,293,295,297,300,303,305,306,307,309,310,313,316,318,322,324,329,331,334,336,339,340,345],[157,41,32,230,158,41],"project\u002Fneutral\u002Fidea",[210,41,41,232,211,41],"other\u002Fneutral\u002Fnone",[218,41,41,234,11,34],"maker\u002Fpositive\u002Fnone",[143,41,41,236,11,34],"project\u002Fneutral\u002Fexecution",[183,41,32,236,184,41],[222,41,41,236,11,34],[240,41,41,232,241,41],"45661910","eyberg",[243,41,41,234,11,34],"45666616",[164,41,32,245,165,41],"project\u002Fneutral\u002Fprivacy",[168,41,41,245,11,34],[248,41,41,249,250,41],"45659728","commenter\u002Fneutral\u002Fprivacy","ATechGuy",[252,41,41,249,165,41],"45660139",[254,41,41,249,250,41],"45660552",[256,41,41,232,257,41],"45661176","mkagenius",[259,41,41,260,11,34],"45666715","project\u002Fneutral\u002Fnone",[203,41,41,232,204,41],[263,41,41,260,11,34],"45666610",[265,41,41,232,266,41],"45662484","sshine",[268,41,41,234,11,34],"45666618",[270,41,41,232,271,41],"45666374","kernc",[273,41,41,234,11,34],"45666721",[136,34,34,275,119,41],"project\u002Fcritical\u002Fprivacy",[277,34,41,245,11,34],"45661641",[118,34,34,275,119,41],[280,34,41,281,11,34],"45666712","project\u002Fpositive\u002Fprivacy",[283,34,41,281,11,34],"45686198",[122,34,41,281,11,34],[150,39,34,286,151,41],"project\u002Fcritical\u002Fdesign",[68,39,41,288,11,34],"project\u002Fneutral\u002Fdesign",[290,39,41,288,11,34],"45659189",[106,32,35,292,107,41],"project\u002Fpositive\u002Fexecution",[84,32,41,294,11,34],"maker\u002Fneutral\u002Fnone",[129,32,34,296,130,41],"maker\u002Fcritical\u002Fidea",[298,32,41,299,11,34],"45659393","maker\u002Fneutral\u002Fidea",[301,302,41,234,11,34],"45660617",4,[304,35,41,292,11,34],"45710010",[110,33,32,230,111,41],[90,33,41,230,11,34],[176,308,32,230,177,41],7,[71,308,41,230,11,34],[192,311,35,312,193,41],8,"project\u002Fpositive\u002Fidea",[314,311,41,232,315,41],"45662039","ushakov",[317,311,41,232,193,41],"45662730",[319,215,35,320,321,41],"45666030","project\u002Fpositive\u002Fpricing","ygouzerh",[323,215,41,294,11,34],"45666597",[325,326,34,327,328,41],"45659530",10,"project\u002Fcritical\u002Fidea","ed_mercer",[330,326,41,230,11,34],"45659581",[332,326,41,232,333,41],"45662856","innanet-worker",[335,326,41,234,11,34],"45666581",[337,338,32,230,315,41],"45662155",11,[77,338,41,288,11,34],[341,342,32,343,344,41],"45660087",12,"project\u002Fmixed\u002Fidea","whalesalad",[346,342,41,347,11,34],"45660211","project\u002Fneutral\u002Fperformance",[349,352],{"id":350,"t":351,"points":34,"comments":41},"45412630",1759147238,{"id":4,"t":12,"points":14,"comments":15},[354,359,364,368,372,376],{"id":355,"name":356,"points":357,"category":358},"45617948","detective",318,"games",{"id":360,"name":361,"points":362,"category":363},"45633453","Duck-UI",213,"dev_tools",{"id":365,"name":366,"points":367,"category":363},"45642911","Playwright Skill",189,{"id":369,"name":370,"points":371,"category":358},"45609478","Abstract Board Games",180,{"id":373,"name":374,"points":375,"category":363},"45645120","I created a cross-platform GUI for the JJ VCS (Git compatible)",140,{"id":377,"name":378,"points":379,"category":380},"45604013","Modshim",109,"languages",false,"v2",{"id":384,"name":5,"line":6,"ai":381,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":385,"top":18,"kw":386,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":387,"url":9,"mix":388,"praise":102,"objection":126,"sub":21},45656952,-0.03,[24,25,26,27,28],"3003003000000000101001051003035005100303",[32,33,34,35],1794036684468]