nyl 0.9.3__tar.gz → 0.9.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. nyl-0.9.4/.changelog/0.9.4.toml +7 -0
  2. {nyl-0.9.3 → nyl-0.9.4}/PKG-INFO +1 -1
  3. {nyl-0.9.3 → nyl-0.9.4}/docs/content/changelog.md +8 -0
  4. {nyl-0.9.3 → nyl-0.9.4}/pyproject.toml +1 -1
  5. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/template.py +11 -3
  6. {nyl-0.9.3 → nyl-0.9.4}/uv.lock +1 -1
  7. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.7.0.toml +0 -0
  8. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.7.1.toml +0 -0
  9. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.7.2.toml +0 -0
  10. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.8.0.toml +0 -0
  11. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.8.1.toml +0 -0
  12. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.9.0.toml +0 -0
  13. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.9.1.toml +0 -0
  14. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.9.2.toml +0 -0
  15. {nyl-0.9.3 → nyl-0.9.4}/.changelog/0.9.3.toml +0 -0
  16. {nyl-0.9.3 → nyl-0.9.4}/.envrc +0 -0
  17. {nyl-0.9.3 → nyl-0.9.4}/.github/workflows/docker.yaml +0 -0
  18. {nyl-0.9.3 → nyl-0.9.4}/.github/workflows/docs.yaml +0 -0
  19. {nyl-0.9.3 → nyl-0.9.4}/.github/workflows/python.yaml +0 -0
  20. {nyl-0.9.3 → nyl-0.9.4}/.github/workflows/update-flake-lock.yaml +0 -0
  21. {nyl-0.9.3 → nyl-0.9.4}/.gitignore +0 -0
  22. {nyl-0.9.3 → nyl-0.9.4}/DEPRECATION_NOTICE.md +0 -0
  23. {nyl-0.9.3 → nyl-0.9.4}/README.md +0 -0
  24. {nyl-0.9.3 → nyl-0.9.4}/argocd-cmp/Dockerfile +0 -0
  25. {nyl-0.9.3 → nyl-0.9.4}/argocd-cmp/README.md +0 -0
  26. {nyl-0.9.3 → nyl-0.9.4}/argocd-cmp/plugin.yaml +0 -0
  27. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/.envrc +0 -0
  28. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/.secrets.yaml +0 -0
  29. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/.sops.yaml +0 -0
  30. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/README.md +0 -0
  31. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/argocd.yaml +0 -0
  32. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/nyl-project.yaml +0 -0
  33. {nyl-0.9.3 → nyl-0.9.4}/argocd-with-nyl/nyl-secrets.yaml +0 -0
  34. {nyl-0.9.3 → nyl-0.9.4}/docs/content/index.md +0 -0
  35. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/applysets.md +0 -0
  36. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/argocd-plugin.md +0 -0
  37. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/cluster-connectivity.md +0 -0
  38. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration/environment.md +0 -0
  39. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration/profiles.md +0 -0
  40. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration/projects.md +0 -0
  41. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration/secrets.md +0 -0
  42. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration-api/profiles.md +0 -0
  43. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/configuration-api/secrets.md +0 -0
  44. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/glossary.md +0 -0
  45. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/basics.md +0 -0
  46. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/components.md +0 -0
  47. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/inlining/helmcharts.md +0 -0
  48. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/inlining/overview.md +0 -0
  49. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/inlining/postprocessor.md +0 -0
  50. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/locals.md +0 -0
  51. {nyl-0.9.3 → nyl-0.9.4}/docs/content/reference/templating/secrets.md +0 -0
  52. {nyl-0.9.3 → nyl-0.9.4}/docs/mkdocs.yml +0 -0
  53. {nyl-0.9.3 → nyl-0.9.4}/docs/pyproject.toml +0 -0
  54. {nyl-0.9.3 → nyl-0.9.4}/docs/uv.lock +0 -0
  55. {nyl-0.9.3 → nyl-0.9.4}/example/manifests/postgres.yaml +0 -0
  56. {nyl-0.9.3 → nyl-0.9.4}/example/nyl-profiles.toml +0 -0
  57. {nyl-0.9.3 → nyl-0.9.4}/example/nyl-profiles.yaml +0 -0
  58. {nyl-0.9.3 → nyl-0.9.4}/example/nyl-secrets.yaml +0 -0
  59. {nyl-0.9.3 → nyl-0.9.4}/example/secrets.yaml +0 -0
  60. {nyl-0.9.3 → nyl-0.9.4}/flake.lock +0 -0
  61. {nyl-0.9.3 → nyl-0.9.4}/flake.nix +0 -0
  62. {nyl-0.9.3 → nyl-0.9.4}/nix/uv.nix +0 -0
  63. {nyl-0.9.3 → nyl-0.9.4}/renovate.json +0 -0
  64. {nyl-0.9.3 → nyl-0.9.4}/slap.toml +0 -0
  65. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/README.md +0 -0
  66. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/__init__.pyi +0 -0
  67. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/dynamic/__init__.pyi +0 -0
  68. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/dynamic/client.pyi +0 -0
  69. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/dynamic/discovery.pyi +0 -0
  70. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/dynamic/exceptions.pyi +0 -0
  71. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/dynamic/resource.pyi +0 -0
  72. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/watch/__init__.pyi +0 -0
  73. {nyl-0.9.3 → nyl-0.9.4}/src/kubernetes/watch/watch.pyi +0 -0
  74. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/__init__.py +0 -0
  75. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/__init__.py +0 -0
  76. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/add.py +0 -0
  77. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/argocd.py +0 -0
  78. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/crds.py +0 -0
  79. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/new.py +0 -0
  80. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/profile.py +0 -0
  81. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/run.py +0 -0
  82. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/secrets.py +0 -0
  83. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/tools/__init__.py +0 -0
  84. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/tools/bcrypt.py +0 -0
  85. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/tools/sops.py +0 -0
  86. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/commands/tun.py +0 -0
  87. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/__init__.py +0 -0
  88. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/components.py +0 -0
  89. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/dispatch.py +0 -0
  90. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/dispatch_test.py +0 -0
  91. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/helmchart.py +0 -0
  92. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/helmchart_test.py +0 -0
  93. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/generator/statefulsecret.py +0 -0
  94. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/profiles/__init__.py +0 -0
  95. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/profiles/config.py +0 -0
  96. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/profiles/config_test.py +0 -0
  97. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/profiles/kubeconfig.py +0 -0
  98. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/profiles/tunnel.py +0 -0
  99. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/project/config.py +0 -0
  100. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/__init__.py +0 -0
  101. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/applyset.py +0 -0
  102. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/applyset_test.py +0 -0
  103. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/helmchart.py +0 -0
  104. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/helmchart_test.py +0 -0
  105. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/placeholder.py +0 -0
  106. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/postprocessor.py +0 -0
  107. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/postprocessor_test.py +0 -0
  108. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/resources/statefulsecret.py +0 -0
  109. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/__init__.py +0 -0
  110. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/config.py +0 -0
  111. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/config_test.py +0 -0
  112. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/kubernetes.py +0 -0
  113. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/null.py +0 -0
  114. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/sops.py +0 -0
  115. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/secrets/sops_test.py +0 -0
  116. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/templating.py +0 -0
  117. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/templating_test.py +0 -0
  118. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/di.py +0 -0
  119. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/fs.py +0 -0
  120. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/fs_test.py +0 -0
  121. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/kubectl.py +0 -0
  122. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/kubernetes.py +0 -0
  123. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/kvstore.py +0 -0
  124. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/loads.py +0 -0
  125. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/logging.py +0 -0
  126. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/shell.py +0 -0
  127. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/testing.py +0 -0
  128. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/typer.py +0 -0
  129. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/types.py +0 -0
  130. {nyl-0.9.3 → nyl-0.9.4}/src/nyl/tools/yaml.py +0 -0
  131. {nyl-0.9.3 → nyl-0.9.4}/testdata/helm-test-chart/Chart.yaml +0 -0
  132. {nyl-0.9.3 → nyl-0.9.4}/testdata/helm-test-chart/templates/sa.yaml +0 -0
  133. {nyl-0.9.3 → nyl-0.9.4}/testdata/helm-test-chart/values.yaml +0 -0
  134. {nyl-0.9.3 → nyl-0.9.4}/tests/__init__.py +0 -0
  135. {nyl-0.9.3 → nyl-0.9.4}/tests/conftest.py +0 -0
