December 20, 2025

Click-to-Preview or Click-to-Panic?

Show HN: Chart Preview – Preview environments for Helm charts on every PR

Dev-made tool ends 'human bottleneck'; fans cheer, skeptics balk at price and cluster access

TLDR: An engineer built Chart Preview to auto-spin test sites for every code change to Kubernetes apps, so reviewers can just click and see. Commenters love the time saved, but debate pricing, third‑party access to company servers, and GitHub-only support, asking if shared staging is still “good enough.”

An engineer-turned-“Kubernetes person” launched Chart Preview, a tool that spins up a temporary, safe website for every code change so teammates can click and see it live. Think: no more begging the one expert to test your change. The crowd loved the vibe — the “accidental devops” origin story is a mood — and the pitch is simple: PR (pull request) opens, preview pops, PR closes, it all cleans up. You can try it via the GitHub App here.

But the comments brought the spice. Supporters cheered the time savings and confessed they already hacked together similar setups — with one fan admitting it was a slog to build. The pushback camp came in hot on two fronts: pricing and trust. Skeptics don’t want to hand a third-party the keys to their company’s cluster (the servers where apps run), and some grumbled it’s GitHub‑first while many live on self-hosted GitLab. Others asked if it plays nice with kustomize (another way to configure apps) or GitOps (git-driven deployments), not just Helm (think: app “recipes”).

Humor showed up too: memes about “Congrats, you’re the cluster now,” and sighs about shared staging being “a haunted house.” It’s classic Hacker News energy: builders excited, security hawks circling, and everyone arguing whether this finally kills the endless staging queue.

Key Points

  • Chart Preview automatically deploys Helm chart changes to a real Kubernetes cluster for each PR, provides a unique preview URL, and cleans up on PR close.
  • The tool is Helm-native, addressing chart-specific complexities like dependencies and layered values, rather than adapting generic container preview workflows.
  • Implementation is in Go using the Helm v3 SDK, with an API server and worker architecture backed by a PostgreSQL job queue.
  • Previews are isolated per namespace with deny-all NetworkPolicies, ResourceQuotas, and LimitRanges; services communicate directly with the Kubernetes API (no operator).
  • Challenges solved include safe hostname injection into Ingress resources, full namespace deletion for cleanup, build numbering for rapid pushes, and validation using charts like Grafana, podinfo, and WordPress.

Hottest takes

"It was a lot of work setting that up though." — mrj
"I find the pricing tough and I don't like to give 3rd party tools that level of access to my clusters." — kodama-lens
"Right now it seems to be GH only, a lot of people are on selfhosted GitLab." — kodama-lens
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.