diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2021-10-20 22:29:09 +0200 |
---|---|---|
committer | Maciej Krüger <mkg20001@gmail.com> | 2021-11-03 14:29:27 +0100 |
commit | 0cecb3303a960266b6ac301ce8876a62159f48f0 (patch) | |
tree | b09b540b032c1944e2088718f70802388e42936e /pkgs/tools/virtualization/lxd-image-server | |
parent | 1cc3c4506448f6decf27eabfe1303105c40de628 (diff) | |
download | nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar.gz nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar.bz2 nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar.lz nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar.xz nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.tar.zst nixpkgs-0cecb3303a960266b6ac301ce8876a62159f48f0.zip |
lxd-image-server: init at 0.0.4
Diffstat (limited to 'pkgs/tools/virtualization/lxd-image-server')
-rw-r--r-- | pkgs/tools/virtualization/lxd-image-server/default.nix | 47 | ||||
-rw-r--r-- | pkgs/tools/virtualization/lxd-image-server/run.patch | 25 | ||||
-rw-r--r-- | pkgs/tools/virtualization/lxd-image-server/state.patch | 49 |
3 files changed, 121 insertions, 0 deletions
diff --git a/pkgs/tools/virtualization/lxd-image-server/default.nix b/pkgs/tools/virtualization/lxd-image-server/default.nix new file mode 100644 index 00000000000..3992f425a3c --- /dev/null +++ b/pkgs/tools/virtualization/lxd-image-server/default.nix @@ -0,0 +1,47 @@ +{ lib +, openssl +, rsync +, python3 +, fetchFromGitHub +}: + +python3.pkgs.buildPythonApplication rec { + pname = "lxd-image-server"; + version = "0.0.4"; + + src = fetchFromGitHub { + owner = "Avature"; + repo = "lxd-image-server"; + rev = version; + sha256 = "yx8aUmMfSzyWaM6M7+WcL6ouuWwOpqLzODWSdNgwCwo="; + }; + + patches = [ + ./state.patch + ./run.patch + ]; + + propagatedBuildInputs = with python3.pkgs; [ + setuptools + attrs + click + inotify + cryptography + confight + python-pidfile + ]; + + makeWrapperArgs = [ + ''--prefix PATH ':' "${lib.makeBinPath [ openssl rsync ]}"'' + ]; + + doCheck = false; + + meta = with lib; { + description = "Creates and manages a simplestreams lxd image server on top of nginx"; + homepage = "https://github.com/Avature/lxd-image-server"; + license = licenses.apsl20; + platforms = platforms.unix; + maintainers = with maintainers; [ mkg20001 ]; + }; +} diff --git a/pkgs/tools/virtualization/lxd-image-server/run.patch b/pkgs/tools/virtualization/lxd-image-server/run.patch new file mode 100644 index 00000000000..bd1172c1f86 --- /dev/null +++ b/pkgs/tools/virtualization/lxd-image-server/run.patch @@ -0,0 +1,25 @@ +From df2ce9fb48a3790407646a388e0d220a75496c52 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com> +Date: Wed, 3 Nov 2021 14:23:38 +0100 +Subject: [PATCH] /var/run -> /run + +--- + lxd_image_server/tools/config.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lxd_image_server/tools/config.py b/lxd_image_server/tools/config.py +index 60e8973..23d392a 100644 +--- a/lxd_image_server/tools/config.py ++++ b/lxd_image_server/tools/config.py +@@ -9,7 +9,7 @@ import confight + class Config(): + + _lock = Lock() +- pidfile = Path('/var/run/lxd-image-server/pidfile') ++ pidfile = Path('/run/lxd-image-server/pidfile') + data = {} + + @classmethod +-- +2.33.0 + diff --git a/pkgs/tools/virtualization/lxd-image-server/state.patch b/pkgs/tools/virtualization/lxd-image-server/state.patch new file mode 100644 index 00000000000..c6677ea48e9 --- /dev/null +++ b/pkgs/tools/virtualization/lxd-image-server/state.patch @@ -0,0 +1,49 @@ +From 17a1e09eaf8957174425d05200be9ee3e77229f9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com> +Date: Thu, 21 Oct 2021 00:39:08 +0200 +Subject: [PATCH] Remove system-state changing code + +This is already done by the module on nixOS +--- + lxd_image_server/cli.py | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +diff --git a/lxd_image_server/cli.py b/lxd_image_server/cli.py +index d276e6d..f759bf2 100644 +--- a/lxd_image_server/cli.py ++++ b/lxd_image_server/cli.py +@@ -140,30 +140,17 @@ def reload_config(): + @cli.command() + @click.option('--root_dir', default='/var/www/simplestreams', + show_default=True) +-@click.option('--ssl_dir', default='/etc/nginx/ssl', show_default=True, +- callback=lambda ctx, param, val: Path(val)) + @click.pass_context +-def init(ctx, root_dir, ssl_dir): ++def init(ctx, root_dir): + if not Path(root_dir).exists(): + logger.error('Root directory does not exists') + else: +- if not ssl_dir.exists(): +- os.makedirs(str(ssl_dir)) +- +- if not (ssl_dir / 'nginx.key').exists(): +- generate_cert(str(ssl_dir)) +- + img_dir = str(Path(root_dir, 'images')) + streams_dir = str(Path(root_dir, 'streams/v1')) + if not Path(img_dir).exists(): + os.makedirs(img_dir) + if not Path(streams_dir).exists(): + os.makedirs(streams_dir) +- conf_path = Path('/etc/nginx/sites-enabled/simplestreams.conf') +- if not conf_path.exists(): +- conf_path.symlink_to( +- '/etc/nginx/sites-available/simplestreams.conf') +- os.system('nginx -s reload') + + if not Path(root_dir, 'streams', 'v1', 'images.json').exists(): + ctx.invoke(update, img_dir=Path(root_dir, 'images'), +-- +2.33.0 + |