kubenix/tests/helm/simple.nix

50 lines
1.4 KiB
Nix
Raw Normal View History

{ config, test, kubenix, k8s, helm, ... }:
with k8s;
let
corev1 = config.kubernetes.api.core.v1;
appsv1beta2 = config.kubernetes.api.apps.v1beta2;
in {
imports = [
kubenix.helm
];
test = {
name = "helm-simple";
description = "Simple k8s testing wheter name, apiVersion and kind are preset";
assertions = [{
message = "should have generated resources";
assertion =
2019-02-28 14:06:32 +01:00
appsv1beta2.StatefulSet ? "app-psql-postgresql-master" &&
appsv1beta2.StatefulSet ? "app-psql-postgresql-slave" &&
corev1.ConfigMap ? "app-psql-postgresql-init-scripts" &&
corev1.Secret ? "app-psql-postgresql" &&
corev1.Service ? "app-psql-postgresql-headless" ;
} {
message = "should have values passed";
assertion = appsv1beta2.StatefulSet.app-psql-postgresql-slave.spec.replicas == 2;
} {
message = "should have namespace defined";
assertion =
appsv1beta2.StatefulSet.app-psql-postgresql-master.metadata.namespace == "test-namespace";
}];
};
kubernetes.api.namespaces.test-namespace = {};
kubernetes.helm.instances.app-psql = {
namespace = "test-namespace";
chart = helm.fetch {
chart = "stable/postgresql";
version = "3.0.0";
sha256 = "0icnnpcqvf1hqn7fc9niyifd0amlm9jfrx3iks0y360rk8wndbch";
};
values = {
replication.enabled = true;
replication.slaveReplicas = 2;
};
};
}