X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fprivate%2Fenvironment.nix;h=e469138a9fa51928560520ebd1f5e74b745d0b41;hb=2ff9258eb7207efd5c4b80275682a312b2b3022e;hp=f0af57203145b472cf0929cace8205740045e842;hpb=200690c9aecec1f38c1a62a65916df2950e1afe7;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/environment.nix b/modules/private/environment.nix index f0af572..e469138 100644 --- a/modules/private/environment.nix +++ b/modules/private/environment.nix @@ -621,7 +621,10 @@ in description = "FTP configuration"; type = submodule { options = { - ldap = mkLdapOptions "FTP" {}; + ldap = mkLdapOptions "FTP" { + proftpd_filter = mkOption { type = str; description = "Filter for proftpd listing in LDAP"; }; + pure-ftpd_filter = mkOption { type = str; description = "Filter for pure-ftpd listing in LDAP"; }; + }; }; }; }; @@ -805,6 +808,15 @@ in description = "Buildbot configuration"; type = submodule { options = { + ssh_key = mkOption { + description = "SSH key information"; + type = submodule { + options = { + public = mkOption { type = str; description = "Public part of the key"; }; + private = mkOption { type = lines; description = "Private part of the key"; }; + }; + }; + }; workerPassword = mkOption { description = "Buildbot worker password"; type = str; }; user = mkOption { description = "Buildbot user"; @@ -859,13 +871,15 @@ in 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 ''; }; @@ -961,6 +975,15 @@ in type = submodule { options = { ldap = mkLdapOptions "Gitolite" {}; + ssh_key = mkOption { + description = "SSH key information"; + type = submodule { + options = { + public = mkOption { type = str; description = "Public part of the key"; }; + private = mkOption { type = lines; description = "Private part of the key"; }; + }; + }; + }; }; }; }; @@ -1224,6 +1247,23 @@ in 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 { @@ -1292,6 +1332,16 @@ in 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"; }; + }; + }; + }; }; }; }; @@ -1358,6 +1408,35 @@ in }; }; }; + 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 { @@ -1461,13 +1540,6 @@ in }; }; }; - - privateFiles = mkOption { - type = path; - description = '' - Path to secret files to make available during build - ''; - }; }; options.hostEnv = mkOption { readOnly = true;