]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/git/mantisbt/mantisbt.nix
Migrate mantisbt to pkgs
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / git / mantisbt / mantisbt.nix
diff --git a/nixops/modules/websites/tools/git/mantisbt/mantisbt.nix b/nixops/modules/websites/tools/git/mantisbt/mantisbt.nix
deleted file mode 100644 (file)
index 41c5e90..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-{ lib, env, writeText, stdenv, fetchurl, fetchedGithub }:
-let
-  mantisbt = let
-    plugins = {
-      slack = stdenv.mkDerivation (fetchedGithub ./mantisbt-plugin-slack.json // rec {
-        installPhase = ''
-          sed -i -e "s/return '@' . \\\$username;/return \\\$username;/" Slack.php
-          cp -a . $out
-          '';
-      });
-      source-integration = stdenv.mkDerivation (fetchedGithub ./mantisbt-plugin-source-integration.json // rec {
-        installPhase = ''
-          mkdir $out
-          patch -p1 < ${./mantisbt-plugin-source-integration_Source.API.php.diff}
-          cp -a Source* $out/
-        '';
-      });
-    };
-  in rec {
-    keys = [{
-      dest = "webapps/tools-mantisbt";
-      user = apache.user;
-      group = apache.group;
-      permissions = "0400";
-      text = ''
-        <?php
-        $g_hostname              = '${env.postgresql.socket}';
-        $g_db_username           = '${env.postgresql.user}';
-        $g_db_password           = '${env.postgresql.password}';
-        $g_database_name         = '${env.postgresql.database}';
-        $g_db_type               = 'pgsql';
-        $g_crypto_master_salt    = '${env.master_salt}';
-        $g_allow_signup          = OFF;
-        $g_allow_anonymous_login = ON;
-        $g_anonymous_account     = 'anonymous';
-
-        $g_phpMailer_method    = PHPMAILER_METHOD_SENDMAIL;
-        $g_smtp_host           = 'localhost';
-        $g_smtp_username               = ''';
-        $g_smtp_password               = ''';
-        $g_webmaster_email     = 'mantisbt@tools.immae.eu';
-        $g_from_email          = 'mantisbt@tools.immae.eu';
-        $g_return_path_email   = 'mantisbt@tools.immae.eu';
-        $g_from_name           = 'Mantis Bug Tracker at git.immae.eu';
-        $g_email_receive_own   = OFF;
-        # --- LDAP ---
-        $g_login_method = LDAP;
-        $g_ldap_protocol_version = 3;
-        $g_ldap_server = 'ldaps://ldap.immae.eu:636';
-        $g_ldap_root_dn = 'ou=users,dc=immae,dc=eu';
-        $g_ldap_bind_dn = 'cn=mantisbt,ou=services,dc=immae,dc=eu';
-        $g_ldap_bind_passwd = '${env.ldap.password}';
-        $g_use_ldap_email = ON;
-        $g_use_ldap_realname = ON;
-        $g_ldap_uid_field = 'uid';
-        $g_ldap_realname_field = 'cn';
-        $g_ldap_organization = '(memberOf=cn=users,cn=mantisbt,ou=services,dc=immae,dc=eu)';
-      '';
-    }];
-    webRoot = stdenv.mkDerivation rec {
-      name = "mantisbt-${version}";
-      version = "2.11.1";
-      src = fetchurl {
-        url = "https://downloads.sourceforge.net/project/mantisbt/mantis-stable/${version}/${name}.tar.gz";
-        sha256 = "0jnrqz6r2hf53v0k1lh3il7hlfiphn61r9wgg6mzyywkjxwq07md";
-      };
-      patches = [
-        ./patches/bug_report.php.diff
-        ./patches/bug_report_page.php.diff
-        ./patches/bugnote_add.php.diff
-        ./patches/bugnote_add_inc.php.diff
-        ];
-      installPhase = ''
-        cp -a . $out
-        ln -s /var/secrets/webapps/tools-mantisbt $out/config/config_inc.php
-        ln -s ${plugins.slack} $out/plugins/Slack
-        ln -s ${plugins.source-integration}/Source* $out/plugins/
-      '';
-    };
-    apache = rec {
-      user = "wwwrun";
-      group = "wwwrun";
-      modules = [ "proxy_fcgi" ];
-      webappName = "tools_mantisbt";
-      root = "/run/current-system/webapps/${webappName}";
-      vhostConf = ''
-        Alias /mantisbt "${root}"
-        <Directory "${root}">
-          DirectoryIndex index.php
-          <FilesMatch "\.php$">
-            SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
-          </FilesMatch>
-
-          AllowOverride All
-          Options FollowSymlinks
-          Require all granted
-        </Directory>
-        <Directory "${root}/admin">
-          #Reenable during upgrade
-          Require all denied
-        </Directory>
-        '';
-    };
-    phpFpm = rec {
-      serviceDeps = [ "postgresql.service" "openldap.service" ];
-      basedir = builtins.concatStringsSep ":" (
-        [ webRoot "/var/secrets/webapps/tools-mantisbt" ]
-        ++ lib.attrsets.mapAttrsToList (name: value: value) plugins);
-      socket = "/var/run/phpfpm/mantisbt.sock";
-      pool = ''
-        listen = ${socket}
-        user = ${apache.user}
-        group = ${apache.group}
-        listen.owner = ${apache.user}
-        listen.group = ${apache.group}
-        pm = ondemand
-        pm.max_children = 60
-        pm.process_idle_timeout = 60
-
-        php_admin_value[upload_max_filesize] = 5000000
-
-        php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/mantisbt"
-        php_admin_value[session.save_path] = "/var/lib/php/sessions/mantisbt"
-        '';
-    };
-  };
-in
-  mantisbt