finds.dev← search

// the find

carvel-dev/ytt

★ 1,864 · Go · Apache-2.0 · updated Jul 2026

YAML templating tool that works on YAML structure instead of text

ytt is a YAML templating tool that operates on the parsed YAML AST rather than raw text, so you can't accidentally produce malformed YAML by misplacing a quote or botching indentation. It's built around Starlark (the deterministic Python dialect from Bazel) for logic, and overlays for patching third-party YAML you don't own. Squarely aimed at Kubernetes operators who've hit the limits of Helm's text-substitution approach.

The structural templating model is the real win — you get type safety on the YAML structure itself, and the schema validation catches missing or mistyped values before anything reaches a cluster. Overlays are genuinely powerful for the 'I need to patch a Helm chart without forking it' problem that Helm's post-renderer support handles awkwardly. Starlark is a good choice of embedded language: deterministic, no I/O, easy to audit, and familiar enough to Python users that onboarding isn't painful. The online playground with live examples lowers the barrier to experimentation significantly.

The annotation syntax (`#@ if/for/def`) is visually noisy and breaks most YAML editors and linters — you're stuck with the single VSCode extension for syntax highlighting, nothing else understands it. Starlark, while intentionally limited, means you hit walls quickly when you need string manipulation beyond what the ytt stdlib provides. The learning curve from 'I know Helm' to 'I understand overlays' is steeper than the docs acknowledge, and debugging overlay application order when things go wrong produces error messages that require you to already understand the internals. Adoption risk: this is a VMware/Broadcom-originated tool in the Carvel suite, and Broadcom's track record with open-source Kubernetes tooling post-acquisition gives reasonable pause about long-term maintenance commitment.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →