dotfiles/terranix/containers/email/default.nix
2023-06-29 18:59:38 +02:00

50 lines
1.2 KiB
Nix

{ elib, vars, ... }:
let
inherit (elib)
nfsVolume
nomadJob;
in
{
resource."vault_policy"."dovecot-policy" = nfsVolume {
name = "dovecot-policy";
policy = ''
path "kv/data/cluster/dovecot" {
capabilities = ["read"]
}
'';
};
resource."vault_policy"."getmail-policy" = nfsVolume {
name = "getmail-policy";
policy = ''
path "kv/data/cluster/getmail" {
capabilities = ["read"]
}
'';
};
resource."nomad_volume"."dovecot_maildir" = {
volume_name = "org.democratic-csi.nfs";
access_mode = "multi-node-multi-writer";
server = "blowhole.hosts.in.redalder.org";
share = "/var/nfs/dovecot/maildir";
mount_flags = [ "nfsvers=3" "hard" "async" ];
};
resource."nomad_volume"."mail-configuration" = {
volume_name = "mail-configuration";
access_mode = "single-node-writer";
server = "blowhole.hosts.in.redalder.org";
share = "/var/nfs/mail-configuration";
mount_flags = [ "nfsvers=3" "hard" "async" ];
};
resource."nomad_job"."email" = {
jobspec = ./job.hcl;
vars = {
flake_ref = "${vars.flake_host}?rev=${vars.flake_rev}&ref=${vars.flake_ref}";
flake_sha = vars.flake_sha;
};
};
}