mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-19 12:14:10 +00:00
svn path=/nixos/trunk/; revision=10693
This commit is contained in:
parent
a06b51f895
commit
7563d6e144
@ -3,31 +3,8 @@
|
||||
let
|
||||
|
||||
inherit (pkgs.lib) mkOption;
|
||||
|
||||
urlPrefix = "/release";
|
||||
distDir = "/tmp/dist";
|
||||
distPasswords = "/tmp/dist-conf/upload_passwords";
|
||||
|
||||
directoriesConf = pkgs.writeText "directories.conf" ''
|
||||
nix ${distDir}/nix nix-upload
|
||||
nix-cache ${distDir}/nix-cache nix-upload stratego-upload autobundle-upload swe-upload meta-environment-upload hut-upload
|
||||
test ${distDir}/test test-upload nix-upload
|
||||
test-cache ${distDir}/test-cache test-upload nix-upload
|
||||
stratego ${distDir}/stratego stratego-upload
|
||||
autobundle ${distDir}/autobundle autobundle-upload
|
||||
courses ${distDir}/courses swe-upload
|
||||
meta-environment ${distDir}/meta-environment meta-environment-upload
|
||||
hut ${distDir}/hut hut-upload
|
||||
'';
|
||||
|
||||
uploaderIPs = [
|
||||
"127.0.0.1"
|
||||
"10.0.0.0/255.0.0.0"
|
||||
"131.211.0.0/255.255.0.0" # *.cs.uu.nl
|
||||
"130.145.0.0/255.255.0.0" # philips.com
|
||||
"130.161.158.181" # TUD supervisor
|
||||
];
|
||||
|
||||
inherit (config) urlPrefix distDir;
|
||||
|
||||
staticFiles = substituteInAll {
|
||||
name = "dist-manager-files";
|
||||
src = pkgs.lib.cleanSource ../../../services/dist-manager/files;
|
||||
@ -36,7 +13,9 @@ let
|
||||
|
||||
inherit (serverInfo) canonicalName;
|
||||
|
||||
inherit urlPrefix directoriesConf;
|
||||
inherit urlPrefix;
|
||||
|
||||
directoriesConf = pkgs.writeText "directories.conf" config.directoriesConf;
|
||||
|
||||
defaultPath = "${pkgs.coreutils}/bin:${pkgs.findutils}/bin";
|
||||
|
||||
@ -74,12 +53,12 @@ in {
|
||||
SetHandler cgi-script
|
||||
|
||||
Order allow,deny
|
||||
${pkgs.lib.concatMapStrings (ip: "Allow from ${ip}\n") uploaderIPs}
|
||||
${pkgs.lib.concatMapStrings (ip: "Allow from ${ip}\n") config.uploaderIPs}
|
||||
|
||||
Require valid-user
|
||||
AuthType Basic
|
||||
AuthName "Nix Upload"
|
||||
AuthUserFile ${distPasswords}
|
||||
AuthUserFile ${config.distPasswords}
|
||||
</Directory>
|
||||
|
||||
Alias ${urlPrefix} ${distDir}/
|
||||
@ -111,6 +90,46 @@ in {
|
||||
|
||||
options = {
|
||||
|
||||
urlPrefix = mkOption {
|
||||
default = "/dist";
|
||||
description = ''
|
||||
The URL prefix under which the release pages appear.
|
||||
'';
|
||||
};
|
||||
|
||||
distDir = mkOption {
|
||||
example = "/data/dist";
|
||||
description = ''
|
||||
Path to the top-level release directory.
|
||||
'';
|
||||
};
|
||||
|
||||
distPasswords = mkOption {
|
||||
example = "/data/dist-passwords";
|
||||
description = ''
|
||||
Location of the password file for the uploading of releases.
|
||||
'';
|
||||
};
|
||||
|
||||
uploaderIPs = mkOption {
|
||||
default = [];
|
||||
example = ["127.0.0.1" "192.168.1.0/255.255.255.0"];
|
||||
description = ''
|
||||
IP address or address ranges of the machines that are allowed to upload releases.
|
||||
'';
|
||||
};
|
||||
|
||||
directoriesConf = mkOption {
|
||||
example = ''
|
||||
fnord /data/dist/fnord fnord-upload
|
||||
'';
|
||||
description = ''
|
||||
The per-project release directories, with each line containing
|
||||
the project name, the corresponding release directory, and the
|
||||
users that can upload to that directory.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -373,9 +373,9 @@ in {
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
default = "/no/such/path/exists";
|
||||
example = "/data/subversion";
|
||||
description = "
|
||||
Place to put SVN repository.
|
||||
Path to the directory that holds the repositories, user database, etc.
|
||||
";
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user