type = attrsOf (submodule {
options = {
ip4 = mkOption {
- type = str;
+ type = listOf str;
+ default = [];
description = ''
- ip4 address of the host
+ ip4 addresses of the host
'';
};
ip6 = mkOption {
};
};
mysql = mkMysqlOptions "Zrepl" {};
+ certs = mkOption {
+ description = "Certificates";
+ type = attrsOf (submodule {
+ options = {
+ key = mkOption { type = str; description = "Key"; };
+ certificate = mkOption { type = str; description = "Certificate"; };
+ };
+ });
+ };
};
};
};
};
};
};
- eban = mkOption {
- description = "Eban credentials for webhook";
- type = submodule {
- options = {
- user = mkOption { type = str; description = "User"; };
- password = mkOption { type = str; description = "Password"; };
- };
- };
- };
nrdp_tokens = mkOption { type = listOf str; description = "Tokens allowed to push status update"; };
- slack_url = mkOption { type = str; description = "Slack webhook url to push status update"; };
- slack_channel = mkOption { type = str; description = "Slack channel to push status update"; };
+ apprise_urls = mkOption { type = str; description = "Apprise space-separated urls to push status update"; };
netdata_aggregator = mkOption { type = str; description = "Url where netdata information should be sent"; };
netdata_keys = mkOption { type = attrsOf str; description = "netdata host keys"; };
contacts = mkOption { type = attrsOf unspecified; description = "Contact dicts to fill naemon objects"; };
};
};
};
+ coturn = mkOption {
+ description = "Coturn configuration";
+ type = submodule {
+ options = {
+ auth_access_key = mkOption { type = str; description = "key to access coturn"; };
+ };
+ };
+ };
buildbot = mkOption {
description = "Buildbot configuration";
type = submodule {
Takes pkgs as argument.
'';
};
- pythonPackages = mkOption {
- type = unspecified;
- example = literalExample ''
- p: pkgs: [ pkgs.python3Packages.pip ];
- '';
- description = ''
- Function.
- Builds python packages list to make available to buildbot project.
- Takes buildbot python module as first argument and pkgs as second argument in order to augment the python modules list.
- '';
- };
pythonPathHome = mkOption { type = bool; description = "Whether to add project’s python home to python path"; };
workerPort = mkOption { type = port; description = "Port for the worker"; };
secrets = mkOption {
- type = attrsOf str;
- description = "Secrets for the project to dump as files";
+ #type = attrsOf (either str (functionTo str));
+ type = attrsOf unspecified;
+ description = "Secrets for the project to dump as files. Might be a function that takes pkgs as argument";
};
environment = mkOption {
- type = attrsOf str;
+ #type = attrsOf (either str (functionTo str));
+ type = attrsOf unspecified;
description = ''
- Environment variables for the project.
+ Environment variables for the project. Might be a function that takes pkgs as argument.
BUILDBOT_ is prefixed to the variable names
'';
};
Activation script to run during deployment
'';
};
- builderPaths = mkOption {
- type = attrsOf unspecified;
- default = {};
- description = ''
- Attrs of functions to make accessible specifically per builder.
- Takes pkgs as argument and should return a single path containing binaries.
- This path will be accessible as BUILDBOT_PATH_<attrskey>
- '';
- };
webhookTokens = mkOption {
type = nullOr (listOf str);
default = null;
default = {};
type = attrsOf (submodule {
options = {
+ assetType = mkOption { type = enum ["tgz" "url" "googleFont"]; default = "url"; description = "Type of asset"; };
+ tgzRemoveComponents = mkOption { type = int; default = 0; description = "Remove components when extracting"; };
url = mkOption { type = str; description = "URL to fetch"; };
sha256 = mkOption { type = str; description = "Hash of the url"; };
};
adminPassword = mkOption { type = str; description = "Admin password for mypads / admin"; };
session_key = mkOption { type = str; description = "Session key"; };
api_key = mkOption { type = str; description = "API key"; };
- redirects = mkOption { type = str; description = "Redirects for apache"; };
};
};
};
options = {
report_uri = mkOption { type = str; description = "URI to report CSP violations to"; };
policies = mkOption { type = attrsOf str; description = "CSP policies to apply"; };
- postgresql = mkPsqlOptions "CSP reports";
};
};
};
description = "Websites configurations";
type = submodule {
options = {
+ christophe_carpentier = mkOption {
+ description = "Christophe Carpentier configuration by environment";
+ type = submodule {
+ options = {
+ agorakit = mkOption {
+ description = "Agorakit configuration";
+ type = submodule {
+ options = {
+ mysql = mkMysqlOptions "Agorakit" {};
+ smtp = mkSmtpOptions "Agorakit";
+ appkey = mkOption { type = str; description = "App key"; };
+ };
+ };
+ };
+ };
+ };
+ };
immae = mkOption {
description = "Immae configuration by environment";
type = submodule {
options = {
production = chloeSubmodule;
integration = chloeSubmodule;
+ new = mkOption {
+ description = "environment configuration";
+ type = submodule {
+ options = {
+ mysql = mkMysqlOptions "ChloeNew" {};
+ ldap = mkLdapOptions "ChloeNew" {};
+ secret = mkOption { type = str; description = "Symfony App secret"; };
+ };
+ };
+ };
};
};
};
};
};
};
+ nicecoop = mkOption {
+ description = "Nicecoop configuration";
+ type = submodule {
+ options = {
+ odoo = {
+ port = mkOption { description = "Port to listen to"; type = port; };
+ longpoll_port = mkOption { description = "Port to listen to"; type = port; };
+ postgresql = mkPsqlOptions "Odoo";
+ admin_password = mkOption { type = str; description = "Admin password"; };
+ };
+ gestion-compte = {
+ smtp = mkSmtpOptions "GestionCompte";
+ mysql = mkMysqlOptions "gestion-compte" {};
+ secret = mkOption { type = str; description = "Application secret"; };
+ adminpassword = mkOption { type = str; description = "Admin password"; };
+ };
+ gestion-compte-integration = {
+ smtp = mkSmtpOptions "GestionCompte";
+ mysql = mkMysqlOptions "gestion-compte" {};
+ secret = mkOption { type = str; description = "Application secret"; };
+ adminpassword = mkOption { type = str; description = "Admin password"; };
+ };
+ copanier = {
+ smtp = mkSmtpOptions "Copanier";
+ staff = mkOption { type = listOf str; description = "List of staff members"; };
+ };
+ };
+ };
+ };
emilia = mkOption {
description = "Emilia configuration";
type = submodule {