MyNixOS website logo
option

services.garm.settings

Configuration for GARM, rendered to config.toml. See https://github.com/cloudbase/garm/blob/main/doc/configuration.md for available settings. At least jwt_auth.secret and database.passphrase must be set.

Settings containing secret data should be set to an attribute set containing the attribute _secret = "/path/to/secret", where that file contains the actual value. Secret files are loaded through systemd credentials, so they only need to be readable by root.

Declarations
Type
open submodule of (TOML value)
Default
{ }
Example
{
  apiserver.bind = "0.0.0.0";
  jwt_auth.secret._secret = "/run/keys/garm-jwt-secret";
  database.passphrase._secret = "/run/keys/garm-db-passphrase";
  provider = [
    {
      name = "incus";
      description = "Incus external provider";
      provider_type = "external";
      external = {
        provider_executable = lib.getExe pkgs.garm-provider-incus;
        config_file = "/etc/garm/incus-provider.toml";
      };
    }
  ];
}