]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/packages/aten.nix
Move packages fils to module
[perso/Immae/Config/Nix.git] / virtual / packages / aten.nix
diff --git a/virtual/packages/aten.nix b/virtual/packages/aten.nix
deleted file mode 100644 (file)
index d67f7b7..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-{ lib, checkEnv, writeText, fetchedGitPrivate, stdenv, php, git, cacert, phpPackages, yarn }:
-let
-  aten = { environment ? "dev" }: rec {
-    varPrefix = "ATEN";
-    varDir = "/var/lib/aten_${environment}";
-    envName= lib.strings.toUpper environment;
-    phpFpm = rec {
-      socket = "/var/run/phpfpm/aten-${environment}.sock";
-      pool = ''
-        listen = ${socket}
-        user = ${apache.user}
-        group = ${apache.group}
-        listen.owner = ${apache.user}
-        listen.group = ${apache.group}
-        php_admin_value[upload_max_filesize] = 20M
-        php_admin_value[post_max_size] = 20M
-        ;php_admin_flag[log_errors] = on
-        php_admin_value[open_basedir] = "${webappDir}:${varDir}:/tmp"
-        php_admin_value[session.save_path] = "${varDir}/phpSessions"
-        ${if environment == "dev" then ''
-        pm = ondemand
-        pm.max_children = 5
-        pm.process_idle_timeout = 60
-        env[SYMFONY_DEBUG_MODE] = "yes"
-        '' else ''
-        pm = dynamic
-        pm.max_children = 20
-        pm.start_servers = 2
-        pm.min_spare_servers = 1
-        pm.max_spare_servers = 3
-        ''}'';
-    };
-    apache = {
-      user = "wwwrun";
-      group = "wwwrun";
-      modules = [ "proxy_fcgi" ];
-      vhostConf =
-        assert checkEnv "NIXOPS_${varPrefix}_${envName}_SECRET";
-        assert checkEnv "NIXOPS_${varPrefix}_${envName}_PSQL_URL";
-      ''
-      <FilesMatch "\.php$">
-        SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
-      </FilesMatch>
-
-      SetEnv APP_ENV      "${environment}"
-      SetEnv APP_SECRET   "${builtins.getEnv "NIXOPS_${varPrefix}_${envName}_SECRET"}
-      SetEnv DATABASE_URL "${builtins.getEnv "NIXOPS_${varPrefix}_${envName}_PSQL_URL"}
-
-      ${if environment == "dev" then ''
-      <Location />
-        Use LDAPConnect
-        Require ldap-group   cn=dev.aten.pro,cn=httpd,ou=services,dc=immae,dc=eu
-        ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>"
-      </Location>
-
-      <Location /backend>
-        Use LDAPConnect
-        Require ldap-group   cn=dev.aten.pro,cn=httpd,ou=services,dc=immae,dc=eu
-        ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>"
-      </Location>
-      '' else ''
-      Use Stats aten.pro
-
-      <Location /backend>
-        Use LDAPConnect
-        Require ldap-group   cn=aten.pro,cn=httpd,ou=services,dc=immae,dc=eu
-        ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>"
-      </Location>
-      ''}
-
-      <Directory ${webRoot}>
-        Options Indexes FollowSymLinks MultiViews Includes
-        AllowOverride All
-        Require all granted
-        DirectoryIndex index.php
-        FallbackResource /index.php
-      </Directory>
-      '';
-    };
-    activationScript = {
-      deps = [ "wrappers" ];
-      text = ''
-      install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}
-      install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
-      if [ ! -f "${varDir}/currentWebappDir" -o \
-          "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then
-        pushd ${webappDir} > /dev/null
-        $wrapperDir/sudo -u wwwrun APP_ENV=${environment} ./bin/console --env=${environment} cache:clear --no-warmup
-        popd > /dev/null
-        echo -n "${webappDir}" > ${varDir}/currentWebappDir
-      fi
-      '';
-    };
-    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
-        export APP_ENV="${environment}"
-        export DATABASE_URL="${builtins.getEnv "NIXOPS_${varPrefix}_${envName}_PSQL_URL"}"
-        export APP_SECRET="${builtins.getEnv "NIXOPS_${varPrefix}_${envName}_SECRET"}"
-
-        ${if environment == "dev" then ''
-          composer install
-        '' else ''
-          SYMFONY_ENV=prod composer install --no-dev
-        ''}
-        yarn install
-        yarn run encore production
-        rm -rf var
-        ln -sf ../../../../../${varDir} var
-        '';
-      installPhase = ''
-        cp -a . $out
-        '';
-      buildInputs = [
-        php git cacert phpPackages.composer yarn
-      ];
-    });
-    webRoot = "${webappDir}/public";
-  };
-in
-  aten