+2
nixos/doc/manual/release-notes/rl-2505.section.md
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](options.html#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.Note: these are intended for users not running a sound server like PulseAudio or PipeWire, but having ALSA as their only sound system.- Caddy can now be built with plugins by using `caddy.withPlugins`, a `passthru` function that accepts an attribute set as a parameter. The `plugins` argument represents a list of Caddy plugins, with each Caddy plugin being a versioned module. The `hash` argument represents the `vendorHash` of the resulting Caddy source code with the plugins added.
···- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](options.html#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.Note: these are intended for users not running a sound server like PulseAudio or PipeWire, but having ALSA as their only sound system.+- `services.k3s` now provides the `autoDeployCharts` option that allows to automatically deploy Helm charts via the k3s Helm controller.- Caddy can now be built with plugins by using `caddy.withPlugins`, a `passthru` function that accepts an attribute set as a parameter. The `plugins` argument represents a list of Caddy plugins, with each Caddy plugin being a versioned module. The `hash` argument represents the `vendorHash` of the resulting Caddy source code with the plugins added.
+479
-139
nixos/modules/services/cluster/k3s/default.nix
+479
-139
nixos/modules/services/cluster/k3s/default.nix
···-name: if (lib.hasSuffix ".yaml" name || lib.hasSuffix ".yml" name) then name else name + ".yaml";linkManifestEntry = m: "${pkgs.coreutils-full}/bin/ln -sfn ${m.source} ${manifestDir}/${m.target}";linkImageEntry = image: "${pkgs.coreutils-full}/bin/ln -sfn ${image} ${imageDir}/${image.name}";-"${pkgs.coreutils-full}/bin/ln -sfn ${value} ${chartDir}/${mkTarget (builtins.baseNameOf name)}";············"k3s: Helm charts are only made available to the cluster on server nodes (role == server), they will be ignored by this node."
···+name: if (lib.hasSuffix ".yaml" name || lib.hasSuffix ".yml" name) then name else name + ".yaml";+pkgs.runCommand (cleanHelmChartName "${lib.removePrefix "https://" repo}-${name}-${version}.tgz")linkManifestEntry = m: "${pkgs.coreutils-full}/bin/ln -sfn ${m.source} ${manifestDir}/${m.target}";linkImageEntry = image: "${pkgs.coreutils-full}/bin/ln -sfn ${image} ${imageDir}/${image.name}";+"${pkgs.coreutils-full}/bin/ln -sfn ${value} ${chartDir}/${mkChartTarget (builtins.baseNameOf name)}";············"k3s: Helm charts are only made available to the cluster on server nodes (role == server), they will be ignored by this node."+"k3s: Auto deploying Helm charts are only installed on server nodes (role == server), they will be ignored by this node."+"k3s: The following auto deploying charts are overriden by manifests of the same name: ${toString duplicateManifests}."+"k3s: The following auto deploying charts are overriden by charts of the same name: ${toString duplicateCharts}."
+135
nixos/tests/k3s/auto-deploy-charts.nix
+135
nixos/tests/k3s/auto-deploy-charts.nix
···
···+advancedManifest = json.loads(machine.succeed("yq -o json 'select(di == 0)' /var/lib/rancher/k3s/server/manifests/advanced.yaml"))+assert advancedManifest["spec"]["timeout"] == "69s", f"unexpected value for spec.timeout: {advancedManifest["spec"]["timeout"]}"+machine.wait_until_succeeds("kubectl -n test wait --for=condition=complete job/advanced", timeout=180)+advanced_output = machine.succeed("kubectl -n test logs -l batch.kubernetes.io/job-name=advanced")+assert hello_output.rstrip() == "Hello, world!", f"unexpected output of hello job: {hello_output}"+assert advanced_output.rstrip() == "advanced hello", f"unexpected output of advanced job: {advanced_output}"
+3
nixos/tests/k3s/default.nix
+3
nixos/tests/k3s/default.nix
···auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
···auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
+24
nixos/tests/k3s/k3s-test-chart/Chart.yaml
+24
nixos/tests/k3s/k3s-test-chart/Chart.yaml
···
···+# Library charts provide useful utilities or functions for the chart developer. They're included as+# a dependency of application charts to inject those utilities and functions into the rendering+# This is the chart version. This version number should be incremented each time you make changes
+14
nixos/tests/k3s/k3s-test-chart/templates/job.yaml
+14
nixos/tests/k3s/k3s-test-chart/templates/job.yaml
···
···