aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/common/optional/services
diff options
context:
space:
mode:
authorMark Nipper <nipsy@bitgnome.net>2024-06-19 00:56:01 -0700
committerMark Nipper <nipsy@bitgnome.net>2024-06-19 00:56:01 -0700
commit27251f7915ef97ab639ff0c99f58baab229c1d9c (patch)
tree0c43a9ff817251652dde27dd11327504d1414272 /hosts/common/optional/services
parentadbb8cab902bba93784899d17185c0dc35466f06 (diff)
downloadnix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar.gz
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar.bz2
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar.lz
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar.xz
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.tar.zst
nix-27251f7915ef97ab639ff0c99f58baab229c1d9c.zip
Add public asterisk configuration
Diffstat (limited to 'hosts/common/optional/services')
-rw-r--r--hosts/common/optional/services/asterisk.nix88
1 files changed, 86 insertions, 2 deletions
diff --git a/hosts/common/optional/services/asterisk.nix b/hosts/common/optional/services/asterisk.nix
index 0c012bd..7bbd096 100644
--- a/hosts/common/optional/services/asterisk.nix
+++ b/hosts/common/optional/services/asterisk.nix
@@ -1,8 +1,92 @@
-{ lib, ... }:
+{ config, lib, pkgs, ... }:
{
services.asterisk = {
enable = true;
};
- systemd.services.asterisk.wantedBy = lib.mkForce [];
+ sops = {
+ secrets = {
+ "asterisk/asterisk.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/cdr.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/console.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/extensions.ael" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/indications.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/logger.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/modules.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/musiconhold.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/pjsip.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/pjsip_notify.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/rtp.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ "asterisk/voicemail.conf" = {
+ owner = config.users.users.asterisk.name;
+ group = config.users.users.asterisk.group;
+ mode = "00400";
+ };
+ };
+ };
+
+ systemd.services.asterisk = {
+ serviceConfig.ExecStart = lib.mkForce "${pkgs.asterisk}/bin/asterisk -U asterisk -C ${config.sops.secrets."asterisk/asterisk.conf".path} -F";
+ unitConfig = {
+ ConditionPathExists = [
+ config.sops.secrets."asterisk/asterisk.conf".path
+ config.sops.secrets."asterisk/cdr.conf".path
+ config.sops.secrets."asterisk/console.conf".path
+ config.sops.secrets."asterisk/extensions.ael".path
+ config.sops.secrets."asterisk/indications.conf".path
+ config.sops.secrets."asterisk/logger.conf".path
+ config.sops.secrets."asterisk/modules.conf".path
+ config.sops.secrets."asterisk/musiconhold.conf".path
+ config.sops.secrets."asterisk/pjsip.conf".path
+ config.sops.secrets."asterisk/pjsip_notify.conf".path
+ config.sops.secrets."asterisk/rtp.conf".path
+ config.sops.secrets."asterisk/voicemail.conf".path
+ ];
+ };
+ #wantedBy = lib.mkForce [];
+ };
}