Merge pull request #177790 from superherointj/package-k3s-1.24.1+k3s1
k3s: 1.23.6+k3s1 -> 1.24.1+k3s1main
commit
5d54641d7f
@ -1,84 +0,0 @@ |
||||
import ./make-test-python.nix ({ pkgs, ... }: |
||||
|
||||
let |
||||
imageEnv = pkgs.buildEnv { |
||||
name = "k3s-pause-image-env"; |
||||
paths = with pkgs; [ tini (hiPrio coreutils) busybox ]; |
||||
}; |
||||
pauseImage = pkgs.dockerTools.streamLayeredImage { |
||||
name = "test.local/pause"; |
||||
tag = "local"; |
||||
contents = imageEnv; |
||||
config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ]; |
||||
}; |
||||
# Don't use the default service account because there's a race where it may |
||||
# not be created yet; make our own instead. |
||||
testPodYaml = pkgs.writeText "test.yml" '' |
||||
apiVersion: v1 |
||||
kind: ServiceAccount |
||||
metadata: |
||||
name: test |
||||
--- |
||||
apiVersion: v1 |
||||
kind: Pod |
||||
metadata: |
||||
name: test |
||||
spec: |
||||
serviceAccountName: test |
||||
containers: |
||||
- name: test |
||||
image: test.local/pause:local |
||||
imagePullPolicy: Never |
||||
command: ["sh", "-c", "sleep inf"] |
||||
''; |
||||
in |
||||
{ |
||||
name = "k3s"; |
||||
meta = with pkgs.lib.maintainers; { |
||||
maintainers = [ euank ]; |
||||
}; |
||||
|
||||
nodes.machine = { pkgs, ... }: { |
||||
environment.systemPackages = with pkgs; [ k3s gzip ]; |
||||
|
||||
# k3s uses enough resources the default vm fails. |
||||
virtualisation.memorySize = 1536; |
||||
virtualisation.diskSize = 4096; |
||||
|
||||
services.k3s = { |
||||
enable = true; |
||||
role = "server"; |
||||
docker = true; |
||||
# Slightly reduce resource usage |
||||
extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local"; |
||||
}; |
||||
|
||||
users.users = { |
||||
noprivs = { |
||||
isNormalUser = true; |
||||
description = "Can't access k3s by default"; |
||||
password = "*"; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
testScript = '' |
||||
start_all() |
||||
|
||||
machine.wait_for_unit("k3s") |
||||
machine.succeed("k3s kubectl cluster-info") |
||||
machine.fail("sudo -u noprivs k3s kubectl cluster-info") |
||||
# FIXME: this fails with the current nixos kernel config; once it passes, we should uncomment it |
||||
# machine.succeed("k3s check-config") |
||||
|
||||
machine.succeed( |
||||
"${pauseImage} | docker load" |
||||
) |
||||
|
||||
machine.succeed("k3s kubectl apply -f ${testPodYaml}") |
||||
machine.succeed("k3s kubectl wait --for 'condition=Ready' pod/test") |
||||
machine.succeed("k3s kubectl delete -f ${testPodYaml}") |
||||
|
||||
machine.shutdown() |
||||
''; |
||||
}) |
Loading…
Reference in new issue