Show HN: KubeForge – A GUI for Kubernetes YAMLs

49 rakeda 16 8/1/2025, 2:30:59 AM github.com ↗
Hey HN,

I'm Brandon, a solo dev, and I built KubeForge - a visual editor for Kubernetes deployments that helps you build and validate YAML configs.

Origin Story: Over the past couple weeks, I got fed up manually writing Kubernetes YAMLs, especially when working with nested structures like containers, env, and volumeMounts. Even small typos or misaligned fields added lost time to broken deploys.

So I started hacking together a tool to visualize the structure of Kubernetes objects based on the OpenAPI schema. That prototype quickly turned into a full manifest builder.

What KubeForge does:

- Pulls the latest Kubernetes OpenAPI schema (auto-updated daily)

- Generates field-level forms with type safety, required fields, and smart defaults

- Lets you visually build manifests like a flow editor

- Outputs clean, deploy-ready YAML, with multi-object exports

Personally, I wanted a tool that:

- Validates fields as I build, not after deployment

- Surfaces nested fields, tooltips, and types without switching tabs

- Lets me export or share real YAMLs easily

Try it out:

GitHub: https://github.com/kubenote/KubeForge

Live demo: https://demo.kubefor.ge

Website: https://kubefor.ge

It’s free and open source. I’d love feedback, bug reports, or ideas. Contributions welcome too .

Thanks, Brandon

Comments (16)

tonnydourado · 59m ago
Looking half the way there to fulfill my wishlist for a perfect kubernetes tool. Showing resources as a graph is a big plus but I'd like to also see:

1. Minimizing nodes into just a name, to get a view of just relationships between resources 2. Auto-organizing the graph. You're already warning about overlapping nodes, might as well give me a way to automatically fix it. 3. Reading existing resources from a cluster

3, in particular, is kind of a whole other type of tool, to view/debug existing infra, instead of creating it, but the UI has the right shape to do that extremely well, too.

I agree with other comments that adding a default example to the demo would be nice. I imported this manifest, and it worked pretty well: https://github.com/kubernetes/examples/blob/master/guestbook...

vanillax · 7h ago
Right now, requiring users to understand every field in a deployment manifest feels unnecessarily complex. Since Kubernetes YAML is already quite straightforward to copy, paste, and modify from examples, the added cognitive load of deciphering each field may not provide proportional value—especially when the same manifests can be generated more efficiently.

What would be far more valuable is a feature that lets users import a Helm chart URL directly into the UI, then visualize and interact with the chart’s values in an intuitive way—no need to dig through documentation. Being able to explore, modify, and export the values in a user-friendly interface would save significant time and reduce friction, especially when working with complex or unfamiliar charts.

In short: instead of manually parsing YAML or hunting through Helm docs, a visual, interactive view of Helm values—especially when tied to a chart URL—would be a game-changer for productivity and usability.

Edmond · 1h ago
An object graph solution perhaps? : https://codesolvent.com/configr/

You can go from data format (yaml,json,xml, property file...etc) to object graph and the reverse.

boilerupnc · 7h ago
A few years back, I had an idea for a K8s YAML explainer. In the spirit of XSLT transforms on XML, you would run your K8s yaml against an explainer file and generate a document that provided visualizations, interpretative text alongside the define values and an explanation about the field, its purpose, suggestions and some best practices about the field. Used the idea to write my first rust CLI. I was heading towards using it for Helm, but never got to it.
rakeda · 6h ago
Thank you for the insight, for the initial version I wanted something that laid down the groundwork for defined schemas. I also wanted to make sure that I handled data conversion from yaml -> json object -> yaml correctly.

I love the idea to be able to import helm url's (and possibly edit + rehost), the next features are going to be around naming required/most used fields for simplification and decluttering the node components, and adding in support for helm and kustomize with template variables.

Was there anything else that you noticed that you would like to see or anything that you saw that you enjoyed?

sprior · 5h ago
I just saw this and created a quick deployment to my k3s installation. I created deployment.yaml, service.yaml, and ingress.yaml. I've got a few things already set up like wildcard DNS, cert-manager, and homepage so I've got a few extras in these files and kubeforge is already showing up in my homepage and deployed with https.

