Skip to content

Changelog

0.9.4 (2025-04-22)

TypeDescriptionPRIssuesAuthor
Fix Fix previously breaking change that would cause a KeyError when the NYL_PROFILE environment variable was not set in the ArgoCD plugin when the project has no default profile.@NiklasRosenstein

0.9.3 (2025-04-22)

TypeDescriptionPRIssuesAuthor
Feature add support for `ARGOCD_ENV_NYL_PROFILE` environment variable@NiklasRosenstein

0.9.2 (2025-04-22)

TypeDescriptionPRIssuesAuthor
Improvement Introduce new `values` object into templating evaluation namespace, replacing the `locals` object going forward. The `locals` name is still available but will be removed in an upcoming release.@NiklasRosenstein
Feature Allow defining parameters in the "values" of a profile, accessible via `${{ values.PARAM }}` throughout manifest rendering with the profile.@NiklasRosenstein

0.9.1 (2025-04-20)

TypeDescriptionPRIssuesAuthor
Improvement `nyl new component` now includes `metadata.labels` and `metadata.annotations` defaults in the generated `values.yaml`@NiklasRosenstein
Feature Add support for `NYL_ARGS` and `ARGOCD_ENV_NYL_ARGS` environment variables@NiklasRosenstein
Improvement Improve help text of `nyl new component` command@NiklasRosenstein
Improvement `.metadata.labels` set on a `HelmChart` resource now propagate and overwrite labels on the resources it generates (note that this also applies to Nyl components using Helm charts)@NiklasRosenstein

0.9.0 (2025-04-15)

TypeDescriptionPRIssuesAuthor
Feature Add ability to define and use local variables in manifests@NiklasRosenstein
Improvement argocd-cmp: Upgrade ArgoCD from v2.13.1 to v2.14.10@NiklasRosenstein
Improvement argocd-cmp: Upgrade Helm from v3.16.3 to v3.17.3@NiklasRosenstein
Improvement argocd-cmp: Upgrade Sops from v3.9.2 to v3.10.2@NiklasRosenstein
Improvement argocd-cmp: Upgrade Kyverno from 1.13.2 to 1.13.4@NiklasRosenstein

0.8.1 (2025-01-22)

TypeDescriptionPRIssuesAuthor
Fix Remove sneaky `breakpoint()` call in `nyl template`@NiklasRosenstein

0.8.0 (2025-01-22)

TypeDescriptionPRIssuesAuthor
Improvement Further improve on #56 by populating the namespace of resources earlier than later (e.g. before the `HelmChart` gets rendered, instead of only applying it to the resources generated by the `HelmChart` at the end).@NiklasRosenstein

0.7.2 (2025-01-17)

TypeDescriptionPRIssuesAuthor
Feature Add `nyl add namespace` command@NiklasRosenstein
Docs Fix links in docs and add information on how to use the `HelmChart.spec.chart` field@NiklasRosenstein
Feature Add `nyl add chart` command@NiklasRosenstein
Docs Add note to discurage from using `{{ .Release.Namespace }}` in Helm charts@NiklasRosenstein
Breaking change Rename annotation `nyl.io/default-namespace` to `nyl.io/is-default-namespace`@NiklasRosenstein

0.7.1 (2025-01-17)

TypeDescriptionPRIssuesAuthor
Fix Fixed a bug where pulling two different charts with the same version number from the same repository conflated the cache key and ended up with Nyl using the wrong chart (that which has been pulled first).@NiklasRosenstein

0.7.0 (2025-01-17)

TypeDescriptionPRIssuesAuthor
Breaking change Recognize `nyl.io/default-namespace: "true"` on Namespace resources to choose between one of multiple namespaces defined in the same manifest file.@NiklasRosenstein
Breaking change Instead of not assuming a default namespace when multiple `Namespace` resources are defined in a manifest file, pick the first one alphabetically when none have the `nyl.io/default-namespace: "true"` annotation@NiklasRosenstein
Improvement Apply Nyl `PostProcessor` instructions at the end, after Nyl had a chance to fill in the manifest file's determined default namespace. Kyverno might add the `namespace: default` field to any resource that has no namespace set, making it impossbile for Nyl after the fact to tell which resources need to have their namespace injected.@NiklasRosenstein
Fix Update `PostProcessor`, pointing Kyverno to a directory and expecting it to output all manifest, not just the mutated ones. The `PostProcessor` is now invoked at the very end, even after Nyl patches resources with the default namespace in the current manifest file.@NiklasRosenstein
Fix fix #57 -- `ARGOCD_APP_NAMESPACE` and the `--default-namespace` option are used now only when no namespace is defined in the manifest file@NiklasRosenstein
Improvement Resources generated by the Nyl `HelmChart` resource now get the chart resource's `metadata.namespace` populated before they are passed up and inlined into the rest of the manifest. Fixes #56@NiklasRosenstein
Improvement Fix deprecation warnings of using the `loguru.logger.opt(ansi)` keyword argument and use the new `colors` kwarg instead@NiklasRosenstein
Feature Add `PostProcessor.spec.kyvernoRules` field as a shorthand for defining Kyverno policies in a Nyl manifest.@NiklasRosenstein
Refactor Refactor `PostProcessor` implementation for generating policy files and invoking Kyverno@NiklasRosenstein
Improvement `PostProcessor` log for invoking Kyverno now lists the policy file paths that are going to be applied@NiklasRosenstein
Fix `nyl new chart` now generates 2-space indented YAML and has a more complete templateNiklasRosenstein/nyl#47@NiklasRosenstein