nixos/k3s: add test for airgap images import
Add a nixos test that imports the airgap images archive and checks whether all expected images are successfully loaded by k3s.
This commit is contained in:
parent
eeacf85fb9
commit
3ac993566c
@ -351,12 +351,16 @@ in
|
||||
sha256 = "0imblp0kw9vkcr7sp962jmj20fpmb3hvd3hmf4cs4x04klnq3k90";
|
||||
finalImageTag = "21.1.2-debian-11-r0";
|
||||
})
|
||||
|
||||
config.services.k3s.package.airgapImages
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
List of derivations that provide container images.
|
||||
All images are linked to {file}`${imageDir}` before k3s starts and consequently imported
|
||||
by the k3s agent. This option only makes sense on nodes with an enabled agent.
|
||||
by the k3s agent. Consider importing the k3s airgap images archive of the k3s package in
|
||||
use, if you want to pre-provision this node with all k3s container images. This option
|
||||
only makes sense on nodes with an enabled agent.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -5,28 +5,26 @@ import ../make-test-python.nix (
|
||||
name = "${k3s.name}-airgap-images";
|
||||
meta.maintainers = lib.teams.k3s.members;
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# k3s uses enough resources the default vm fails.
|
||||
virtualisation.memorySize = 1536;
|
||||
virtualisation.diskSize = 4096;
|
||||
nodes.machine = _: {
|
||||
# k3s uses enough resources the default vm fails.
|
||||
virtualisation.memorySize = 1536;
|
||||
virtualisation.diskSize = 4096;
|
||||
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
role = "server";
|
||||
package = k3s;
|
||||
# Slightly reduce resource usage
|
||||
extraFlags = [
|
||||
"--disable coredns"
|
||||
"--disable local-storage"
|
||||
"--disable metrics-server"
|
||||
"--disable servicelb"
|
||||
"--disable traefik"
|
||||
];
|
||||
images = [ k3s.airgapImages ];
|
||||
};
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
role = "server";
|
||||
package = k3s;
|
||||
# Slightly reduce resource usage
|
||||
extraFlags = [
|
||||
"--disable coredns"
|
||||
"--disable local-storage"
|
||||
"--disable metrics-server"
|
||||
"--disable servicelb"
|
||||
"--disable traefik"
|
||||
];
|
||||
images = [ k3s.airgapImages ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
@ -7,6 +7,9 @@ let
|
||||
allK3s = lib.filterAttrs (n: _: lib.strings.hasPrefix "k3s_" n) pkgs;
|
||||
in
|
||||
{
|
||||
airgap-images = lib.mapAttrs (
|
||||
_: k3s: import ./airgap-images.nix { inherit system pkgs k3s; }
|
||||
) allK3s;
|
||||
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
|
||||
etcd = lib.mapAttrs (
|
||||
_: k3s:
|
||||
|
Loading…
Reference in New Issue
Block a user