I ran into errors when I tried to download the schema, but then it suddenly started working, not sure why.

My first impression is that even with a high resolution laptop screen you're going to end up doing a lot of zooming in and out even for trivial deployments.

I imported the directory where I created those 3 yaml files and now have 3 connected boxes for the ingress, two for the deployment, and three for the service, but no interconnections between those three groups. It would be nice if the labels were cross connected between those groups, even better if when you were creating those groups from scratch you could specify the labels on one side then draw the edge connecting them and the label would get filled in on the other side and even get updated when one side changes. For example if I created a deployment with app.kubernetes.io/name of kubeforge and then was able to create the service object and link the edge and have that label connect.

rakeda · 5h ago
There is a lot to unpack here! Thank you for the feedback!

1. For the errors on downloading the schema, that is something that I need to bake through and improve. (https://github.com/kubenote/KubeForge/issues/5)

2. To minimalize scrolling around for deployments I want to incorporate a "minimize" feature on nodes so that users can free up space on the graph. (https://github.com/kubenote/KubeForge/issues/6)

3. Interconnectivity is built in but currently only with inline data on nodes. Adding the capability to object refs does make sense. In the future I also want to create generic "string nodes" as a first pass at templating via the node graph. (https://github.com/kubenote/KubeForge/issues/7)

Thank you for kicking the tires and giving me feedback on how to improve! Did you find the concept refreshing? And what would you like to see in it for it to be something that you would actively use?

zelphirkalt · 2h ago
Maybe we should just use JSON files and convert them to YAML files before usage. No mistake of indentation possible and also does not allow "programming" inside the configuration shenanigans.
tgmatt · 8h ago
Looks pretty neat. Would be nice if you could point it at a cluster to view deployed applications somehow to see what is defined and what _could_ be defined, but aren't.
rakeda · 5h ago
I have a extended future roadmap, depending on what the community would like to see, but adding in deployment from the ui and cluster management/analytics is also on there. However that goes a bit beyond my current skillset, so I wanted to launch small and build.

Are there any other features that you felt are missing or that you think would complement KubeForge?

almaight · 4h ago
This is the generator demo of k8s I made before. https://k8s-generator.vercel.app/
DazWilkin · 8h ago
Well done!

Having user-challenges with kubefor.ge.

Clicked "Deployment" and then tried "Create metadata node" but it errors:

Missing config in qA_PQ-QAe8tznselScKge Node qA_PQ-QAe8tznselScKge has no values configured.

And:

Overlapping Nodes Node "deployment" overlaps with "undefined".

rakeda · 6h ago
Thank you! I'll double check the schema objects for metadata node, most likely some issues with how I have it defined.

For the overlapping nodes, I'll also throw an issue for both of those in GH :)

Did you like anything in particular or have a feature in mind that would make this better to you?

--- edit ---

For the metadata node warning, it was stating that the node is created but does not have values inside of it.

--- edit 2 ---

resolved the get.kubefor.ge/latest issue with: https://github.com/kubenote/KubeForge/issues/1 and removed undefined + improved warnings with: https://github.com/kubenote/KubeForge/issues/2

DazWilkin · 7h ago
Same behavior when I run the container locally.

Issues with `get.kubefor.ge/latest`:

Manifest does not match provided manifest digest sha256:a4d6b4a9513289be1c1349afff46f7c87a5ac8513cbd8b66de350f26442d14bf

Works with:

ghcr.io/kubenote/kubeforge:latest

get.kubefor.ge@sha256:a4d6b4a9513289be1c1349afff46f7c87a5ac8513cbd8b66de350f26442d14bf

anotherhue · 5h ago
Open with a demo deployment, let the user import over that. Right now you've got a cold-start problem.
rakeda · 5h ago
Created the issue, there is was a bit of a design flaw preventing me from doing this off the bat, but I do think it is important and would expedite understanding from the demo. Thank you!

https://github.com/kubenote/KubeForge/issues/4

Please let me know if there are any features you enjoy or if there is something you would like to see added!