Options
services.nix-ci.production.leader.api-bind-host
The host to bind the api server on
Type:
null or string
Default:
null
services.nix-ci.production.leader.api-hosts
The host to serve api requests on
Type:
list of string
Default:
[ ]
Example:
"api.nix-ci.com"
services.nix-ci.production.leader.api-mirrors
Hosts to mirror api requests to
Type:
attribute set of string
Default:
{ }
Example:
{
staging = "api.staging.nix-ci.com";
}
services.nix-ci.production.leader.config
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.admin
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.admin.github
GitHub usernames of administrators
Type:
null or (list of string)
Default:
null
services.nix-ci.production.leader.config.admin.gitlab
GitLab usernames of administrators
Type:
null or (list of string)
Default:
null
services.nix-ci.production.leader.config.admin.user
Usernames of administrators
Type:
null or (list of string)
Default:
null
services.nix-ci.production.leader.config.admin-notification-command
Admin notification command
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.api-host-preference
Host preference for binding to serve API requests
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.api-port
The port to serve API requests on
Type:
null or signed integer
Default:
null
services.nix-ci.production.leader.config.approot
The host to serve web requests on
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.autoscale
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.autoscale.command
Command to scale up or down the number of workers based on the queue size
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.autoscale.scale-down-timeout
How long to wait after a worker has done no work before scaling it down
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.autoscale.still-up-threshold
How long a worker must be reachable to be considered still up
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.branding
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.branding.css
CSS file path
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.branding.logo
Logo file path, bust be SVG
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.branding.title
HTML title prefix
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.cache
Global cache
Type:
null or (list of ((submodule) or (submodule)))
Default:
null
services.nix-ci.production.leader.config.database-file
The database file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.foreign-key-checker
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.foreign-key-checker.enable
enable the foreign-key-checker looper
Type:
null or boolean
Default:
null
services.nix-ci.production.leader.config.foreign-key-checker.period
period of the foreign-key-checker looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.foreign-key-checker.phase
phase of the foreign-key-checker looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.github
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.github.instance
The GitHub instance: github.com most likely
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.integration
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.github.integration.app-id
The application identifier
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.integration.private-key
The private key file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.integration.private-key-file
The private key file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.oauth
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.github.oauth.client-id
The client identifier
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.oauth.client-secret
The client secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.oauth.client-secret-file
The client secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.webhook
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.github.webhook.secret
The webhook secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.github.webhook.secret-file
The webhook secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.gitlab.app-id
The application identifier
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab.client-id
The client identifier
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab.client-secret
The client secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab.client-secret-file
The client secret file
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab.hook-url
The hook url for contacting nix-ci from gitlab.
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.gitlab.instance
The gitlab instance: gitlab.com most likely
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.jwk-file
File with the JSON Web Key (JWK)
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.log-level
Minimal severity of log messages
Type:
null or one of "Debug", "Info", "Warn", "Error"
Default:
null
services.nix-ci.production.leader.config.logs-garbage-collector
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.logs-garbage-collector.enable
enable the logs-garbage-collector looper
Type:
null or boolean
Default:
null
services.nix-ci.production.leader.config.logs-garbage-collector.period
period of the logs-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.logs-garbage-collector.phase
phase of the logs-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.monetisation
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.monetisation.conversion-fee
Conversion fee, in CHF
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.monetisation.currency-risk
Currency risk
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.monetisation.customers
Customers
Type:
null or (attribute set of (submodule))
Default:
null
services.nix-ci.production.leader.config.monetisation.customers.<name>.currency
Customer's preferred currency
Type:
string
services.nix-ci.production.leader.config.monetisation.customers.<name>.email
Email 'To' address
Type:
string
services.nix-ci.production.leader.config.monetisation.customers.<name>.method
Charging method
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories
Customer's repositories to charge for
Type:
null or (submodule)
Default:
null
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.github
GitHub owners
Type:
null or (list of string)
Default:
[ ]
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.gitlab
GitLab namespaces
Type:
null or (list of string)
Default:
[ ]
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.repositories.url
Url repos
Type:
null or (list of string)
Default:
[ ]
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.seats
Customer's amount of leader seats
Type:
unsigned integer, meaning >=0
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.type
Charging method type
Type:
string
services.nix-ci.production.leader.config.monetisation.customers.<name>.method.worker-discount
Customer's worker discount rate (only for hosted)
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.monetisation.customers.<name>.to
Invoice 'To' section
Type:
unspecified value
services.nix-ci.production.leader.config.monetisation.from
Invoice 'From' section
Type:
null or unspecified value
Default:
null
services.nix-ci.production.leader.config.monetisation.leader-rate
How many CHF to charge per seat per day for the leader
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.monetisation.payment-details
Invoice 'Payment Detials' section, per currency
Type:
null or (attribute set of unspecified value)
Default:
null
services.nix-ci.production.leader.config.monetisation.typst-executable
Path to the typst executable
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.monetisation.worker-rate
How many CHF to charge per second of worker-time
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.slo
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.slo.api
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.slo.api.response-time-ms
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.slo.api.response-time-ms.alarm
Alarm SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.slo.api.response-time-ms.satisfied
Satisfied SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.slo.api.response-time-ms.tolerable
Tolerable SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.slo.web
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.slo.web.response-time-ms
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.slo.web.response-time-ms.alarm
Alarm SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.slo.web.response-time-ms.satisfied
Satisfied SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.slo.web.response-time-ms.tolerable
Tolerable SLO in milliseconds
Type:
null or (unsigned integer, meaning >=0)
Default:
null
services.nix-ci.production.leader.config.suite-garbage-collector
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.suite-garbage-collector.enable
enable the suite-garbage-collector looper
Type:
null or boolean
Default:
null
services.nix-ci.production.leader.config.suite-garbage-collector.period
period of the suite-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.suite-garbage-collector.phase
phase of the suite-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.version
The version tag to display: Use a git commit hash if you can!
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.watchdog-notifier
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.watchdog-notifier.enable
enable the watchdog-notifier looper
Type:
null or boolean
Default:
null
services.nix-ci.production.leader.config.watchdog-notifier.period
period of the watchdog-notifier looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.watchdog-notifier.phase
phase of the watchdog-notifier looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.web-host-preference
Host preference for binding to serve web requests
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.web-port
The port to serve web requests on
Type:
null or signed integer
Default:
null
services.nix-ci.production.leader.config.worker-garbage-collector
This option has no description.
Type:
submodule
Default:
{ }
services.nix-ci.production.leader.config.worker-garbage-collector.enable
enable the worker-garbage-collector looper
Type:
null or boolean
Default:
null
services.nix-ci.production.leader.config.worker-garbage-collector.period
period of the worker-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.worker-garbage-collector.phase
phase of the worker-garbage-collector looper in seconds
Type:
null or signed integer or floating point number
Default:
null
services.nix-ci.production.leader.config.workers
Workers that are allowed to register
Type:
null or (list of (submodule))
Default:
null
services.nix-ci.production.leader.config.workers.*.allowed
This option has no description.
Type:
null or (submodule) or list of (submodule)
Default:
null
services.nix-ci.production.leader.config.workers.*.name
This option has no description.
Type:
string
services.nix-ci.production.leader.config.workers.*.public-key
This option has no description.
Type:
null or string
Default:
null
services.nix-ci.production.leader.config.workers.*.public-key-file
This option has no description.
Type:
null or string
Default:
null
services.nix-ci.production.leader.enable
Enable the NixCI Leader
Type:
boolean
Default:
true
Example:
false
services.nix-ci.production.leader.enableSettingsCheck
Enable a static settings check. Turn this off if your system has secrets that are provisioned at runtime.
Type:
boolean
Default:
true
services.nix-ci.production.leader.extraConfig
The contents of the config file, as an attribute set. This will be translated to Yaml and put in the right place along with the rest of the options defined in this submodule.
Type:
unspecified value
Default:
{ }
services.nix-ci.production.leader.openFirewall
Whether to open the specified ports in the firewall
Type:
boolean
Default:
false
services.nix-ci.production.leader.recommendedOSSettings
Enable recommended OS settings.
Type:
boolean
Default:
true
Example:
false
services.nix-ci.production.leader.web-hosts
The host to serve web requests on
Type:
list of string
Default:
[ ]
Example:
"nix-ci.com"
services.nix-ci.production.leader.web-mirrors
Hosts to mirror web requests to
Type:
attribute set of string
Default:
{ }
Example:
{
staging = "staging.nix-ci.com";
}
services.nix-ci.production.leader.working-dir
Working directory of the leader
Type:
string
Default:
"/www/nix-ci/production/leader/"