kubenix/tests/k8s/defaults.nix

59 lines
1.4 KiB
Nix
Raw Normal View History

2022-04-02 12:40:35 -07:00
{
config,
lib,
kubenix,
...
}:
with lib; let
2019-09-27 18:29:00 +02:00
pod1 = config.kubernetes.api.resources.pods.pod1;
pod2 = config.kubernetes.api.resources.pods.pod2;
2022-04-02 12:40:35 -07:00
in {
imports = with kubenix.modules; [test k8s];
test = {
name = "k8s-defaults";
description = "Simple k8s testing wheter name, apiVersion and kind are preset";
2022-04-02 12:40:35 -07:00
assertions = [
{
message = "Should have label set with resource";
assertion = pod1.metadata.labels.resource-label == "value";
}
2021-05-13 17:27:08 -04:00
{
message = "Should have default label set with group, version, kind";
assertion = pod1.metadata.labels.gvk-label == "value";
}
{
message = "Should have conditional annotation set";
assertion = pod2.metadata.annotations.conditional-annotation == "value";
2022-04-02 12:40:35 -07:00
}
];
};
2022-04-02 12:40:35 -07:00
kubernetes.resources.pods.pod1 = {};
2019-09-27 18:29:00 +02:00
kubernetes.resources.pods.pod2 = {
metadata.labels.custom-label = "value";
};
2022-04-02 12:40:35 -07:00
kubernetes.api.defaults = [
{
resource = "pods";
default.metadata.labels.resource-label = "value";
}
2021-05-13 17:27:08 -04:00
{
group = "core";
kind = "Pod";
version = "v1";
default.metadata.labels.gvk-label = "value";
}
{
resource = "pods";
2022-04-02 12:40:35 -07:00
default = {config, ...}: {
2021-05-13 17:27:08 -04:00
config.metadata.annotations = mkIf (config.metadata.labels ? "custom-label") {
conditional-annotation = "value";
};
};
2022-04-02 12:40:35 -07:00
}
];
}