Metadata-Version: 2.4
Name: nyl
Version: 0.7.1
Summary: Advanced templating engine for Kubernetes and GitOps.
Author-email: Niklas Rosenstein <rosensteinniklas@gmail.com>
License: MIT
Requires-Python: >=3.11
Requires-Dist: bcrypt>=4.2.0
Requires-Dist: databind>=4.5.2
Requires-Dist: filelock>=3.15.4
Requires-Dist: jinja2>=3.1.4
Requires-Dist: kubernetes>=30.1.0
Requires-Dist: loguru>=0.7.2
Requires-Dist: nr-stream>=1.1.5
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: requests>=2.32.3
Requires-Dist: stablehash<0.3.0,>=0.2.1
Requires-Dist: structured-templates>=0.1.1
Requires-Dist: typer>=0.12.3
Requires-Dist: typing-extensions>=4.12.2
Description-Content-Type: text/markdown

# nyl

Nyl is a versatile tool for generating Kubernetes manifests from a simple YAML configuration, encouraging
consistent and reusable deployment configurations, project layouts and operational workflows.

## Installation

Requires Python 3.11 or newer.

    $ uvx nyl

For some features, additional programs must be available:

* [kubectl](https://kubernetes.io/de/docs/reference/kubectl/) for most operations
* [kyverno](https://kyverno.io/docs/kyverno-cli/) ^1.13.x when using the Nyl `PostProcessor` resource
* [sops](https://github.com/getsops/sops) when using the SOPS secrets provider

You can install Nyl with Nix to ensure all dependencies are met.

## Local development

Install the project with [Uv](https://docs.astral.sh/uv/).

    $ uv sync

To lint, run

    $ nix flake check

And to format code, run

    $ nix fmt

To build or serve the documentation, run

    $ nix run .#docs serve
    $ nix run .#docs build

respectively.

## Tracking upstream information

* Discussion around ArgoCD supporting Helm lookups (maybe with Project-level service account?), see
  https://github.com/argoproj/argo-cd/issues/5202#issuecomment-2088810772
