Nyl
Nyl is a fast Kubernetes manifest generator built in Rust, with Helm-based components, remote manifest support, profile-aware rendering, and ArgoCD integration.
Highlights
- Component-oriented workflow (Helm chart-backed resources)
RemoteManifestresources for HTTPS-hosted YAML/JSON- Jinja2-compatible templating (MiniJinja)
- Profile-based environment config (for example:
dev,staging,prod) render,diff, andapplycommands- ArgoCD integration via CMP container, Helm chart, and
ApplicationGeneratorresource
Quick Start
# install from release (Linux x86_64)
Feature Examples
Component
apiVersion: components.nyl.niklasrosenstein.github.com/v1
kind: example/v1/Nginx
metadata:
name: my-nginx
namespace: default
spec:
replicas: 3
image: nginx:1.25
Render:
RemoteManifest
apiVersion: nyl.niklasrosenstein.github.com/v1
kind: RemoteManifest
metadata:
name: shared-crds
spec:
url: https://example.com/platform/crds.yaml
ArgoCD Bootstrap
Nyl ships ArgoCD integration assets in this repo:
docker/: Nyl CMP container imagechart/: Helm chart to deploy ArgoCD with Nylexamples/argocd-bootstrap/: self-managing ArgoCD bootstrap usingApplicationGenerator
Repository Layout
nyl/: main Rust crate and CLIdocker/: ArgoCD CMP imagechart/: ArgoCD Helm chartexamples/: runnable examples
Docs
- Full docs: https://niklasrosenstein.github.io/nyl/
- CLI and development details: nyl/README.md
- Components guide: nyl/book/src/components/overview.md
License
MIT (see LICENSE).