Merge branch 'master' of github.com:xtruder/kubenix

This commit is contained in:
Jaka Hudoklin 2018-03-28 21:03:24 +02:00
commit 7208da5cba
3 changed files with 15 additions and 9 deletions

View file

@ -308,7 +308,7 @@ let
defaultOptions = mapAttrs (name: value: mkOption { defaultOptions = mapAttrs (name: value: mkOption {
description = "Kubernetes defaults for ${name} resources"; description = "Kubernetes defaults for ${name} resources";
type = types.coercedTo types.attrs (value: [value]) (types.listOf types.attrs); type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified);
default = []; default = [];
}) ( }) (
(versionOptions.${config.kubernetes.version}.kubernetesResourceOptions) // (versionOptions.${config.kubernetes.version}.kubernetesResourceOptions) //
@ -334,7 +334,7 @@ in {
options = defaultOptions // { options = defaultOptions // {
all = mkOption { all = mkOption {
description = "Kubernetes defaults for all resources"; description = "Kubernetes defaults for all resources";
type = types.coercedTo types.attrs (value: [value]) (types.listOf types.attrs); type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified);
default = []; default = [];
}; };
}; };

View file

@ -76,7 +76,7 @@ let
defaultModuleConfigurationOptions = mapAttrs (name: moduleDefinition: mkOption { defaultModuleConfigurationOptions = mapAttrs (name: moduleDefinition: mkOption {
description = "Module default configuration for ${name} module"; description = "Module default configuration for ${name} module";
type = types.coercedTo types.attrs (value: [value]) (types.listOf types.attrs); type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified);
default = []; default = [];
}) config.kubernetes.moduleDefinitions; }) config.kubernetes.moduleDefinitions;
in { in {
@ -110,7 +110,7 @@ in {
options = defaultModuleConfigurationOptions // { options = defaultModuleConfigurationOptions // {
all = mkOption { all = mkOption {
description = "Module default configuration for all modules"; description = "Module default configuration for all modules";
type = types.coercedTo types.attrs (value: [value]) (types.listOf types.attrs); type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified);
default = []; default = [];
}; };
}; };
@ -135,6 +135,12 @@ in {
default = "default"; default = "default";
}; };
labels = mkOption {
description = "Attribute set of module lables";
type = types.attrsOf types.str;
default = {};
};
configuration = mkOption { configuration = mkOption {
description = "Module configuration"; description = "Module configuration";
type = submodule { type = submodule {

View file

@ -99,12 +99,12 @@ with lib;
kubernetes.resources.services.nginx = loadJSON ./service.json; kubernetes.resources.services.nginx = loadJSON ./service.json;
kubernetes.defaultModuleConfiguration.all = { kubernetes.defaultModuleConfiguration.all = [{
config.kubernetes.defaults.deployments.spec.replicas = 3; config.kubernetes.defaults.deployments.spec.replicas = mkDefault 3;
}; }];
kubernetes.defaultModuleConfiguration.nginx = { kubernetes.defaultModuleConfiguration.nginx = {config, name, ...}: {
kubernetes.defaults.deployments.spec.replicas = mkDefault 4; kubernetes.defaults.deployments.spec.replicas = 4;
}; };
}; };
} }