mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 16:10:05 +01:00
feat(helm): implement simple e2e test
This commit is contained in:
parent
142fca3546
commit
1b32ca7bbd
1 changed files with 51 additions and 4 deletions
|
|
@ -1,10 +1,33 @@
|
||||||
{ config, test, kubenix, k8s, helm, ... }:
|
{ config, lib, test, pkgs, kubenix, k8s, helm, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
with k8s;
|
with k8s;
|
||||||
|
with pkgs.dockerTools;
|
||||||
|
|
||||||
let
|
let
|
||||||
corev1 = config.kubernetes.api.core.v1;
|
corev1 = config.kubernetes.api.core.v1;
|
||||||
appsv1beta2 = config.kubernetes.api.apps.v1beta2;
|
appsv1beta2 = config.kubernetes.api.apps.v1beta2;
|
||||||
|
|
||||||
|
postgresql = pullImage {
|
||||||
|
imageName = "docker.io/bitnami/postgresql";
|
||||||
|
imageDigest = "sha256:16485a9b19696958ab7259e0d2c3efa0ef7f300b6fd1beb13a6643e120970a05";
|
||||||
|
sha256 = "0hqdkpk7s3wcy5qsy6dzgzqc0rbpavpghly350p97j1janxbyhc7";
|
||||||
|
finalImageTag = "10.7.0";
|
||||||
|
};
|
||||||
|
|
||||||
|
postgresqlExporter = pullImage {
|
||||||
|
imageName = "docker.io/wrouesnel/postgres_exporter";
|
||||||
|
imageDigest = "sha256:dd8051322ceb8995d3d7f116041a2116815e01e88232a90f635ebde8dcc4d3f4";
|
||||||
|
sha256 = "09mva5jx1g4v47s4lr1pkpfzzmxc7z9dnajfizffm3rxwl0qzjji";
|
||||||
|
finalImageTag = "v0.4.7";
|
||||||
|
};
|
||||||
|
|
||||||
|
minideb = pullImage {
|
||||||
|
imageName = "docker.io/bitnami/minideb";
|
||||||
|
imageDigest = "sha256:363011b4ad5308e7f2aee505b80730cbaadf9d41ff87879403f567dd98cfb5cf";
|
||||||
|
sha256 = "1vfyfdhmgidi7hc8kjflpq91vkzdqi9sj78g51ci8nyarclr808q";
|
||||||
|
finalImageTag = "latest";
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
kubenix.helm
|
kubenix.helm
|
||||||
|
|
@ -27,14 +50,21 @@ in {
|
||||||
} {
|
} {
|
||||||
message = "should have namespace defined";
|
message = "should have namespace defined";
|
||||||
assertion =
|
assertion =
|
||||||
appsv1beta2.StatefulSet.app-psql-postgresql-master.metadata.namespace == "test-namespace";
|
appsv1beta2.StatefulSet.app-psql-postgresql-master.metadata.namespace == "test";
|
||||||
}];
|
}];
|
||||||
|
testScript = ''
|
||||||
|
$kube->waitUntilSucceeds("docker load < ${postgresql}");
|
||||||
|
$kube->waitUntilSucceeds("docker load < ${postgresqlExporter}");
|
||||||
|
$kube->waitUntilSucceeds("docker load < ${minideb}");
|
||||||
|
$kube->waitUntilSucceeds("kubectl apply -f ${toYAML config.kubernetes.generated}");
|
||||||
|
$kube->waitUntilSucceeds("PGPASSWORD=postgres ${pkgs.postgresql}/bin/psql -h app-psql-postgresql.test.svc.cluster.local -U postgres -l");
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
kubernetes.api.namespaces.test-namespace = {};
|
kubernetes.api.namespaces.test = {};
|
||||||
|
|
||||||
kubernetes.helm.instances.app-psql = {
|
kubernetes.helm.instances.app-psql = {
|
||||||
namespace = "test-namespace";
|
namespace = "test";
|
||||||
chart = helm.fetch {
|
chart = helm.fetch {
|
||||||
chart = "stable/postgresql";
|
chart = "stable/postgresql";
|
||||||
version = "3.0.0";
|
version = "3.0.0";
|
||||||
|
|
@ -42,8 +72,25 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
values = {
|
values = {
|
||||||
|
image = {
|
||||||
|
repository = "bitnami/postgresql";
|
||||||
|
tag = "10.7.0";
|
||||||
|
pullPolicy = "IfNotPresent";
|
||||||
|
};
|
||||||
|
volumePermissions.image = {
|
||||||
|
repository = "bitnami/minideb";
|
||||||
|
tag = "latest";
|
||||||
|
pullPolicy = "IfNotPresent";
|
||||||
|
};
|
||||||
|
metrics.image = {
|
||||||
|
repository = "wrouesnel/postgres_exporter";
|
||||||
|
tag = "v0.4.7";
|
||||||
|
pullPolicy = "IfNotPresent";
|
||||||
|
};
|
||||||
replication.enabled = true;
|
replication.enabled = true;
|
||||||
replication.slaveReplicas = 2;
|
replication.slaveReplicas = 2;
|
||||||
|
postgresqlPassword = "postgres";
|
||||||
|
persistence.enabled = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue