MyNixOS website logo
option

services.gradient.state

Declarative Gradient state, written as JSON to the server's state file. The state reference documents the available fields. Fields naming an entry, such as name, username and display_name, default to its attribute name. Files in password_file, private_key_file, signing_key_file, key_file, token_file, secret_file, access_token_file and the secret files of task actions become systemd credentials of the server.

Declarations
Type
open submodule of (JSON value)
Default
{ }
Example
{
  users.alice = {
    email = "[email protected]";
    password_file = "/etc/gradient/secrets/alice_password";
    superuser = true;
  };
  projects.acme-corp = {
    private_key_file = "/etc/gradient/secrets/acme_ssh_key";
    created_by = "alice";
  };
  tasks.web-app = {
    project = "acme-corp";
    repository = "https://github.com/acme-corp/web-app.git";
    wildcard = "nixosConfigurations.*.config.system.build.toplevel";
    created_by = "alice";
    triggers = [
      {
        type = "polling";
        config.interval_secs = 300;
      }
    ];
  };
  caches.main-cache = {
    signing_key_file = "/etc/gradient/secrets/main_cache_key";
    projects = [ "acme-corp" ];
    created_by = "alice";
  };
}