I ported Kubernetes to the browser

(ngrok.com)

96 points | by peterdemin 1 hour ago

15 comments

  • dinkleberg 1 hour ago
    This is cool. As someone who has authored Kubernetes educational content in a past role, I can definitely see the appeal of building something like this. iirc we first used Katacoda and then used some other similar platform and they were very useful since they spun up a fresh instance on the fly for each user with a specific setup.

    Though it seems like right now this is probably better for conceptual/architectural education. The real fun is when you start learning to master kubectl.

    • throw2ih020 58 minutes ago
      Yeah, in a past role this would have been awesome for diagrams to explain how the control plane works, illustrating the degradation and failure modes, or comparing different architectures/ways to deploy onto k8s/
  • duncangh 1 hour ago
    Investing early in this hn post before it’s a banger. Instant classic
  • raychis 1 hour ago
    First thing is first, this is really cool. This feels like the right way to frame LLM-assisted engineering. AI can generate a shocking amount of code, but the actual value is in the review discipline, and tests around it. The browser Kubernetes angle is cool, but what I find more interesting is the workflow, and especially testing behaviour against k8s instead of just trusting “looks right.” I do wonder how many teams are already doing this level of verification for AI-written code. It might be the direction everyone goes in over the next few years.
    • ambicapter 1 hour ago
      I mean this is a specific case where you literally have a spec to code against. Not all coding endeavors have that opportunity, unfortunately.
      • kridsdale1 46 minutes ago
        For a lot of us, the spec is Product Market Fit and Profit Dollars.
  • malisper 32 minutes ago
    A meta-trend I find interesting is there's a lot of projects using AI to rewrite existing systems in new programming languages. Most often in Rust.

      1. Bun rewritten in Rust
      2. Flow rewritten in Rust
      3. The react compiler was rewritten in Rust
      4. Grit is a new implementation of Git in Rust
      5. I've made my own rust rewrite of postgres that passes 100% of the regression and isolation tests[0][1]
    
    I think AI changed the economics of these projects even more than it has the economics for software engineering work in general. Though direct AI code translation is usually slop for me.

    One of the many things I did to deal with this was an audit skill that would:

      1. Find a small chunk of code to rewrite
      2. Have a list of things that it was looking for in each piece of code that's being rewritten
      3. Place that next to the code being translated
      4. If that document didn't exist and/or didn't say the code was passing the audit, code wouldn't be merged
      5. As I found problems and anti-patterns I would add those to the skill over time
    
    This by itself still let a lot of slop slip through, but also preemptively caught a ton of issues as part of my overall process.

    Complicated old "boring" infra software might actually be the most AI-rewriteable code right now

    [0] https://pgrust.com

    [1] https://github.com/malisper/pgrust

    • luka2233 19 minutes ago
      +1 CC helped me finally shipped a Rust project I had been sleeping on for years.
  • mcapodici 51 minutes ago
    This is awesome. Wish I had the idea first. I see this as a fun learning and experimental tool.

    For a while I have wanted to make a web page where you can do service load balancing and queuing simulations so this would be a great basis for it.

  • jaggederest 1 hour ago
    Perhaps to anticipate the multiple jokes about kube complexity, I think there's an interesting argument to make that something like kube is the necessary complexity level for the kinds of tasks that kube is intended to accomplish, ala Fred Brooks' rule about essential complexity vs accidental complexity.

    Kube rapidly becomes accidental complexity when you use it to accomplish things that could be done more simply, of course.

  • sighansen 1 hour ago
    I wonder if stuff like this will also be created when token costs explode.
    • kridsdale1 45 minutes ago
      Yes, because you can buy infinity tokens for $10,000 with hardware.
  • artisin 41 minutes ago
    There's even a blog/article write-up with a more succinct demo of Kubernetes: https://ngrok.com/blog/i-ported-kubernetes-to-the-browser

       > Is this just slop?
       > Almost all of the webernetes code was authored by LLMs
       > ...
       > I did two things that I think make this a slop-free project:
       > 1. I reviewed every line of code.
       > 2. I created hundreds of tests that assert webernetes behaves the same as a real cluster.
    
    edit: added the slop-free remarks
  • postalrat 1 hour ago
    wasm should be the "image" type for webernetes
  • doctoboggan 1 hour ago
    Interesting project and (possibly more) interesting explanation of the development process. I agree with the author that the primary difference between vibe slop and real engineering is just reading the lines of code. However it does feel like we are just on the cusp of only needing to read the tests and _not_ all the lines of code. Maybe a few more model generations and we will be there.
  • ianeff 1 hour ago
    This is great!
  • frizlab 33 minutes ago
    And now for a fun game with this: try and delete all the pods!
  • bogota 1 hour ago
    [dead]
  • lstodd 1 hour ago
    Please port Kubernetes to common house flies so that they drop dead out of all the unnecessary overhead. That would be helpful.
    • bryanrasmussen 1 hour ago
      what will we port to the spiders whose population will otherwise surely explode?