Skip to content

pangolin-newt ​

User space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin

Example ​

nix
{config, ...}: {
  nps.stacks.pangolin-newt = {
    enable = true;

    enableGrafanaDashboard = true;
    enablePrometheusExport = true;
    extraEnv = {
      PANGOLIN_ENDPOINT.fromFile = config.sops.secrets."pangolin/endpoint".path;
      NEWT_ID.fromFile = config.sops.secrets."pangolin/newt_id".path;
      NEWT_SECRET.fromFile = config.sops.secrets."pangolin/newt_secret".path;
      NEWT_ADMIN_ADDR = ":2112";
      LOG_LEVEL = "INFO";
    };
  };
}

Stack Options ​

nps.stacks.pangolin-newt.enable ​

Whether to enable pangolin-newt.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.pangolin-newt.enableGrafanaDashboard ​

Whether to enable Grafana Dashboard.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.pangolin-newt.enablePrometheusExport ​

Whether to enable Prometheus Export.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.pangolin-newt.extraEnv ​

Extra environment variables to set for the container. Variables can be either set directly or sourced from a file (e.g. for secrets).

Type
plaintext
attribute set of (null or boolean or signed integer or string or absolute path or (submodule))
Default
nix
{ }
Example
nix
{
  LOG_LEVEL = "INFO";
  NEWT_ADMIN_ADDR = ":2112";
  NEWT_ID = {
    fromFile = "/run/secrets/secret_name";
  };
  NEWT_SECRET = {
    fromFile = "/run/secrets/secret_name";
  };
  PANGOLIN_ENDPOINT = {
    fromFile = "/run/secrets/secret_name";
  };
}
Declaration

nps.stacks.pangolin-newt.useSocketProxy ​

Whether to access the Podman socket through the read-only proxy for the pangolin-newt stack. Will be enabled by default if the 'socket-proxy' stack is enabled.

Type
plaintext
boolean
Default
nix
config.nps.stacks.socket-proxy.enable
Declaration

Container Aliases ​

nps.stacks.pangolin-newt.containers.pangolin-newt ​

Alias of {option}services.podman.containers.pangolin-newt.

Type
plaintext
submodule
Declaration