diff --git a/meta/options.nix b/meta/options.nix index 389fd61..98b2375 100644 --- a/meta/options.nix +++ b/meta/options.nix @@ -67,6 +67,39 @@ in Groups of the DGNum organization. ''; }; + + external = mkOption { + type = attrsOf (listOf str); + description = '' + External services used by the DGNum organization. + ''; + }; + + services = mkOption { + type = attrsOf (submodule { + options = { + admins = mkOption { + type = listOf str; + default = [ ]; + description = '' + List of administrators of the service. + ''; + }; + + adminGroups = mkOption { + type = listOf str; + default = [ ]; + description = '' + List of administrator groups of the service. + ''; + }; + }; + }); + description = '' + Administrator access of the different DGNum services, + it is mainly indicative as most services cannot configure this statically. + ''; + }; }; nodes = mkOption { diff --git a/meta/organization.nix b/meta/organization.nix index 00cc14c..7196988 100644 --- a/meta/organization.nix +++ b/meta/organization.nix @@ -48,4 +48,38 @@ # members of this group are root on the fai infrastructure fai = [ "catvayor" ]; }; + + external = { + dns = [ + "thubrecht" + "raito" + ]; + + email = [ "raito" ]; + + irc = [ "raito" ]; + }; + + services = { + # Démarches Normaliennes + ds-fr.admins = [ + "thubrecht" + "jemagius" + ]; + + # Cloud DGNum + nextcloud.admins = [ + "thubrecht" + "raito" + ]; + + # Netbox DGNum + netbox.adminGroups = [ + "root" + "fai" + ]; + + # Videos DGNum + peertube.admins = [ "thubrecht" ]; + }; }