chore(deps): update dependency arnarg/nixidy to v0.22.0 #30

Merged
martin merged 1 commit from renovate/arnarg-nixidy-0.x into main 2026-06-20 08:50:52 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
arnarg/nixidy minor v0.21.0v0.22.0

Release Notes

arnarg/nixidy (arnarg/nixidy)

v0.22.0

Compare Source

Inspect your resource types right from the CLI - #​12

Ever wished you had kubectl api-resources and kubectl explain, but for the resource types your nixidy environment actually knows about? Now you do. Meet nixidy resources:


# List every resource type registered for the environment.
>> nixidy resources .#prod
RESOURCE                            VERSION     GROUP                            KIND
mutatingWebhookConfigurations       v1          admissionregistration.k8s.io     MutatingWebhookConfiguration
validatingWebhookConfigurations     v1          admissionregistration.k8s.io     ValidatingWebhookConfiguration
customResourceDefinitions           v1          apiextensions.k8s.io             CustomResourceDefinition

# ...

And it drills right down into nested options, CRD-generated ones included:

>> nixidy resources .#prod ciliumNetworkPolicies.spec.endpointSelector
ciliumNetworkPolicies.spec.endpointSelector <null or (submodule)>

DESCRIPTION:
    EndpointSelector selects all endpoints which should be subject to
    this rule. EndpointSelector and NodeSelector cannot be both empty and
    are mutually exclusive.

FIELDS:
  matchExpressions  <null or (list of (submodule))>
    matchExpressions is a list of label selector requirements. The requirements are ANDed.

  matchLabels  <null or (attribute set of (string))>
    matchLabels is a map of {key,value} pairs...

Works with both the Nix/flake and devenv build backends. No more guessing what attrName a CRD landed under!

Keep your locally-defined charts up to date - #​2 #​77

If you've been vendoring charts with mkChartAttrs, keeping their versions and hashes fresh was a manual chore. Well, no more! Each chart now carries an updateScript in its passthru, and the new mkChartsUpdateScript wraps your whole chart tree into one runnable updater. Expose it as a flake app:

{
  outputs = { self, nixpkgs, flake-utils, nixidy, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs { inherit system; };
        inherit (pkgs) lib;
      in {
        apps.updateCharts = {
          type = "app";
          program = lib.getExe (nixidy.packages.${system}.mkChartsUpdateScript
            (nixidy.packages.${system}.mkChartAttrs ./charts));
        };
      });
}

And then run:

nix run .#updateCharts

It walks every chart, resolves the latest upstream version, recomputes the hash, and rewrites each default.nix in place.

Want to keep a chart version constrained? Two optional fields in a chart's default.nix have you covered:

  • versionConstraint: a semver range (e.g. ">=4.7.0 <5.0.0", "4.7.x") passed to helm show chart --version, so the updater sticks to the latest matching release rather than jumping majors on you.
  • freeze: set to true and the updater skips that chart entirely, for the ones you want pinned by hand.

See the new Updating Charts docs.

Improvements

  • Generators, neatly split in two. The pkgs/generators package was reorganized into a sources/ half (acquiring k8s sources, CRDs and chart CRDs) and a compile/ half (turning schemas into option modules), with default.nix reduced to just the wiring between them. No behavior change, just a tidier house. @​sini #​103
  • One source of truth for object intake & filenames. A trio of duplicated concerns across the application modules now each live in a single place, so they can't drift out of sync: the GVK-based resources/objects split (partitionObjects), the <Kind>-<dashed-name> filename stem (objectBaseName), and the nixidy.k8sVersion enum (now derived from the generated modules actually on disk). @​sini #​101

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [arnarg/nixidy](https://github.com/arnarg/nixidy) | minor | `v0.21.0` → `v0.22.0` | --- ### Release Notes <details> <summary>arnarg/nixidy (arnarg/nixidy)</summary> ### [`v0.22.0`](https://github.com/arnarg/nixidy/releases/tag/v0.22.0) [Compare Source](https://github.com/arnarg/nixidy/compare/v0.21.0...v0.22.0) #### Inspect your resource types right from the CLI - [#&#8203;12](https://github.com/arnarg/nixidy/issues/12) Ever wished you had `kubectl api-resources` and `kubectl explain`, but for the resource types *your nixidy environment* actually knows about? Now you do. Meet `nixidy resources`: ```sh # List every resource type registered for the environment. >> nixidy resources .#prod RESOURCE VERSION GROUP KIND mutatingWebhookConfigurations v1 admissionregistration.k8s.io MutatingWebhookConfiguration validatingWebhookConfigurations v1 admissionregistration.k8s.io ValidatingWebhookConfiguration customResourceDefinitions v1 apiextensions.k8s.io CustomResourceDefinition # ... ``` And it drills right down into nested options, CRD-generated ones included: ```sh >> nixidy resources .#prod ciliumNetworkPolicies.spec.endpointSelector ciliumNetworkPolicies.spec.endpointSelector <null or (submodule)> DESCRIPTION: EndpointSelector selects all endpoints which should be subject to this rule. EndpointSelector and NodeSelector cannot be both empty and are mutually exclusive. FIELDS: matchExpressions <null or (list of (submodule))> matchExpressions is a list of label selector requirements. The requirements are ANDed. matchLabels <null or (attribute set of (string))> matchLabels is a map of {key,value} pairs... ``` Works with both the Nix/flake and devenv build backends. No more guessing what `attrName` a CRD landed under! #### Keep your locally-defined charts up to date - [#&#8203;2](https://github.com/arnarg/nixidy/issues/2) [#&#8203;77](https://github.com/arnarg/nixidy/issues/77) If you've been vendoring charts with `mkChartAttrs`, keeping their versions and hashes fresh was a manual chore. Well, no more! Each chart now carries an `updateScript` in its `passthru`, and the new `mkChartsUpdateScript` wraps your whole chart tree into one runnable updater. Expose it as a flake app: ```nix title="flake.nix" { outputs = { self, nixpkgs, flake-utils, nixidy, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; inherit (pkgs) lib; in { apps.updateCharts = { type = "app"; program = lib.getExe (nixidy.packages.${system}.mkChartsUpdateScript (nixidy.packages.${system}.mkChartAttrs ./charts)); }; }); } ``` And then run: ```sh nix run .#updateCharts ``` It walks every chart, resolves the latest upstream version, recomputes the hash, and rewrites each `default.nix` in place. Want to keep a chart version constrained? Two optional fields in a chart's `default.nix` have you covered: - **`versionConstraint`**: a semver range (e.g. `">=4.7.0 <5.0.0"`, `"4.7.x"`) passed to `helm show chart --version`, so the updater sticks to the latest matching release rather than jumping majors on you. - **`freeze`**: set to `true` and the updater skips that chart entirely, for the ones you want pinned by hand. See the new [Updating Charts](https://nixidy.dev/user_guide/using_nixhelm/#updating-charts) docs. #### Improvements - **Generators, neatly split in two.** The `pkgs/generators` package was reorganized into a `sources/` half (acquiring k8s sources, CRDs and chart CRDs) and a `compile/` half (turning schemas into option modules), with `default.nix` reduced to just the wiring between them. No behavior change, just a tidier house. [@&#8203;sini](https://github.com/sini) [#&#8203;103](https://github.com/arnarg/nixidy/issues/103) - **One source of truth for object intake & filenames.** A trio of duplicated concerns across the application modules now each live in a single place, so they can't drift out of sync: the GVK-based `resources`/`objects` split (`partitionObjects`), the `<Kind>-<dashed-name>` filename stem (`objectBaseName`), and the `nixidy.k8sVersion` enum (now derived from the generated modules actually on disk). [@&#8203;sini](https://github.com/sini) [#&#8203;101](https://github.com/arnarg/nixidy/issues/101) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update dependency arnarg/nixidy to v0.22.0
All checks were successful
ci/woodpecker/pr/switch Pipeline was successful
314ab45e4b
martin force-pushed renovate/arnarg-nixidy-0.x from 314ab45e4b
All checks were successful
ci/woodpecker/pr/switch Pipeline was successful
to b533366daf
Some checks failed
ci/woodpecker/pr/switch Pipeline was canceled
2026-06-20 08:50:38 +00:00
Compare
martin merged commit b533366daf into main 2026-06-20 08:50:52 +00:00
martin deleted branch renovate/arnarg-nixidy-0.x 2026-06-20 08:50:52 +00:00
Sign in to join this conversation.
No reviewers
No labels
automerge
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
martin/cluster!30
No description provided.