2021-05-06 16:07:24 -04:00
|
|
|
{ config, lib, kubenix, pkgs, ... }:
|
2019-10-21 12:20:57 +02:00
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
let
|
|
|
|
|
cfg = config.kubernetes.api.resources.deployments.app;
|
2021-05-13 17:27:08 -04:00
|
|
|
in
|
|
|
|
|
{
|
2019-10-21 12:20:57 +02:00
|
|
|
imports = with kubenix.modules; [ test k8s legacy ];
|
|
|
|
|
|
|
|
|
|
test = {
|
|
|
|
|
name = "legacy-k8s";
|
|
|
|
|
description = "Simple test kubenix legacy kubernetes support";
|
|
|
|
|
assertions = [{
|
|
|
|
|
message = "should have correct resource options set";
|
|
|
|
|
assertion =
|
|
|
|
|
cfg.kind == "Deployment" &&
|
|
|
|
|
cfg.metadata.name == "app";
|
2021-05-13 17:27:08 -04:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
message = "should have correct defaults set";
|
|
|
|
|
assertion =
|
|
|
|
|
cfg.metadata.namespace == "test" &&
|
|
|
|
|
cfg.metadata.labels.label1 == "value1" &&
|
|
|
|
|
cfg.metadata.labels.label2 == "value2";
|
|
|
|
|
}];
|
2019-10-21 12:20:57 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
kubernetes.resources.deployments.app = {
|
|
|
|
|
spec = {
|
|
|
|
|
replicas = 2;
|
|
|
|
|
selector = {
|
|
|
|
|
matchLabels.app = "app";
|
|
|
|
|
};
|
|
|
|
|
template.spec = {
|
|
|
|
|
containers.app = {
|
|
|
|
|
image = "hello-world";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
kubernetes.resources.configMaps.app = {
|
2021-05-13 17:27:08 -04:00
|
|
|
data."my-conf.json" = builtins.toJSON { };
|
2019-10-21 12:20:57 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
kubernetes.defaults = {
|
|
|
|
|
all = [{
|
|
|
|
|
metadata.namespace = "test";
|
|
|
|
|
metadata.labels.label1 = "value1";
|
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
deployments = [{
|
|
|
|
|
metadata.labels.label2 = "value2";
|
|
|
|
|
}];
|
|
|
|
|
};
|
|
|
|
|
}
|