Merge pull request #247358 from pokon548/dae-add-service

nixos/dae: init
This commit is contained in:
Pol Dellaiera 2023-08-07 21:11:43 +02:00 committed by GitHub
commit ef02511ff4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 1 deletions

View file

@ -13482,6 +13482,12 @@
githubId = 38314551;
name = "Peter Okelmann";
};
pokon548 = {
email = "nix@bukn.uk";
github = "pokon548";
githubId = 65808665;
name = "Bu Kun";
};
polarmutex = {
email = "brian@brianryall.xyz";
github = "polarmutex";

View file

@ -864,6 +864,7 @@
./services/networking/coturn.nix
./services/networking/create_ap.nix
./services/networking/croc.nix
./services/networking/dae.nix
./services/networking/dante.nix
./services/networking/dhcpcd.nix
./services/networking/dnscache.nix

View file

@ -0,0 +1,41 @@
{ config, pkgs, lib, ... }:
let
cfg = config.services.dae;
in
{
meta.maintainers = with lib.maintainers; [ pokon548 ];
options = {
services.dae = {
enable = lib.options.mkEnableOption (lib.mdDoc "the dae service");
package = lib.mkPackageOptionMD pkgs "dae" { };
};
};
config = lib.mkIf config.services.dae.enable {
networking.firewall.allowedTCPPorts = [ 12345 ];
networking.firewall.allowedUDPPorts = [ 12345 ];
systemd.services.dae = {
unitConfig = {
Description = "dae Service";
Documentation = "https://github.com/daeuniverse/dae";
After = [ "network.target" "systemd-sysctl.service" ];
Wants = [ "network.target" ];
};
serviceConfig = {
User = "root";
ExecStartPre = "${lib.getExe cfg.package} validate -c /etc/dae/config.dae";
ExecStart = "${lib.getExe cfg.package} run --disable-timestamp -c /etc/dae/config.dae";
ExecReload = "${lib.getExe cfg.package} reload $MAINPID";
LimitNPROC = 512;
LimitNOFILE = 1048576;
Restart = "on-abnormal";
Type = "notify";
};
wantedBy = [ "multi-user.target" ];
};
};
}

View file

@ -58,7 +58,8 @@ buildGoModule rec {
description = "A Linux high-performance transparent proxy solution based on eBPF";
homepage = "https://github.com/daeuniverse/dae";
license = licenses.agpl3Only;
maintainers = with maintainers; [ oluceps ];
maintainers = with maintainers; [ oluceps pokon548 ];
platforms = platforms.linux;
mainProgram = "dae";
};
}