35 lines
810 B
Nix
35 lines
810 B
Nix
|
{ config, lib, pkg, ... }:
|
||
|
let
|
||
|
inherit (lib)
|
||
|
mkOption
|
||
|
types
|
||
|
;
|
||
|
|
||
|
cfg = config.virtualisation.podman.networkSocket;
|
||
|
|
||
|
in
|
||
|
{
|
||
|
options.virtualisation.podman.networkSocket = {
|
||
|
server = mkOption {
|
||
|
type = types.enum [ "ghostunnel" ];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf (cfg.enable && cfg.server == "ghostunnel") {
|
||
|
|
||
|
services.ghostunnel = {
|
||
|
enable = true;
|
||
|
servers."podman-socket" = {
|
||
|
inherit (cfg.tls) cert key cacert;
|
||
|
listen = "${cfg.listenAddress}:${toString cfg.port}";
|
||
|
target = "unix:/run/podman/podman.sock";
|
||
|
allowAll = lib.mkDefault true;
|
||
|
};
|
||
|
};
|
||
|
systemd.services.ghostunnel-server-podman-socket.serviceConfig.SupplementaryGroups = ["podman"];
|
||
|
|
||
|
};
|
||
|
|
||
|
meta.maintainers = lib.teams.podman.members ++ [ lib.maintainers.roberth ];
|
||
|
}
|