macOS
brew install namllocal Homebrew formula metadata
brew
Convert Kubernetes YAML to Golang. Version 1.0.3 via Homebrew; verified from local package data.
install
brew install namllocal Homebrew formula metadata
overview
Convert Kubernetes YAML to Golang
history
naml, short for Not Another Markup Language, is Kris Nova's Go tool for converting Kubernetes YAML into Go code and treating Kubernetes applications as compiled Go programs.
The repository was created on 2021-06-12. The README frames naml as both a Go library and a CLI for developing and deploying Kubernetes applications, replacing YAML with raw Go so users can rely on Go syntax highlighting, cross-compiling, code generation, documentation, tests, and the Kubernetes client libraries.
The project moved quickly toward a 1.0 release in 2021. GitHub releases show v0.3.0 as the YAML release on 2021-08-20, v0.4.0 as a deployable release candidate on 2021-11-20, v1.0.0 on 2021-11-21, and v1.0.3 on 2021-11-24.
naml had attention in the Kubernetes developer niche but not broad package-manager usage. Repository metadata consulted on 2026-07-01 showed 1,261 GitHub stars and 36 forks, while Homebrew listed 74 installs over the prior 365 days.
Its significance is tied to a recurring Kubernetes argument: whether YAML should be generated, templated, or replaced by typed code. naml chose the typed-code side, using existing Kubernetes Go APIs rather than inventing another runtime templating system.
The README's main workflow is `cat deploy.yaml | naml codify > main.go`, then `naml build -o app`, then running the generated application to emit YAML, install, or uninstall resources. It can also convert all objects in a namespace from `kubectl get all -n default -o yaml`.
Package nerds use naml as a translator and experiment harness: take existing manifests, turn them into formatted Go that implements a Deployable interface, inspect the generated Kubernetes objects, and decide whether code-backed deployment makes sense for a project.
naml is not the default Kubernetes packaging path; Helm, Kustomize, Jsonnet, CUE, CDK8s, and Pulumi cover adjacent ground. Its value is historical and practical: it captures the 2021 wave of 'YAML fatigue' in a small Go-native tool.
security posture
infrastructure mutation or orchestration signal.
orange risk · medium confidence · infrastructure
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
naml | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/krisnova/naml
install metadata
| Package key | brew:naml |
|---|---|
| Version | 1.0.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/naml |
| Homepage | https://github.com/krisnova/naml |
| Repository | https://github.com/krisnova/naml |
| Upstream docs | https://github.com/krisnova/naml#readme |
| License | Apache-2.0 |
| Source archive | https://github.com/krisnova/naml/archive/refs/tags/v1.0.3.tar.gz |
| Dependencies | go |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | naml |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.