]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Move all fixmes to mantisbt issue tracking
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 21 Jan 2019 20:06:33 +0000 (21:06 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 21 Jan 2019 20:06:33 +0000 (21:06 +0100)
Fixes https://git.immae.eu/mantisbt/view.php?id=111

24 files changed:
virtual/eldiron.nix
virtual/modules/certificates.nix
virtual/modules/databases/default.nix
virtual/modules/gitolite/default.nix
virtual/modules/websites/aten/aten.nix
virtual/modules/websites/commons/stats.nix
virtual/modules/websites/connexionswing/connexionswing.nix
virtual/modules/websites/default.nix
virtual/modules/websites/ludivine/ludivinecassal.nix
virtual/modules/websites/piedsjaloux/piedsjaloux.nix
virtual/modules/websites/tellesflorian/tellesflorian.nix
virtual/modules/websites/tools/cloud/nextcloud.nix
virtual/modules/websites/tools/dav/davical.nix
virtual/modules/websites/tools/db/default.nix
virtual/modules/websites/tools/diaspora/default.nix
virtual/modules/websites/tools/diaspora/diaspora.nix
virtual/modules/websites/tools/git/default.nix
virtual/modules/websites/tools/git/mantisbt/mantisbt.nix
virtual/modules/websites/tools/mastodon/default.nix
virtual/modules/websites/tools/mastodon/mastodon.nix
virtual/modules/websites/tools/mediagoblin/default.nix
virtual/modules/websites/tools/tools/roundcubemail.nix
virtual/modules/websites/tools/tools/ttrss.nix
virtual/modules/websites/tools/tools/wallabag.nix

index 8168abc651670a73df2508e822a0e137b786ad28..48266c861fbf395ac6487fdab32daba80e343637 100644 (file)
@@ -4,13 +4,6 @@
     enableRollback = true;
   };
 
-  # FIXME: improve purity by enforcing sandbox = true in
-  # /etc/nix/nix.conf (need to do something about environment variables
-  # before)
-
-  # Full backup:
-  # The star after /var/lib/* avoids deleting all folders in case of problem
-  # rsync -e "ssh -i /root/.ssh/id_charon_vpn" -aAXvz --delete --numeric-ids --super --rsync-path="sudo rsync" /var/lib/* immae@immae.eu:
   eldiron = { config, pkgs, mylibs, myconfig, ... }:
     with mylibs;
   {
index 09484e6ae7893798195140edf6b713a55872433a..7fae7298c17e40389e42e3c19641ac6d7cd4fea5 100644 (file)
   };
 
   config = {
-    # FIXME: doesn't work with httpd?
     security.acme.preliminarySelfsigned = true;
 
     security.acme.certs = {
-      # FIXME: /!\ To create a new certificate, create it before using
-      # it in httpd
       "eldiron" = config.services.myCertificates.certConfig // {
         domain = "eldiron.immae.eu";
       };
index b896428c6863edbbee19c40e7b65681ee610ee6b..e3a56129fa75940faa19fc99dfd5b5992a42293f 100644 (file)
@@ -57,18 +57,11 @@ in {
 
     networking.firewall.allowedTCPPorts = [ 3306 5432 ];
 
-    # FIXME: initial sync
-    # FIXME: backup
-    # FIXME: restart after pam
-    # FIXME: pam access doesn’t work (because of php module)
-    # FIXME: ssl
     services.mysql = rec {
       enable = cfg.mariadb.enable;
       package = pkgs.mariadb;
     };
 
-    # Cannot use eldiron: psql complains too much rights on the key, and
-    # setfacl cannot work properly because of acme prestart script
     security.acme.certs."postgresql" = config.services.myCertificates.certConfig // {
       user = "postgres";
       group = "postgres";
@@ -83,7 +76,6 @@ in {
       install -m 0755 -o postgres -g postgres -d /run/postgresql
       '';
 
-    # FIXME: initial sync
     services.postgresql = rec {
       enable = cfg.postgresql.enable;
       package = pkgs.postgresql;
@@ -161,7 +153,6 @@ in {
       }
     ];
 
-    # FIXME: backup
     # Diaspora: 15
     # Nextcloud: 14
     # Mastodon: 13
index 78691fabcf1ee6a731f9981bc9098bcd8bc0d2dd..b8ecb155552e9fac7347c939845fa4be6f37a6b0 100644 (file)
@@ -68,18 +68,9 @@ in {
       [
         (pkgs.python3.withPackages python-packages)
       ];
-    # FIXME: after initial install, need to
-    # (1) copy rc file (adjust gitolite_ldap_groups.sh)
-    # (2) (mark old readonly and) sync repos except gitolite-admin
-    #     rsync -av --exclude=gitolite-admin.git old:/var/lib/gitolite/repositories /var/lib/gitolite/
-    #     chown -R gitolite:gitolite /var/lib/gitolite
-    # (3) push force the gitolite-admin to new location (from external point)
-    #     Don't use an existing key, it will take precedence over
-    #     gitolite-admin
-    # (4) su -u gitolite gitolite setup
+    # Installation: https://git.immae.eu/mantisbt/view.php?id=93
     services.gitolite = {
       enable = true;
-      # FIXME: key from ./ssh
       adminPubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXqRbiHw7QoHADNIEuo4nUT9fSOIEBMdJZH0bkQAxXyJFyCM1IMz0pxsHV0wu9tdkkr36bPEUj2aV5bkYLBN6nxcV2Y49X8bjOSCPfx3n6Own1h+NeZVBj4ZByrFmqCbTxUJIZ2bZKcWOFncML39VmWdsVhNjg0X4NBBehqXRIKr2gt3E/ESAxTYJFm0BnU0baciw9cN0bsRGqvFgf5h2P48CIAfwhVcGmPQnnAwabnosYQzRWxR0OygH5Kd8mePh6FheIRIigfXsDO8f/jdxwut8buvNIf3m5EBr3tUbTsvM+eV3M5vKGt7sk8T64DVtepTSdOOWtp+47ktsnHOMh immae@immae.eu";
     };
   };
index d67f7b7c8587eb64b657641eb0a23ef3dcc5f43d..7eec525bbe595456b724c1d81a9f2aabcece0a65 100644 (file)
@@ -92,10 +92,6 @@ let
       '';
     };
     webappDir = stdenv.mkDerivation (fetchedGitPrivate ./aten.json // rec {
-      # FIXME: can we do better than symlink?
-      # FIXME: initial sync
-      # FIXME: backup
-      # FIXME: usage statistics
       buildPhase = ''
         export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
         export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
index a7ade3b0336a67571c51aef273b876ccaf5ad1e0..b5bf0e04dc6658be784c11ebddbc6b20edfdc0ed 100644 (file)
@@ -6,8 +6,12 @@ in {
     services.myWebsites.commons.stats = {
       enable = lib.mkEnableOption "enable statistics";
       sites = lib.mkOption {
-        # FIXME: specify
-        type = lib.types.listOf (lib.types.unspecified);
+        type = lib.types.listOf (lib.types.submodule {
+          options = {
+            conf = lib.mkOption { type = lib.types.path; };
+            name = lib.mkOption { type = lib.types.string; };
+          };
+        });
         default = [];
         description = "Sites to generate stats";
       };
@@ -51,13 +55,10 @@ in {
             goaccess $TMPFILE --no-progress -o /var/lib/goaccess/${domain}/index.html -p ${conf}
             '';
           in "${d}/bin/stats-${domain}";
-      # FIXME: running several goaccess simultaneously seems to be
-      # bugged?
       in
         pkgs.lib.lists.imap0 (i: v: "${toString (i+5)} 0 * * * root ${stats v.name v.conf}") cfg.sites;
     };
 
-    # FIXME: initial sync
     system.activationScripts.goaccess = ''
       mkdir -p /var/lib/goaccess
     '' +
index 90cca73b6181b5462b6cd4a7b91bdd7e350012c9..71f3c0b232a39adf4b381318cb2a13b6cc127c7d 100644 (file)
@@ -4,7 +4,6 @@ let
     varDir = "/var/lib/connexionswing_${environment}";
     envName= lib.strings.toUpper environment;
     configRoot =
-      # FIXME: spool emails in prod for when immae.eu is down?
       assert checkEnv "NIXOPS_CONNEXIONSWING_${envName}_MYSQL_PASSWORD";
       assert checkEnv "NIXOPS_CONNEXIONSWING_${envName}_MYSQL_USER";
       assert checkEnv "NIXOPS_CONNEXIONSWING_${envName}_MYSQL_NAME";
@@ -149,11 +148,6 @@ let
       '';
     };
     webappDir = stdenv.mkDerivation (fetchedGitPrivate ./connexionswing.json // rec {
-      # FIXME: can we do better than symlink?
-      # FIXME: imagick optional
-      # FIXME: initial sync
-      # FIXME: backup
-      # FIXME: replace with pkgs.phpPackages.composer
       buildPhase = ''
         export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
         export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
index 4b1490b3502e7fe3499259d19840c75ed83b45d5..cfd1f867396ea48b9042656d288f769fd277aa37 100644 (file)
@@ -203,7 +203,6 @@ in
       };
       ldap = {
         modules = [ "ldap" "authnz_ldap" ];
-        # FIXME: starttls
         extraConfig = assert mylibs.checkEnv "NIXOPS_HTTP_LDAP_PASSWORD"; ''
           <IfModule ldap_module>
             LDAPSharedCacheSize 500000
@@ -283,8 +282,6 @@ in
         '';
     };
 
-    # FIXME: logrotate
-    # FIXME: ipv6
     services.httpdProd = makeService "production" config.services.myWebsites.production;
     services.myWebsites.production.modules = pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig);
     services.myWebsites.production.extraConfig = (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig));
index 2d0217b972dc388e35459f0e66f4877ea20ed7fb..138ea9f3e30681a479432b6f63f1e102778f637d 100644 (file)
@@ -150,11 +150,8 @@ let
       '';
     };
     webappDir = stdenv.mkDerivation (fetchedGitPrivate ./ludivinecassal.json // rec {
-      # FIXME: can we do better than symlink?
-      # FIXME: initial sync
-      # FIXME: backup
-      # FIXME: miniatures and data need to be in the same dir due to a
-      #        bug in leapt.im (searches for data/../miniatures)
+      # /!\ miniatures and data need to be in the same dir due to a
+      #     bug in leapt.im (searches for data/../miniatures)
       buildPhase = ''
         export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
         export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
index 1c3d8b765433c786816858efd820ed25f4732fc1..4bbf148f2b37cd568d0dc60114c0ff48173e084f 100644 (file)
@@ -135,15 +135,8 @@ let
       '';
     };
     webappDir = stdenv.mkDerivation (fetchedGitPrivate ./piedsjaloux.json // rec {
-      # FIXME: can we do better than symlink?
-      # FIXME: initial sync
-      # FIXME: backup
-      # FIXME: miniatures and data need to be in the same dir due to a
-      #        bug in leapt.im (searches for data/../miniatures)
-      # FIXME: var/bootstrap.php.cache doesn't get created
-      #        (cannot work with var as a symlink since the file
-      #        references ..)
-      # FIXME: configuration change should not trigger a rebuild
+      # /!\ miniatures and data need to be in the same dir due to a
+      #     bug in leapt.im (searches for data/../miniatures)
       buildPhase = ''
         export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
         export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
index b6b9d4eee953a8eaef8d0b0bfb5b259537f1926b..2191b318e729cea7e9b49ef3ca6eeded74e4aade 100644 (file)
@@ -5,7 +5,6 @@ let
     varDir = "/var/lib/tellesflorian_${environment}";
     envName= lib.strings.toUpper environment;
     configRoot =
-      # FIXME: spool emails in prod for when immae.eu is down?
       assert checkEnv "NIXOPS_${varPrefix}_${envName}_MYSQL_PASSWORD";
       assert checkEnv "NIXOPS_${varPrefix}_${envName}_MYSQL_USER";
       assert checkEnv "NIXOPS_${varPrefix}_${envName}_MYSQL_NAME";
@@ -141,9 +140,6 @@ let
       '';
     };
     webappDir = stdenv.mkDerivation (fetchedGitPrivate ./tellesflorian.json // rec {
-      # FIXME: can we do better than symlink?
-      # FIXME: initial sync
-      # FIXME: backup
       buildPhase = ''
         export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
         export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
index 5849774f8afe9137583211166cc969173ea9b39e..b9c8d04d8a6e0d1a18df95c79d93cfd6de5c46c4 100644 (file)
@@ -1,8 +1,6 @@
 { stdenv, fetchurl, checkEnv, writeText, lib, phpPackages, php }:
 let
   nextcloud = let
-    # FIXME: initial sync
-    # FIXME: backup
     buildApp = { appName, version, url, sha256, installPhase ? "mkdir -p $out && cp -R . $out/" }:
       stdenv.mkDerivation rec {
         name = "nextcloud-app-${appName}-${version}";
@@ -12,11 +10,6 @@ let
         src = fetchurl { inherit url sha256; };
       };
     apps = {
-      # FIXME: nextcloud complains that he cannot write into config
-      # directory when an app needs upgrade
-      # /!\ Attention, just changing the version number is not
-      # sufficient when the downloaded file doesn’t contain the version
-      # number in it, sha256 needs to be recomputed
       audioplayer = buildApp rec {
         appName = "audioplayer";
         version = "2.5.0";
index 697bd604473af623ba49e0190724ca931f1f1726..cf528ad7631a5681f8763aec4cb1bdc9992a2254 100644 (file)
@@ -15,7 +15,6 @@ let
       cp -ra dba docs inc scripts tests $out
     '';
   };
-  # FIXME: e-mail sending
   davical = rec {
     config =
       assert checkEnv "NIXOPS_DAVICAL_DB_PASSWORD";
index 20f77c7131d3fc308ddaa36215446111ca3e1818..2a82bd6d0684bca44b89938af46d4c574af64de4 100644 (file)
@@ -9,7 +9,6 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    # FIXME: include it in vhostConf ?
     security.acme.certs."eldiron".extraDomains."db-1.immae.eu" = null;
 
     services.myWebsites.tools.modules = adminer.apache.modules;
index 23670dcbc396bcd51b9d3f60cf693b6f3f749d86..8285d6cf30869317c075af0eb3c45de9787eb7d5 100644 (file)
@@ -11,8 +11,6 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    # FIXME: Can we use dynamic users from systemd?
-    # nixos/modules/misc/ids.nix
     ids.uids.diaspora = 398;
     ids.gids.diaspora = 398;
 
@@ -63,8 +61,6 @@ in {
       unitConfig.RequiresMountsFor = diaspora.varDir;
     };
 
-    # FIXME: initial sync
-    # FIXME: touch ${diaspora.varDir}/schedule.yml
     system.activationScripts.diaspora = {
       deps = [ "users" ];
       text = ''
@@ -81,7 +77,6 @@ in {
 
     services.myWebsites.tools.modules = [
       "headers" "proxy" "proxy_http" "proxy_balancer"
-      # FIXME: probably only one balancer method is needed:
       "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat"
     ];
     security.acme.certs."eldiron".extraDomains."diaspora.immae.eu" = null;
index 7880ac536f4c408dc45707f634b362ac81670f53..961e1f859170ed3d3bc22c166659475e045cd96e 100644 (file)
@@ -4,10 +4,6 @@ let
     name = "diaspora-env";
     ruby = ruby_2_4;
     gemdir = ./.;
-    # FIXME: it fails if I don’t include all groups
-    #groups = [ "default" "postgresql" "production" "development" "test" ];
-    # Had to remove them from gemset.nix, and remove mysql2
-    # Also had to "ungroup" pg in Gemfile
     gemConfig = defaultGemConfig // {
       kostya-sigar = attrs: {
         buildInputs = with pkgs; [ pkgs.perl ];
index 0a6301329870441ebe9b1357e367af7687c500b4..f53350edaca9e962e9751ce1a468575d8bbe1e4c 100644 (file)
@@ -10,7 +10,6 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    # FIXME: include it in vhostConf ?
     security.acme.certs."eldiron".extraDomains."git.immae.eu" = null;
 
     nixpkgs.config.packageOverrides = oldpkgs: rec {
index 009c90204de08d3a63d10d19ac60ae4ce06cb73c..c1cb60d7e8e99635da3a36b72a267a8bf4c09c72 100644 (file)
@@ -1,6 +1,5 @@
 { lib, checkEnv, writeText, stdenv, fetchurl, fetchedGithub }:
 let
-  # FIXME: check that source-integration and slack still work
   mantisbt = let
     plugins = {
       slack = stdenv.mkDerivation (fetchedGithub ./mantisbt-plugin-slack.json // rec {
index d25a072967cd4eb2efddffde0d360fc7c45472b0..25a389bc1684805ef1474ba30fa001200ada9fc5 100644 (file)
@@ -11,8 +11,6 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    # FIXME: Can we use dynamic users from systemd?
-    # nixos/modules/misc/ids.nix
     ids.uids.mastodon = 399;
     ids.gids.mastodon = 399;
 
@@ -96,7 +94,6 @@ in {
       unitConfig.RequiresMountsFor = mastodon.varDir;
     };
 
-    # FIXME: monitor jobs
     systemd.services.mastodon-sidekiq = {
       description = "Mastodon Sidekiq";
       wantedBy = [ "multi-user.target" ];
@@ -124,7 +121,6 @@ in {
       unitConfig.RequiresMountsFor = mastodon.varDir;
     };
 
-    # FIXME: initial sync
     system.activationScripts.mastodon = {
       deps = [ "users" ];
       text = ''
@@ -135,7 +131,6 @@ in {
 
     services.myWebsites.tools.modules = [
       "headers" "proxy" "proxy_wstunnel" "proxy_http" "proxy_balancer"
-      # FIXME: probably only one balancer method is needed:
       "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat"
     ];
     security.acme.certs."eldiron".extraDomains."mastodon.immae.eu" = null;
index 9457a13a08e205da9ca79fa2e922708df536c759..e948852bec98c5a50902fb625c3fa3339687f3e1 100644 (file)
@@ -2,7 +2,6 @@
 let
   varDir = "/var/lib/mastodon_immae";
   socketsDir = "/run/mastodon";
-  # FIXME: use gemsets and nodejs equivalent
   mastodon = stdenv.mkDerivation (fetchedGithub ./mastodon.json // rec {
     buildPhase = ''
       export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
index 388f6b3617867c7f65e9d4784fec8031f242c0ff..99bdce1bb16997a0d6260bb87d29b5df25b34079 100644 (file)
@@ -11,8 +11,6 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    # FIXME: Can we use dynamic users from systemd?
-    # nixos/modules/misc/ids.nix
     ids.uids.mediagoblin = 397;
     ids.gids.mediagoblin = 397;
 
@@ -89,8 +87,6 @@ in {
       unitConfig.RequiresMountsFor = mediagoblin.varDir;
     };
 
-    # FIXME: background jobs and upload
-    # FIXME: initial sync
     system.activationScripts.mediagoblin = {
       deps = [ "users" ];
       text = ''
@@ -105,7 +101,6 @@ in {
 
     services.myWebsites.tools.modules = [
       "proxy" "proxy_http" "proxy_balancer"
-      # FIXME: probably only one balancer method is needed:
       "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat"
     ];
     users.users.wwwrun.extraGroups = [ "mediagoblin" ];
index 1aa2d877eca702481767d10cfdbf0a63f247f135..e1653ae5c3756b2673e3dfb31a2169a09e95e12b 100644 (file)
@@ -4,7 +4,6 @@ let
     plugins = {};
   in rec {
     varDir = "/var/lib/roundcubemail";
-    # FIXME: initial sync
     activationScript = {
       deps = [ "wrappers" ];
       text = ''
@@ -14,7 +13,6 @@ let
       '';
     };
     config =
-      # FIXME: LOG_DESTINATION syslog?
       assert checkEnv "NIXOPS_ROUNDCUBEMAIL_PSQL_URL";
       assert checkEnv "NIXOPS_ROUNDCUBEMAIL_SECRET";
       writeText "config.php" ''
index f7b0f613f4204f7496719584ff066fc19cf7af8b..2659afddbb285c4746c9ff0d6a551ef4f462992a 100644 (file)
@@ -37,7 +37,6 @@ let
     };
   in rec {
     varDir = "/var/lib/ttrss";
-    # FIXME: initial sync
     activationScript = {
       deps = [ "wrappers" ];
       text = ''
@@ -54,7 +53,6 @@ let
       '';
     };
     config =
-      # FIXME: LOG_DESTINATION syslog?
       assert checkEnv "NIXOPS_TTRSS_DB_PASSWORD";
       assert checkEnv "NIXOPS_TTRSS_LDAP_PASSWORD";
       writeText "config.php" ''
index 92787b8dc37ba76fb1045b4ae66ba35f2fb13de5..0b54fffc6bda17a76cf81927e8534703ea3e26e5 100644 (file)
@@ -103,7 +103,6 @@ let
       group = "wwwrun";
       modules = [ "proxy_fcgi" ];
       vhostConf = ''
-        # FIXME
         Alias /assets "${varDir}/assets"
         Alias /wallabag "${webRoot}"
         <Directory "${webRoot}">