Compare commits

..

No commits in common. "pixelfed-on-metal-2" and "main" have entirely different histories.

2 changed files with 16 additions and 30 deletions

View file

@ -14,7 +14,6 @@ let
inherit (builtins) toString; inherit (builtins) toString;
inherit (lib) types mkOption mkEnableOption optionalString concatStringsSep; inherit (lib) types mkOption mkEnableOption optionalString concatStringsSep;
inherit (lib.strings) escapeShellArg; inherit (lib.strings) escapeShellArg;
inherit (lib.attrsets) filterAttrs mapAttrs';
cfg = config.services.garage; cfg = config.services.garage;
fedicfg = config.fediversity.internal.garage; fedicfg = config.fediversity.internal.garage;
concatMapAttrs = scriptFn: attrset: concatStringsSep "\n" (lib.mapAttrsToList scriptFn attrset); concatMapAttrs = scriptFn: attrset: concatStringsSep "\n" (lib.mapAttrsToList scriptFn attrset);
@ -160,23 +159,17 @@ in
}; };
}; };
## Create a proxy from <bucket>.web.garage.<domain> to localhost:3902 for services.nginx.virtualHosts.${fedicfg.web.rootDomain} = {
## each bucket that has `website = true`. forceSSL = true;
services.nginx.virtualHosts = enableACME = true;
let serverAliases = lib.mapAttrsToList (bucket: _: fedicfg.web.domainForBucket bucket) cfg.ensureBuckets; ## TODO: use wildcard certificates?
value = { locations."/" = {
forceSSL = true; proxyPass = "http://localhost:3902";
enableACME = true; extraConfig = ''
locations."/" = { proxy_set_header Host $host;
proxyPass = "http://localhost:3902"; '';
extraConfig = '' };
proxy_set_header Host $host; };
'';
};
};
in mapAttrs'
(bucket: _: {name = fedicfg.web.domainForBucket bucket; inherit value;})
(filterAttrs (_: {website, ...}: website) cfg.ensureBuckets);
systemd.services.ensure-garage = { systemd.services.ensure-garage = {
after = [ "garage.service" ]; after = [ "garage.service" ];

View file

@ -1,24 +1,17 @@
{ lib, config, modulesPath, ... }: { lib, config, modulesPath, ... }:
let let
inherit (lib) mkVMOverride mapAttrs' filterAttrs; inherit (lib) mkVMOverride;
cfg = config.services.garage;
fedicfg = config.fediversity.internal.garage; fedicfg = config.fediversity.internal.garage;
in { in {
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ]; imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
services.nginx.virtualHosts = services.nginx.virtualHosts.${fedicfg.web.rootDomain} = {
let forceSSL = mkVMOverride false;
value = { enableACME = mkVMOverride false;
forceSSL = mkVMOverride false; };
enableACME = mkVMOverride false;
};
in mapAttrs'
(bucket: _: {name = fedicfg.web.domainForBucket bucket; inherit value;})
(filterAttrs (_: {website, ...}: website) cfg.ensureBuckets);
virtualisation.diskSize = 2048; virtualisation.diskSize = 2048;
virtualisation.forwardPorts = [ virtualisation.forwardPorts = [