From 8f904d0d982684e8e66dfc5d9123712eb96bf16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sun, 12 May 2019 17:57:20 +0200 Subject: Refactor a bit httpd/webapps configuration: - alias private to pkgs - move default apache vhost to pkgs --- .../modules/websites/apache/per-server-options.nix | 188 --------------------- nixops/modules/websites/aten/default.nix | 4 +- nixops/modules/websites/chloe/default.nix | 4 +- nixops/modules/websites/connexionswing/default.nix | 4 +- nixops/modules/websites/default.nix | 18 +- nixops/modules/websites/ludivine/default.nix | 4 +- nixops/modules/websites/piedsjaloux/default.nix | 4 +- nixops/modules/websites/tellesflorian/default.nix | 2 +- 8 files changed, 13 insertions(+), 215 deletions(-) delete mode 100644 nixops/modules/websites/apache/per-server-options.nix (limited to 'nixops/modules/websites') diff --git a/nixops/modules/websites/apache/per-server-options.nix b/nixops/modules/websites/apache/per-server-options.nix deleted file mode 100644 index 4bbd041..0000000 --- a/nixops/modules/websites/apache/per-server-options.nix +++ /dev/null @@ -1,188 +0,0 @@ -# This file defines the options that can be used both for the Apache -# main server configuration, and for the virtual hosts. (The latter -# has additional options that affect the web server as a whole, like -# the user/group to run under.) - -{ forMainServer, lib }: - -with lib; - -{ - - hostName = mkOption { - type = types.str; - default = "localhost"; - description = "Canonical hostname for the server."; - }; - - serverAliases = mkOption { - type = types.listOf types.str; - default = []; - example = ["www.example.org" "www.example.org:8080" "example.org"]; - description = '' - Additional names of virtual hosts served by this virtual host configuration. - ''; - }; - - port = mkOption { - type = types.int; - default = 0; - description = '' - Port for the server. Option will be removed, use instead. - ''; - }; - - listen = mkOption { - type = types.listOf (types.submodule ( - { - options = { - port = mkOption { - type = types.int; - description = "port to listen on"; - }; - ip = mkOption { - type = types.string; - default = "*"; - description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all."; - }; - }; - } )); - description = '' - List of { /* ip: "*"; */ port = 80;} to listen on - ''; - - default = []; - }; - - enableSSL = mkOption { - type = types.bool; - default = false; - description = "Whether to enable SSL (https) support."; - }; - - # Note: sslServerCert and sslServerKey can be left empty, but this - # only makes sense for virtual hosts (they will inherit from the - # main server). - - sslServerCert = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/host.cert"; - description = "Path to server SSL certificate."; - }; - - sslServerKey = mkOption { - type = types.path; - example = "/var/host.key"; - description = "Path to server SSL certificate key."; - }; - - sslServerChain = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/ca.pem"; - description = "Path to server SSL chain file."; - }; - - adminAddr = mkOption ({ - type = types.nullOr types.str; - example = "admin@example.org"; - description = "E-mail address of the server administrator."; - } // (if forMainServer then {} else {default = null;})); - - documentRoot = mkOption { - type = types.nullOr types.path; - default = null; - example = "/data/webserver/docs"; - description = '' - The path of Apache's document root directory. If left undefined, - an empty directory in the Nix store will be used as root. - ''; - }; - - servedDirs = mkOption { - type = types.listOf types.attrs; - default = []; - example = [ - { urlPath = "/nix"; - dir = "/home/eelco/Dev/nix-homepage"; - } - ]; - description = '' - This option provides a simple way to serve static directories. - ''; - }; - - servedFiles = mkOption { - type = types.listOf types.attrs; - default = []; - example = [ - { urlPath = "/foo/bar.png"; - file = "/home/eelco/some-file.png"; - } - ]; - description = '' - This option provides a simple way to serve individual, static files. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - example = '' - - Options FollowSymlinks - AllowOverride All - - ''; - description = '' - These lines go to httpd.conf verbatim. They will go after - directories and directory aliases defined by default. - ''; - }; - - extraSubservices = mkOption { - type = types.listOf types.unspecified; - default = []; - description = "Extra subservices to enable in the webserver."; - }; - - enableUserDir = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable serving ~/public_html as - /~username. - ''; - }; - - globalRedirect = mkOption { - type = types.nullOr types.str; - default = null; - example = http://newserver.example.org/; - description = '' - If set, all requests for this host are redirected permanently to - the given URL. - ''; - }; - - logFormat = mkOption { - type = types.str; - default = "common"; - example = "combined"; - description = '' - Log format for Apache's log files. Possible values are: combined, common, referer, agent. - ''; - }; - - robotsEntries = mkOption { - type = types.lines; - default = ""; - example = "Disallow: /foo/"; - description = '' - Specification of pages to be ignored by web crawlers. See for details. - ''; - }; - -} diff --git a/nixops/modules/websites/aten/default.nix b/nixops/modules/websites/aten/default.nix index 0b2ce69..70bb34b 100644 --- a/nixops/modules/websites/aten/default.nix +++ b/nixops/modules/websites/aten/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, myconfig, ... }: let aten_dev = pkgs.callPackage ./aten.nix { - inherit (pkgs.private.webapps) aten; + inherit (pkgs.webapps) aten; config = myconfig.env.websites.aten.integration; }; aten_prod = pkgs.callPackage ./aten.nix { - inherit (pkgs.private.webapps) aten; + inherit (pkgs.webapps) aten; config = myconfig.env.websites.aten.production; }; diff --git a/nixops/modules/websites/chloe/default.nix b/nixops/modules/websites/chloe/default.nix index ea984ae..ce67bed 100644 --- a/nixops/modules/websites/chloe/default.nix +++ b/nixops/modules/websites/chloe/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, myconfig, ... }: let chloe_dev = pkgs.callPackage ./chloe.nix { - inherit (pkgs.private.webapps) chloe; + inherit (pkgs.webapps) chloe; config = myconfig.env.websites.chloe.integration; }; chloe_prod = pkgs.callPackage ./chloe.nix { - inherit (pkgs.private.webapps) chloe; + inherit (pkgs.webapps) chloe; config = myconfig.env.websites.chloe.production; }; diff --git a/nixops/modules/websites/connexionswing/default.nix b/nixops/modules/websites/connexionswing/default.nix index e31a574..b19af7e 100644 --- a/nixops/modules/websites/connexionswing/default.nix +++ b/nixops/modules/websites/connexionswing/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, myconfig, ... }: let connexionswing_dev = pkgs.callPackage ./connexionswing.nix { - inherit (pkgs.private.webapps) connexionswing; + inherit (pkgs.webapps) connexionswing; config = myconfig.env.websites.connexionswing.integration; }; connexionswing_prod = pkgs.callPackage ./connexionswing.nix { - inherit (pkgs.private.webapps) connexionswing; + inherit (pkgs.webapps) connexionswing; config = myconfig.env.websites.connexionswing.production; }; diff --git a/nixops/modules/websites/default.nix b/nixops/modules/websites/default.nix index 891d917..8bbb344 100644 --- a/nixops/modules/websites/default.nix +++ b/nixops/modules/websites/default.nix @@ -288,21 +288,7 @@ in ''; }; global = { - extraConfig = '' - ErrorDocument 500 /maintenance_immae.html - ErrorDocument 501 /maintenance_immae.html - ErrorDocument 502 /maintenance_immae.html - ErrorDocument 503 /maintenance_immae.html - ErrorDocument 504 /maintenance_immae.html - Alias /maintenance_immae.html ${www_root}/maintenance_immae.html - ProxyPass /maintenance_immae.html ! - - AliasMatch "(.*)/googleb6d69446ff4ca3e5.html" ${www_root}/googleb6d69446ff4ca3e5.html - - AllowOverride None - Require all granted - - ''; + extraConfig = (pkgs.webapps.apache-default.override { inherit www_root;}).apacheConfig; }; apaxy = { extraConfig = (pkgs.webapps.apache-theme.override { inherit theme_root; }).apacheConfig; @@ -336,7 +322,7 @@ in adminer = pkgs.callPackage ./commons/adminer.nix {}; in '' mkdir -p $out/webapps - ln -s ${../../www} $out/webapps/_www + ln -s ${pkgs.webapps.apache-default.www} $out/webapps/_www ln -s ${pkgs.webapps.apache-theme.theme} $out/webapps/_theme ln -s ${adminer.webRoot} $out/webapps/${adminer.apache.webappName} ''; diff --git a/nixops/modules/websites/ludivine/default.nix b/nixops/modules/websites/ludivine/default.nix index 69c5720..df75eff 100644 --- a/nixops/modules/websites/ludivine/default.nix +++ b/nixops/modules/websites/ludivine/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, myconfig, ... }: let ludivinecassal_dev = pkgs.callPackage ./ludivinecassal.nix { - inherit (pkgs.private.webapps) ludivinecassal; + inherit (pkgs.webapps) ludivinecassal; config = myconfig.env.websites.ludivinecassal.integration; }; ludivinecassal_prod = pkgs.callPackage ./ludivinecassal.nix { - inherit (pkgs.private.webapps) ludivinecassal; + inherit (pkgs.webapps) ludivinecassal; config = myconfig.env.websites.ludivinecassal.production; }; diff --git a/nixops/modules/websites/piedsjaloux/default.nix b/nixops/modules/websites/piedsjaloux/default.nix index 97f9557..10c1f6c 100644 --- a/nixops/modules/websites/piedsjaloux/default.nix +++ b/nixops/modules/websites/piedsjaloux/default.nix @@ -1,11 +1,11 @@ { lib, pkgs, config, myconfig, ... }: let piedsjaloux_dev = pkgs.callPackage ./piedsjaloux.nix { - inherit (pkgs.private.webapps) piedsjaloux; + inherit (pkgs.webapps) piedsjaloux; config = myconfig.env.websites.piedsjaloux.integration; }; piedsjaloux_prod = pkgs.callPackage ./piedsjaloux.nix { - inherit (pkgs.private.webapps) piedsjaloux; + inherit (pkgs.webapps) piedsjaloux; config = myconfig.env.websites.piedsjaloux.production; }; diff --git a/nixops/modules/websites/tellesflorian/default.nix b/nixops/modules/websites/tellesflorian/default.nix index da4b5a6..93ee023 100644 --- a/nixops/modules/websites/tellesflorian/default.nix +++ b/nixops/modules/websites/tellesflorian/default.nix @@ -3,7 +3,7 @@ let adminer = pkgs.callPackage ../commons/adminer.nix {}; tellesflorian_dev = pkgs.callPackage ./tellesflorian.nix { - inherit (pkgs.private.webapps) tellesflorian; + inherit (pkgs.webapps) tellesflorian; config = myconfig.env.websites.tellesflorian.integration; }; -- cgit v1.2.3