Traefik

Unser Reverse Proxy

Options

teenix.services.traefik.enable

Whether to enable traefik.

Type: boolean

Default: false

Example: true

teenix.services.traefik.dashboard.enable

Whether so serve the traefik dashboard.

It will only be accessible from within the PhyNIx HHU Subnet

Type: boolean

Default: false

Example: true

teenix.services.traefik.dashboard.url

url to serve the dashboard on

Type: non-empty string

teenix.services.traefik.dynamicConfig

Traefik’s dynamic config options.

This is passed through sops-nix templating, so you can use sops.placeholders to insert secrets into the config

Type: YAML value

Default: { }

teenix.services.traefik.entryPoints

Traefik’s entrypoints, as defined in the static config

Type: attribute set of (submodule)

Default: { }

teenix.services.traefik.entryPoints.<name>.extraConfig

extra config options for this entrypoint

Type: YAML value

Default: { }

teenix.services.traefik.entryPoints.<name>.port

port of this entrypoint

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

teenix.services.traefik.entryPoints.<name>.protocol

protocol of this entrypoint

Type: one of “tcp”, “udp”

Default: "tcp"

teenix.services.traefik.httpServices

http based services, each using a single per-service router

Type: attribute set of (submodule)

Default: { }

teenix.services.traefik.httpServices.<name>.extraConfig

extra config options for this services, as defined in the dynamic config

Type: YAML value

Default: { }

teenix.services.traefik.httpServices.<name>.healthCheck.enable

Whether to enable health checking for this service.

Type: boolean

Default: false

Example: true

teenix.services.traefik.httpServices.<name>.healthCheck.interval

interval between health checks

Type: non-empty string

Default: "10s"

teenix.services.traefik.httpServices.<name>.healthCheck.path

path to healthcheck on

Type: string

Default: "/"

teenix.services.traefik.httpServices.<name>.router.entryPoints

entryPoints for this router

if tls is enabled, uses websecure (https) by default;

Type: list of non-empty string

Default: [ ]

teenix.services.traefik.httpServices.<name>.router.extraConfig

extra config options for this router

Type: YAML value

Default: { }

teenix.services.traefik.httpServices.<name>.router.middlewares

list of middlewares for this router

Type: list of non-empty string

Default: [ ]

teenix.services.traefik.httpServices.<name>.router.rule

rule for this router, see https://doc.traefik.io/traefik/routing/routers/#configuring-http-routers

Type: non-empty string

teenix.services.traefik.httpServices.<name>.router.tls.enable

Whether to enable tls for this router.

Type: boolean

Default: true

Example: true

teenix.services.traefik.httpServices.<name>.router.tls.certResolver

certificate resolver for this router

Type: non-empty string

Default: "letsencrypt"

teenix.services.traefik.httpServices.<name>.servers

hosts for this service

Type: list of non-empty string

Default: [ ]

teenix.services.traefik.letsencryptMail

The email address used for letsencrypt certificates

Type: non-empty string

teenix.services.traefik.middlewares

Traefik’s middlewares, as defined in the dynamic config

Type: YAML value

Default: { }

teenix.services.traefik.redirects

Permanently redirect one URL to another

Type: attribute set of (submodule)

Default: { }

Example:

{
  fscs_phynix = {
    from = "fscs.phynix-hhu.de";
    to = "fscs.hhu.de";
  };
}

teenix.services.traefik.redirects.<name>.from

url to redirect from

Type: string

teenix.services.traefik.redirects.<name>.to

url to redirect to

Type: string

teenix.services.traefik.secretsFile

path to the secrets file for traefik

Type: absolute path

Example: ./secrets/myservice.yml

teenix.services.traefik.staticConfig

Traefik’s static config options.

This is passed through sops-nix templating, so you can use sops.placeholders to insert secrets into the config

Type: YAML value

Default: { }