forked from Fediversity/Fediversity
services.garage
-> fediversity.garage
for the options that are ours; we want to avoid clashes if possible
This commit is contained in:
parent
b68a821b77
commit
d9188427ed
9 changed files with 81 additions and 86 deletions
|
@ -7,7 +7,6 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
# TODO: expand to a multi-machine setup
|
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
@ -66,7 +65,7 @@ let
|
||||||
garage bucket deny --read --write --owner ${bucketArg} --key tmp
|
garage bucket deny --read --write --owner ${bucketArg} --key tmp
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
ensureBucketsScript = concatMapAttrs ensureBucketScriptFn cfg.ensureBuckets;
|
ensureBucketsScript = concatMapAttrs ensureBucketScriptFn config.fediversity.garage.ensureBuckets;
|
||||||
ensureAccessScriptFn =
|
ensureAccessScriptFn =
|
||||||
key: bucket:
|
key: bucket:
|
||||||
{
|
{
|
||||||
|
@ -90,7 +89,7 @@ let
|
||||||
garage key import --yes -n ${escapeShellArg key} ${escapeShellArg id} ${escapeShellArg secret} || :
|
garage key import --yes -n ${escapeShellArg key} ${escapeShellArg id} ${escapeShellArg secret} || :
|
||||||
${concatMapAttrs (ensureAccessScriptFn key) ensureAccess}
|
${concatMapAttrs (ensureAccessScriptFn key) ensureAccess}
|
||||||
'';
|
'';
|
||||||
ensureKeysScript = concatMapAttrs ensureKeyScriptFn cfg.ensureKeys;
|
ensureKeysScript = concatMapAttrs ensureKeyScriptFn config.fediversity.garage.ensureKeys;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -149,7 +148,7 @@ in
|
||||||
mapAttrs' (bucket: _: {
|
mapAttrs' (bucket: _: {
|
||||||
name = fedicfg.web.domainForBucket bucket;
|
name = fedicfg.web.domainForBucket bucket;
|
||||||
inherit value;
|
inherit value;
|
||||||
}) (filterAttrs (_: { website, ... }: website) cfg.ensureBuckets);
|
}) (filterAttrs (_: { website, ... }: website) config.fediversity.garage.ensureBuckets);
|
||||||
|
|
||||||
systemd.services.ensure-garage = {
|
systemd.services.ensure-garage = {
|
||||||
after = [ "garage.service" ];
|
after = [ "garage.service" ];
|
||||||
|
|
|
@ -5,8 +5,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
options.fediversity.garage = {
|
||||||
services.garage = {
|
|
||||||
ensureBuckets = mkOption {
|
ensureBuckets = mkOption {
|
||||||
type = types.attrsOf (
|
type = types.attrsOf (
|
||||||
types.submodule {
|
types.submodule {
|
||||||
|
@ -40,6 +39,7 @@ in
|
||||||
);
|
);
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
ensureKeys = mkOption {
|
ensureKeys = mkOption {
|
||||||
type = types.attrsOf (
|
type = types.attrsOf (
|
||||||
types.submodule {
|
types.submodule {
|
||||||
|
@ -76,5 +76,4 @@ in
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ in
|
||||||
|
|
||||||
lib.mkIf (config.fediversity.enable && config.fediversity.mastodon.enable) {
|
lib.mkIf (config.fediversity.enable && config.fediversity.mastodon.enable) {
|
||||||
#### garage setup
|
#### garage setup
|
||||||
services.garage = {
|
fediversity.garage = {
|
||||||
ensureBuckets = {
|
ensureBuckets = {
|
||||||
mastodon = {
|
mastodon = {
|
||||||
website = true;
|
website = true;
|
||||||
|
|
|
@ -17,7 +17,7 @@ lib.mkIf (config.fediversity.enable && config.fediversity.peertube.enable) {
|
||||||
1936
|
1936
|
||||||
];
|
];
|
||||||
|
|
||||||
services.garage = {
|
fediversity.garage = {
|
||||||
ensureBuckets = {
|
ensureBuckets = {
|
||||||
peertube-videos = {
|
peertube-videos = {
|
||||||
website = true;
|
website = true;
|
||||||
|
|
|
@ -13,7 +13,7 @@ in
|
||||||
}:
|
}:
|
||||||
|
|
||||||
lib.mkIf (config.fediversity.enable && config.fediversity.pixelfed.enable) {
|
lib.mkIf (config.fediversity.enable && config.fediversity.pixelfed.enable) {
|
||||||
services.garage = {
|
fediversity.garage = {
|
||||||
ensureBuckets = {
|
ensureBuckets = {
|
||||||
pixelfed = {
|
pixelfed = {
|
||||||
website = true;
|
website = true;
|
||||||
|
|
|
@ -69,8 +69,8 @@ pkgs.nixosTest {
|
||||||
expect
|
expect
|
||||||
];
|
];
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
AWS_ACCESS_KEY_ID = config.services.garage.ensureKeys.mastodon.id;
|
AWS_ACCESS_KEY_ID = config.fediversity.garage.ensureKeys.mastodon.id;
|
||||||
AWS_SECRET_ACCESS_KEY = config.services.garage.ensureKeys.mastodon.secret;
|
AWS_SECRET_ACCESS_KEY = config.fediversity.garage.ensureKeys.mastodon.secret;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -197,8 +197,8 @@ pkgs.nixosTest {
|
||||||
systemd.services.postgresql.serviceConfig.TimeoutSec = lib.mkForce 3600;
|
systemd.services.postgresql.serviceConfig.TimeoutSec = lib.mkForce 3600;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
AWS_ACCESS_KEY_ID = config.services.garage.ensureKeys.peertube.id;
|
AWS_ACCESS_KEY_ID = config.fediversity.garage.ensureKeys.peertube.id;
|
||||||
AWS_SECRET_ACCESS_KEY = config.services.garage.ensureKeys.peertube.secret;
|
AWS_SECRET_ACCESS_KEY = config.fediversity.garage.ensureKeys.peertube.secret;
|
||||||
PT_INITIAL_ROOT_PASSWORD = "testtest";
|
PT_INITIAL_ROOT_PASSWORD = "testtest";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, self }:
|
{ pkgs, self }:
|
||||||
|
|
||||||
let
|
let
|
||||||
lib = pkgs.lib;
|
lib = pkgs.lib;
|
||||||
|
|
||||||
|
@ -160,8 +161,8 @@ pkgs.nixosTest {
|
||||||
];
|
];
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
POST_MEDIA = ./fediversity.png;
|
POST_MEDIA = ./fediversity.png;
|
||||||
AWS_ACCESS_KEY_ID = config.services.garage.ensureKeys.pixelfed.id;
|
AWS_ACCESS_KEY_ID = config.fediversity.garage.ensureKeys.pixelfed.id;
|
||||||
AWS_SECRET_ACCESS_KEY = config.services.garage.ensureKeys.pixelfed.secret;
|
AWS_SECRET_ACCESS_KEY = config.fediversity.garage.ensureKeys.pixelfed.secret;
|
||||||
## without this we get frivolous errors in the logs
|
## without this we get frivolous errors in the logs
|
||||||
MC_REGION = "garage";
|
MC_REGION = "garage";
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,10 +8,6 @@
|
||||||
let
|
let
|
||||||
inherit (lib) mkVMOverride mapAttrs' filterAttrs;
|
inherit (lib) mkVMOverride mapAttrs' filterAttrs;
|
||||||
|
|
||||||
cfg = config.services.garage;
|
|
||||||
|
|
||||||
fedicfg = config.fediversity.internal.garage;
|
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
||||||
|
@ -24,21 +20,21 @@ in
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mapAttrs' (bucket: _: {
|
mapAttrs' (bucket: _: {
|
||||||
name = fedicfg.web.domainForBucket bucket;
|
name = config.fediversity.internal.garage.web.domainForBucket bucket;
|
||||||
inherit value;
|
inherit value;
|
||||||
}) (filterAttrs (_: { website, ... }: website) cfg.ensureBuckets);
|
}) (filterAttrs (_: { website, ... }: website) config.fediversity.garage.ensureBuckets);
|
||||||
|
|
||||||
virtualisation.diskSize = 2048;
|
virtualisation.diskSize = 2048;
|
||||||
virtualisation.forwardPorts = [
|
virtualisation.forwardPorts = [
|
||||||
{
|
{
|
||||||
from = "host";
|
from = "host";
|
||||||
host.port = fedicfg.rpc.port;
|
host.port = config.fediversity.internal.garage.rpc.port;
|
||||||
guest.port = fedicfg.rpc.port;
|
guest.port = config.fediversity.internal.garage.rpc.port;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
from = "host";
|
from = "host";
|
||||||
host.port = fedicfg.web.internalPort;
|
host.port = config.fediversity.internal.garage.web.internalPort;
|
||||||
guest.port = fedicfg.web.internalPort;
|
guest.port = config.fediversity.internal.garage.web.internalPort;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue