fix tests and examples

This commit is contained in:
Jaka Hudoklin 2020-01-14 19:13:33 +00:00
parent 80cb43fcea
commit acd93f0748
No known key found for this signature in database
GPG key ID: D1F18234B07BD6E2
8 changed files with 20 additions and 16 deletions

View file

@ -26,11 +26,11 @@ rec {
# nixos test script for running the test # nixos test script for running the test
test-script = config.testing.testsByName.nginx-deployment.test; test-script = config.testing.testsByName.nginx-deployment.test;
# hashed kubernetes List object # genreated kubernetes List object
result = k8s.mkHashedList { items = config.kubernetes.objects; }; generated = config.kubernetes.generated;
# YAML file you can deploy to kubernetes # JSON file you can deploy to kubernetes
yaml = toYAML k8s-result; result = config.kubernetes.result;
# Exported docker images # Exported docker images
images = config.docker.export; images = config.docker.export;

View file

@ -10,7 +10,7 @@ with lib;
description = "Test testing nginx deployment"; description = "Test testing nginx deployment";
testScript = '' testScript = ''
$kube->waitUntilSucceeds("docker load < ${config.docker.images.nginx.image}"); $kube->waitUntilSucceeds("docker load < ${config.docker.images.nginx.image}");
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}"); $kube->waitUntilSucceeds("kubectl apply -f ${config.kubernetes.result}");
$kube->succeed("kubectl get deployment | grep -i nginx"); $kube->succeed("kubectl get deployment | grep -i nginx");
$kube->waitUntilSucceeds("kubectl get deployment -o go-template nginx --template={{.status.readyReplicas}} | grep 10"); $kube->waitUntilSucceeds("kubectl get deployment -o go-template nginx --template={{.status.readyReplicas}} | grep 10");

View file

@ -55,7 +55,7 @@ in {
$kube->waitUntilSucceeds("docker load < ${postgresql}"); $kube->waitUntilSucceeds("docker load < ${postgresql}");
$kube->waitUntilSucceeds("docker load < ${postgresqlExporter}"); $kube->waitUntilSucceeds("docker load < ${postgresqlExporter}");
$kube->waitUntilSucceeds("docker load < ${minideb}"); $kube->waitUntilSucceeds("docker load < ${minideb}");
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}"); $kube->waitUntilSucceeds("kubectl apply -f ${config.kubernetes.result}");
$kube->waitUntilSucceeds("PGPASSWORD=postgres ${pkgs.postgresql}/bin/psql -h app-psql-postgresql.test.svc.cluster.local -U postgres -l"); $kube->waitUntilSucceeds("PGPASSWORD=postgres ${pkgs.postgresql}/bin/psql -h app-psql-postgresql.test.svc.cluster.local -U postgres -l");
''; '';
}; };
@ -67,7 +67,8 @@ in {
kubernetes.helm.instances.app-psql = { kubernetes.helm.instances.app-psql = {
namespace = "test"; namespace = "test";
chart = helm.fetch { chart = helm.fetch {
chart = "stable/postgresql"; repo = "https://kubernetes-charts.storage.googleapis.com/";
chart = "postgresql";
version = "3.0.0"; version = "3.0.0";
sha256 = "06dkn4fgvgqr27hcnbbax1ylvr4sld3rcmy1w5kanljsajbph57m"; sha256 = "06dkn4fgvgqr27hcnbbax1ylvr4sld3rcmy1w5kanljsajbph57m";
}; };

View file

@ -22,7 +22,7 @@ in {
assertion = latestCrontab.apiVersion == "stable.example.com/v2"; assertion = latestCrontab.apiVersion == "stable.example.com/v2";
}]; }];
testScript = '' testScript = ''
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}"); $kube->waitUntilSucceeds("kubectl apply -f ${config.kubernetes.result}");
$kube->succeed("kubectl get crds | grep -i crontabs"); $kube->succeed("kubectl get crds | grep -i crontabs");
$kube->succeed("kubectl get crontabs | grep -i versioned"); $kube->succeed("kubectl get crontabs | grep -i versioned");
$kube->succeed("kubectl get crontabs | grep -i latest"); $kube->succeed("kubectl get crontabs | grep -i latest");

View file

@ -31,7 +31,7 @@ in {
services.kubernetes.kubelet.seedDockerImages = config.docker.export; services.kubernetes.kubelet.seedDockerImages = config.docker.export;
}; };
testScript = '' testScript = ''
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}"); $kube->waitUntilSucceeds("kubectl apply -f ${config.kubernetes.result}");
$kube->succeed("kubectl get deployment | grep -i nginx"); $kube->succeed("kubectl get deployment | grep -i nginx");
$kube->waitUntilSucceeds("kubectl get deployment -o go-template nginx --template={{.status.readyReplicas}} | grep 10"); $kube->waitUntilSucceeds("kubectl get deployment -o go-template nginx --template={{.status.readyReplicas}} | grep 10");

View file

@ -41,6 +41,7 @@ in {
name = "crontabs"; name = "crontabs";
description = "CronTabs resources"; description = "CronTabs resources";
attrName = "cronTabs";
group = "stable.example.com"; group = "stable.example.com";
version = "v1"; version = "v1";
kind = "CronTab"; kind = "CronTab";

View file

@ -16,14 +16,15 @@ in {
test = { test = {
name = "legacy-crd"; name = "legacy-crd";
description = "Simple test tesing kubenix legacy integration with crds crd"; description = "Simple test tesing kubenix legacy integration with crds crd";
enable = builtins.compareVersions config.kubernetes.version "1.13" >= 0;
assertions = [{ assertions = [{
message = "should define claim in module"; message = "should define crd in module";
assertion = assertion =
hasObject {kind = "SecretClaim"; name = "secret-claim";}; hasObject {kind = "SecretClaim"; name = "module-claim";};
} { } {
message = "should define claim in root"; message = "should define crd in root";
assertion = assertion =
hasObject {kind = "SecretClaim"; name = "my-claim";}; hasObject {kind = "SecretClaim"; name = "root-claim";};
}]; }];
}; };
@ -92,11 +93,12 @@ in {
}; };
}; };
kubernetes.modules.secret-claim = { kubernetes.modules.module-claim = {
module = "secret-claim";
configuration.path = "tokens/test"; configuration.path = "tokens/test";
}; };
kubernetes.customResources.secret-claims.my-claim = { kubernetes.customResources.secret-claims.root-claim = {
spec = { spec = {
path = "secrets/test2"; path = "secrets/test2";
}; };

View file

@ -23,7 +23,7 @@ in {
}]; }];
testScript = '' testScript = ''
$kube->waitUntilSucceeds("docker load < ${images.nginx}"); $kube->waitUntilSucceeds("docker load < ${images.nginx}");
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}"); $kube->waitUntilSucceeds("kubectl apply -f ${config.kubernetes.result}");
$kube->succeed("kubectl get deployment -n test | grep -i test-nginx"); $kube->succeed("kubectl get deployment -n test | grep -i test-nginx");
$kube->waitUntilSucceeds("kubectl get deployment -n test -o go-template test-nginx --template={{.status.readyReplicas}} | grep 1"); $kube->waitUntilSucceeds("kubectl get deployment -n test -o go-template test-nginx --template={{.status.readyReplicas}} | grep 1");