From f8026b6e4c869aa108f6361c8ccd50890657994d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 18 May 2019 10:49:00 +0200 Subject: Move personal websites to modules --- .../websites/connexionswing/connexionswing.nix | 166 --------------------- nixops/modules/websites/connexionswing/default.nix | 68 --------- 2 files changed, 234 deletions(-) delete mode 100644 nixops/modules/websites/connexionswing/connexionswing.nix delete mode 100644 nixops/modules/websites/connexionswing/default.nix (limited to 'nixops/modules/websites/connexionswing') diff --git a/nixops/modules/websites/connexionswing/connexionswing.nix b/nixops/modules/websites/connexionswing/connexionswing.nix deleted file mode 100644 index 77b839c..0000000 --- a/nixops/modules/websites/connexionswing/connexionswing.nix +++ /dev/null @@ -1,166 +0,0 @@ -{ connexionswing, pkgs, phpPackages, config }: -rec { - app = connexionswing.override { inherit (config) environment; }; - keys = [{ - dest = "webapps/${app.environment}-connexionswing"; - user = apache.user; - group = apache.group; - permissions = "0400"; - text = '' - # This file is auto-generated during the composer install - parameters: - database_host: ${config.mysql.host} - database_port: ${config.mysql.port} - database_name: ${config.mysql.name} - database_user: ${config.mysql.user} - database_password: ${config.mysql.password} - database_server_version: ${pkgs.mariadb.mysqlVersion} - mailer_transport: sendmail - mailer_host: null - mailer_user: null - mailer_password: null - subscription_email: ${config.email} - allow_robots: true - secret: ${config.secret} - ${if app.environment == "prod" then '' - services: - swiftmailer.mailer.default.transport: - class: Swift_SendmailTransport - arguments: ['/run/wrappers/bin/sendmail -bs'] - '' else ""} - ''; - }]; - phpFpm = rec { - preStart = '' - if [ ! -f "${app.varDir}/currentWebappDir" -o \ - ! -f "${app.varDir}/currentKey" -o \ - "${app}" != "$(cat ${app.varDir}/currentWebappDir 2>/dev/null)" ] \ - || ! sha512sum -c --status ${app.varDir}/currentKey; then - pushd ${app} > /dev/null - /run/wrappers/bin/sudo -u wwwrun ./bin/console --env=${app.environment} cache:clear --no-warmup - popd > /dev/null - echo -n "${app}" > ${app.varDir}/currentWebappDir - sha512sum /var/secrets/webapps/${app.environment}-connexionswing > ${app.varDir}/currentKey - fi - ''; - serviceDeps = [ "mysql.service" ]; - socket = "/var/run/phpfpm/connexionswing-${app.environment}.sock"; - phpConfig = '' - extension=${phpPackages.imagick}/lib/php/extensions/imagick.so - ''; - 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] = "/run/wrappers/bin/sendmail:/var/secrets/webapps/${app.environment}-connexionswing:${app}:${app.varDir}:/tmp" - php_admin_value[session.save_path] = "${app.varDir}/phpSessions" - ${if app.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 = rec { - user = "wwwrun"; - group = "wwwrun"; - modules = [ "proxy_fcgi" ]; - webappName = "connexionswing_${app.environment}"; - root = "/run/current-system/webapps/${webappName}"; - vhostConf = '' - - SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" - - - - Options FollowSymLinks - AllowOverride None - Require all granted - - - - Options FollowSymLinks - AllowOverride None - Require all granted - - - ${if app.environment == "dev" then '' - - Use LDAPConnect - Require ldap-group cn=connexionswing.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu - ErrorDocument 401 "" - - - - Options Indexes FollowSymLinks MultiViews Includes - AllowOverride None - Require all granted - - DirectoryIndex app_dev.php - - - Options -MultiViews - - - - RewriteEngine On - - RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ - RewriteRule ^(.*) - [E=BASE:%1] - - # Maintenance script - RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f - RewriteCond %{SCRIPT_FILENAME} !maintenance.php - RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L] - ErrorDocument 503 /maintenance.php - - # Sets the HTTP_AUTHORIZATION header removed by Apache - RewriteCond %{HTTP:Authorization} . - RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - - RewriteCond %{ENV:REDIRECT_STATUS} ^$ - RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] - - # If the requested filename exists, simply serve it. - # We only want to let Apache serve files and not directories. - RewriteCond %{REQUEST_FILENAME} -f - RewriteRule ^ - [L] - - # Rewrite all other queries to the front controller. - RewriteRule ^ %{ENV:BASE}/app_dev.php [L] - - - - '' else '' - Use Stats connexionswing.com - - - Options Indexes FollowSymLinks MultiViews Includes - AllowOverride All - Require all granted - - ''} - ''; - }; - activationScript = { - deps = [ "wrappers" ]; - text = '' - install -m 0755 -o ${apache.user} -g ${apache.group} -d ${app.varDir} \ - ${app.varDir}/medias \ - ${app.varDir}/uploads \ - ${app.varDir}/var - install -m 0750 -o ${apache.user} -g ${apache.group} -d ${app.varDir}/phpSessions - ''; - }; -} diff --git a/nixops/modules/websites/connexionswing/default.nix b/nixops/modules/websites/connexionswing/default.nix deleted file mode 100644 index 20c5166..0000000 --- a/nixops/modules/websites/connexionswing/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ lib, pkgs, config, myconfig, ... }: -let - connexionswing_dev = pkgs.callPackage ./connexionswing.nix { - inherit (pkgs.webapps) connexionswing; - config = myconfig.env.websites.connexionswing.integration; - }; - connexionswing_prod = pkgs.callPackage ./connexionswing.nix { - inherit (pkgs.webapps) connexionswing; - config = myconfig.env.websites.connexionswing.production; - }; - - cfg = config.services.myWebsites.Connexionswing; -in { - options.services.myWebsites.Connexionswing = { - production = { - enable = lib.mkEnableOption "enable Connexionswing's website in production"; - }; - integration = { - enable = lib.mkEnableOption "enable Connexionswing's website in integration"; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf cfg.production.enable { - secrets.keys = connexionswing_prod.keys; - services.webstats.sites = [ { name = "connexionswing.com"; } ]; - - services.myPhpfpm.preStart.connexionswing_prod = connexionswing_prod.phpFpm.preStart; - services.myPhpfpm.serviceDependencies.connexionswing_prod = connexionswing_prod.phpFpm.serviceDeps; - services.myPhpfpm.poolConfigs.connexionswing_prod = connexionswing_prod.phpFpm.pool; - services.myPhpfpm.poolPhpConfigs.connexionswing_prod = connexionswing_prod.phpFpm.phpConfig; - system.activationScripts.connexionswing_prod = connexionswing_prod.activationScript; - system.extraSystemBuilderCmds = '' - mkdir -p $out/webapps - ln -s ${connexionswing_prod.app.webRoot} $out/webapps/${connexionswing_prod.apache.webappName} - ''; - services.websites.production.modules = connexionswing_prod.apache.modules; - services.websites.production.vhostConfs.connexionswing = { - certName = "connexionswing"; - certMainHost = "connexionswing.com"; - hosts = ["connexionswing.com" "sandetludo.com" "www.connexionswing.com" "www.sandetludo.com" ]; - root = connexionswing_prod.apache.root; - extraConfig = [ connexionswing_prod.apache.vhostConf ]; - }; - }) - (lib.mkIf cfg.integration.enable { - secrets.keys = connexionswing_dev.keys; - services.myPhpfpm.preStart.connexionswing_dev = connexionswing_dev.phpFpm.preStart; - services.myPhpfpm.serviceDependencies.connexionswing_dev = connexionswing_dev.phpFpm.serviceDeps; - services.myPhpfpm.poolConfigs.connexionswing_dev = connexionswing_dev.phpFpm.pool; - services.myPhpfpm.poolPhpConfigs.connexionswing_dev = connexionswing_dev.phpFpm.phpConfig; - system.activationScripts.connexionswing_dev = connexionswing_dev.activationScript; - system.extraSystemBuilderCmds = '' - mkdir -p $out/webapps - ln -s ${connexionswing_dev.app.webRoot} $out/webapps/${connexionswing_dev.apache.webappName} - ''; - services.websites.integration.modules = connexionswing_dev.apache.modules; - services.websites.integration.vhostConfs.connexionswing = { - certName = "eldiron"; - addToCerts = true; - hosts = ["connexionswing.immae.eu" "sandetludo.immae.eu" ]; - root = connexionswing_dev.apache.root; - extraConfig = [ connexionswing_dev.apache.vhostConf ]; - }; - }) - ]; -} - -- cgit v1.2.3