mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
{ config, lib, test, kubenix, k8s, ... }:
|
|
|
|
with lib;
|
|
with k8s;
|
|
|
|
let
|
|
pod1 = config.kubernetes.api.pods.pod1;
|
|
pod2 = config.kubernetes.api.pods.pod2;
|
|
in {
|
|
imports = [
|
|
kubenix.k8s
|
|
];
|
|
|
|
test = {
|
|
name = "k8s-defaults";
|
|
description = "Simple k8s testing wheter name, apiVersion and kind are preset";
|
|
assertions = [{
|
|
message = "Should have label set with resource";
|
|
assertion = pod1.metadata.labels.resource-label == "value";
|
|
} {
|
|
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";
|
|
}];
|
|
};
|
|
|
|
kubernetes.api.pods.pod1 = {};
|
|
|
|
kubernetes.api.pods.pod2 = {
|
|
metadata.labels.custom-label = "value";
|
|
};
|
|
|
|
kubernetes.api.defaults = [{
|
|
resource = "pods";
|
|
default.metadata.labels.resource-label = "value";
|
|
} {
|
|
group = "core";
|
|
kind = "Pod";
|
|
version = "v1";
|
|
default.metadata.labels.gvk-label = "value";
|
|
} {
|
|
resource = "pods";
|
|
default = { config, ... }: {
|
|
config.metadata.annotations = mkIf (config.metadata.labels ? "custom-label") {
|
|
conditional-annotation = "value";
|
|
};
|
|
};
|
|
}];
|
|
}
|