@@ -0,0 +1,7 @@
1
+ release-date = "2025-04-22"
2
+
3
+ [[entries]]
4
+ id = "296fd4bd-785e-4ca8-bebf-245b770bf1ef"
5
+ type = "fix"
6
+ description = "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."
7
+ author = "@NiklasRosenstein"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nyl
3
- Version: 0.9.3
3
+ Version: 0.9.4
4
4
  Summary: Advanced templating engine for Kubernetes and GitOps.
5
5
  Author-email: Niklas Rosenstein <rosensteinniklas@gmail.com>
6
6
  License: MIT
@@ -1,3 +1,11 @@
1
+ ## 0.9.4 (2025-04-22)
2
+
3
+ <table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
4
+ <tr><td>Fix</td><td>
5
+
6
+ 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.</td><td></td><td></td><td>@NiklasRosenstein</td></tr>
7
+ </table>
8
+
1
9
  ## 0.9.3 (2025-04-22)
2
10
 
3
11
  <table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "nyl"
7
- version = "0.9.3"
7
+ version = "0.9.4"
8
8
  description = "Advanced templating engine for Kubernetes and GitOps."
9
9
  authors = [
10
10
  {name = "Niklas Rosenstein", email = "rosensteinniklas@gmail.com"},
@@ -218,9 +218,17 @@ def template(
218
218
  )
219
219
 
220
220
  # Seed the template engine with the profile values.
221
- vars(template_engine.values).update(
222
- PROVIDER.get(ProfileManager).config.profiles[profile or DEFAULT_PROFILE].values
223
- )
221
+ # If no profile was specified via --profile or ARGOCD_ENV_NYL_PROFILE, we fall back to the default profile.
222
+ # However, if the default profile does not exist, we don't want to raise an error, as this would be a
223
+ # breaking change for users who upgrade Nyl without having a default profile defined.
224
+ # If a profile *was* specified and it doesn't exist, we *do* want to raise an error.
225
+ profile_config = PROVIDER.get(ProfileManager).config.profiles.get(profile or DEFAULT_PROFILE)
226
+ if profile_config is not None:
227
+ vars(template_engine.values).update(profile_config.values)
228
+ elif profile is not None:
229
+ # A profile was explicitly requested, but it doesn't exist. Raise the error.
230
+ raise KeyError(f"Profile '{profile}' not found in nyl-profiles.yaml")
231
+ # else: No profile was requested, and the default profile doesn't exist. Do nothing.
224
232
 
225
233
  # Look for objects that contain local variables and feed them into the template engine.
226
234
  for manifest in source.manifests[:]:
@@ -385,7 +385,7 @@ wheels = [
385
385
 
386
386
  [[package]]
387
387
  name = "nyl"
388
- version = "0.8.1"
388
+ version = "0.9.3"
389
389
  source = { editable = "." }
390
390
  dependencies = [
391
391
  { name = "bcrypt" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes