mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
fix tests and examples
This commit is contained in:
parent
80cb43fcea
commit
acd93f0748
8 changed files with 20 additions and 16 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue