1{ system ? builtins.currentSystem, pkgs ? import <nixpkgs> { inherit system; } }:
2with import ./base.nix { inherit system; };
3let
4 domain = "my.zyx";
5 certs = import ./certs.nix { externalDomain = domain; kubelets = ["machine1" "machine2"]; };
6 kubeconfig = pkgs.writeText "kubeconfig.json" (builtins.toJSON {
7 apiVersion = "v1";
8 kind = "Config";
9 clusters = [{
10 name = "local";
11 cluster.certificate-authority = "${certs.master}/ca.pem";
12 cluster.server = "https://api.${domain}";
13 }];
14 users = [{
15 name = "kubelet";
16 user = {
17 client-certificate = "${certs.admin}/admin.pem";
18 client-key = "${certs.admin}/admin-key.pem";
19 };
20 }];
21 contexts = [{
22 context = {
23 cluster = "local";
24 user = "kubelet";
25 };
26 current-context = "kubelet-context";
27 }];
28 });
29
30 base = {
31 name = "e2e";
32 inherit domain certs;
33 test = ''
34 $machine1->succeed("e2e.test -kubeconfig ${kubeconfig} -provider local -ginkgo.focus '\\[Conformance\\]' -ginkgo.skip '\\[Flaky\\]|\\[Serial\\]'");
35 '';
36 };
37in {
38 singlenode = mkKubernetesSingleNodeTest base;
39 multinode = mkKubernetesMultiNodeTest base;
40}