Nixos options
services.nginx.virtualHosts.<name>.enablePhare¶
Whether to enable phare.io management for the virtualhost.
Type: boolean
Default:
false
Example:
true
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare¶
phare.io monitor configuration for this virtual host.
Type: submodule
Default:
{ }
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.incidentConfirmations¶
Number of uninterrupted failed checks required to create an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.interval¶
Monitoring interval in seconds.
Type: one of 30, 60, 120, 180, 300, 600, 900, 1800, 3600
Default:
60
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.name¶
The name of the monitor. Defaults to attribute name in monitors.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.protocol¶
Whether the monitor should use http, tcp or icmp (ping) to access the resource.
Type: one of “http”, “icmp”, “tcp”
Default:
"http"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.recoveryConfirmations¶
Number of uninterrupted successful checks required to resolve an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.regionThreshold¶
Number of regions that must fail before an incident is confirmed. At most the number of regions.
Type: integer between 1 and 10 (both inclusive)
Default:
config.services.phare.regionThreshold
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.regions¶
List of regions where monitoring checks are performed
Type: list of (one of “as-jpn-hnd”, “as-sgp-sin”, “as-tha-bkk”, “eu-deu-fra”, “eu-fra-cdg”, “eu-gbr-lhr”, “eu-swe-arn”, “ng-nld-ams”, “na-mex-mex”, “na-usa-iad”, “na-usa-sea”, “oc-aus-syd”, “sa-bra-gru”)
Default:
[
"eu-deu-fra"
"eu-swe-arn"
]
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request¶
Monitoring request, depends of the chosen protocol. The options listed
below are the ones of an HTTP request; a TCP request takes host,
port, connection (plain or tls) and tlsSkipVerify, and an
ICMP request takes only host.
Type: submodule
Default:
{ }
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.body¶
HTTP request body for POST, PUT and PATCH requests
Type: null or string of at most 500 characters
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.followRedirects¶
Follow redirects
Type: null or boolean
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.headers¶
Additional HTTP headers to add to the request, at most 10.
Type: list of (submodule)
Default:
[ ]
Example:
[ { name = "Authorization"; valueFile = "/run/secrets/api-auth"; } ]
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.headers.*.name¶
Header name
Type: string of at most 50 characters
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.headers.*.value¶
Header value. It is stored in the world-readable Nix store; use
valueFile for a secret such as a token.
Type: null or string of at most 1024 characters
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.headers.*.valueFile¶
Path to a file containing the header value. The file is read when the monitors are synced, so the value does not end up in the Nix store.
Type: null or absolute path outside the Nix store, given as a string
Default:
null
Example:
"/run/secrets/api-auth"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.method¶
HTTP request method
Type: one of “HEAD”, “GET”, “POST”, “PUT”, “PATCH”, “OPTIONS”
Default:
"GET"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.tlsSkipVerify¶
Skip SSL verification
Type: boolean
Default:
false
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.url¶
HTTP request url. Required, except for the monitor of an nginx virtual host, where it defaults to the virtual host.
Type: null or string of at most 255 characters
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.userAgentSecret¶
Deprecated: the secret is stored in the world-readable Nix store; use
userAgentSecretFile instead. A secret value to be used in the
User-Agent header for authenticating the request.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.request.userAgentSecretFile¶
Path to a file containing the value of userAgentSecret. The file is
read when the monitors are synced, so the secret does not end up in the
Nix store.
Type: null or absolute path outside the Nix store, given as a string
Default:
null
Example:
"/run/secrets/phare-user-agent"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.successAssertions¶
List of assertions that must be true for the check to be considered successful. HTTP monitors only.
Type: null or (list of (submodule))
Default:
[
{
operator = "in";
selector = null;
type = "status_code";
value = "2xx";
}
]
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.successAssertions.*.operator¶
Operator to use for the assertion: in or not_in for status_code,
equals or not_equals for response_header, and contains or
not_contains for response_body.
Type: one of “contains”, “not_contains”, “equals”, “not_equals”, “in”, “not_in”
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.successAssertions.*.selector¶
The name of the header to assert. Required for, and only allowed with, response_header.
Type: null or string
Default:
null
Example:
"Content-Type"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.successAssertions.*.type¶
Type of assertion.
Type: one of “response_body”, “response_header”, “status_code”
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.successAssertions.*.value¶
The value to assert: a comma-separated list of status codes (x is a
wildcard for any digit), the value of the header, or a word or sentence
in the response body.
Type: string
Example:
"2xx,30x,418"
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.tags¶
Tags of the monitor, at most 20. phare.io suggests the form
key:value. Tags set on phare.io but not here are removed.
Type: list of at most 20 strings of 1 to 100 characters
Default:
[ ]
Example:
[
"environment:production"
"team:platform"
]
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.timeout¶
Monitoring timeout in milliseconds.
Type: one of 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 25000, 30000
Default:
7000
Declared by: - module/default.nix
services.phare.enable¶
Whether to enable phare.io management.
Type: boolean
Default:
false
Example:
true
Declared by: - module/default.nix
services.phare.enableMaintenanceModeOnRebuild¶
Whether to enable pausing all monitors before a rebuild. If a maintenance window (regular or rolling) is already active when the rebuild happens, the monitors are left untouched, since the window already governs monitoring for that period.
Type: boolean
Default:
false
Example:
true
Declared by: - module/default.nix
services.phare.alertRules¶
Declarative phare.io alert rules, synced after the monitors. Alert rules have no name on phare.io, so they are matched by their content: a declared rule that does not exist on phare.io is created. Alert rules on phare.io that are not declared are left untouched, so rules configured in the web-interface keep working. As a consequence, changing a declared rule creates a new rule and the previous version has to be deleted by hand.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
service-failed = {
event = "uptime.incident.created";
eventSettings.type = "manual";
integrationId = 1234;
};
service-recovered = {
event = "uptime.incident.recovered";
eventSettings.type = "manual";
integrationId = 1234;
};
}
Declared by: - module/default.nix
services.phare.alertRules.<name>.event¶
The event that triggers the alert rule.
Type: one of “uptime.monitor.created”, “uptime.monitor.deleted”, “uptime.monitor_certificate.discovered”, “uptime.monitor_certificate.expiring”, “uptime.incident.created”, “uptime.incident.propagated”, “uptime.incident.partially_recovered”, “uptime.incident.recovered”, “uptime.incident_comment.created”, “uptime.incident_update.published”, “uptime.maintenance_window.in_progress”, “uptime.maintenance_window.completed”, “uptime.maintenance_window.cancelled”
Example:
"uptime.incident.created"
Declared by: - module/default.nix
services.phare.alertRules.<name>.eventSettings¶
Additional settings for the event.
Type: submodule
Default:
{ }
Example:
{ type = "manual"; }
Declared by: - module/default.nix
services.phare.alertRules.<name>.eventSettings.daysBeforeExpiry¶
For uptime.monitor_certificate.expiring (required there): how many days before the certificate expires to alert.
Type: null or integer between 1 and 60 (both inclusive)
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.eventSettings.type¶
For the uptime.incident.* events: whether to alert about all
incidents, only those detected by a monitor, or only the manual
ones, which include those opened by services.phare.failureNotify.
Type: null or one of “all”, “monitor”, “manual”
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationId¶
The ID of the integration used to send a notification when the alert rule is executed.
Type: positive integer, meaning >0
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationSettings¶
Additional settings for the integration.
Type: submodule
Default:
{ }
Example:
{ priority = "high"; }
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationSettings.expire¶
For Pushover integrations: the expiration time in seconds, required for the emergency priority.
Type: null or integer between 30 and 10800 (both inclusive)
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationSettings.priority¶
For ntfy and Pushover integrations: the priority of the notification.
ntfy takes min, low, default, high and max; Pushover takes
lowest, low, normal, high and emergency.
Type: null or one of “min”, “low”, “default”, “high”, “max”, “lowest”, “normal”, “emergency”
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationSettings.retry¶
For Pushover integrations: the retry interval in seconds, required for the emergency priority.
Type: null or integer between 30 and 86400 (both inclusive)
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.integrationSettings.schema¶
For outgoing webhooks: the JSON template of the webhook payload. It is stored in the world-readable Nix store, so it must not contain secrets.
Type: null or string of at most 5000 characters
Default:
null
Example:
"{\"id\": \"{{ alert_rule_request.id }}\", \"event\": \"{{ event.key }}\"}"
Declared by: - module/default.nix
services.phare.alertRules.<name>.projectId¶
The project of a project-scoped alert rule, needed when the API token is
organization-scoped. Sent as the X-Phare-Project-Id header.
Type: null or (positive integer, meaning >0)
Default:
null
Declared by: - module/default.nix
services.phare.alertRules.<name>.rateLimit¶
Minimum time in minutes between two executions of the alert rule.
Type: one of 0, 5, 10, 30, 60, 180, 720, 1440
Default:
0
Declared by: - module/default.nix
services.phare.alertRules.<name>.scope¶
Whether the alert rule catches the matching events of the whole organization or only those of a project. Defaults to phare.io’s default.
Type: null or one of “organization”, “project”
Default:
null
Declared by: - module/default.nix
services.phare.deleteAfterDays¶
If set, monitors that exist on phare.io but not in the configuration are deleted once they have been absent (paused) for more than this many days, instead of remaining paused indefinitely.
Type: null or (positive integer, meaning >0)
Default:
null
Example:
30
Declared by: - module/default.nix
services.phare.failureNotify.enable¶
Whether to enable phare.io incidents on systemd service failures. Every systemd service gets
an OnFailure= dependency that opens an incident, which is marked as
recovered once the service is no longer failing: when it is running again,
finished successfully, or was reset with systemctl reset-failed. While an
incident for a service is open, further failures of that service do not
open another one. How the incidents are communicated is configured with
alert rules (see services.phare.alertRules); the incidents are not
detected by a monitor, so they match alert rules with the event setting
type = "manual" (or "all"). Uses services.phare.tokenFile, which
needs read and write access to ‘Uptime’
.
Type: boolean
Default:
false
Example:
true
Declared by: - module/default.nix
services.phare.failureNotify.excludeFromDowntime¶
Whether the incidents are excluded from the downtime of their monitors.
Type: boolean
Default:
false
Declared by: - module/default.nix
services.phare.failureNotify.impact¶
The impact of the incidents opened on service failures.
Type: one of “unknown”, “degraded_performance”, “partial_outage”, “major_outage”
Default:
"unknown"
Declared by: - module/default.nix
services.phare.failureNotify.monitors¶
Names of the monitors the incidents are associated with; phare.io
requires an incident to affect at least one monitor. The names are
resolved to phare.io monitor ids when an incident is opened. A service
can override them with systemd.services.<name>.phareIncident.monitors.
Type: non-empty (list of string)
Example:
[
"host"
]
Declared by: - module/default.nix
services.phare.failureNotify.recoveryCheckInterval¶
A systemd OnCalendar expression for how often failed services with an
open incident are checked for recovery.
Type: string
Default:
"minutely"
Example:
"*:0/5"
Declared by: - module/default.nix
services.phare.incidentConfirmations¶
Number of uninterrupted failed checks required to create an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.phare.interval¶
Monitoring interval in seconds.
Type: one of 30, 60, 120, 180, 300, 600, 900, 1800, 3600
Default:
60
Declared by: - module/default.nix
services.phare.maintenanceWindows¶
Declarative phare.io maintenance windows. Each window is synced to phare.io (matched by its title) after the monitors have been synced. A window whose title is no longer in the configuration is deleted from phare.io while it is still scheduled; windows that are already in progress, completed or cancelled are left untouched.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
database-upgrade = {
monitoringMode = "pause";
startsAt = "2026-09-05T14:30:00Z";
endsAt = "2026-09-05T16:30:00Z";
monitors = [ "web" ];
};
}
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.description¶
An optional description of the maintenance window.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.endsAt¶
End of the maintenance window as an ISO 8601 timestamp. Must be after startsAt.
Type: string
Example:
"2026-09-05T16:30:00Z"
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.monitoringMode¶
How monitoring behaves during the maintenance window:
pause halts checks entirely, mute keeps checking but suppresses
notifications, and normal changes nothing.
Type: one of “pause”, “mute”, “normal”
Default:
"pause"
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.monitors¶
Names of the monitors this maintenance window applies to. The names are resolved to phare.io monitor ids when the window is synced.
Type: list of string
Default:
[ ]
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.startsAt¶
Start of the maintenance window as an ISO 8601 timestamp.
Type: string
Example:
"2026-09-05T14:30:00Z"
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.statusPages¶
IDs of the status pages this maintenance window is shown on.
Type: list of (positive integer, meaning >0)
Default:
[ ]
Declared by: - module/default.nix
services.phare.maintenanceWindows.<name>.title¶
The title of the maintenance window. Defaults to the attribute name in maintenanceWindows.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.monitors¶
Declarative phare.io monitor config
Type: attribute set of (submodule)
Default:
{ }
Declared by: - module/default.nix
services.phare.monitors.<name>.incidentConfirmations¶
Number of uninterrupted failed checks required to create an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.phare.monitors.<name>.interval¶
Monitoring interval in seconds.
Type: one of 30, 60, 120, 180, 300, 600, 900, 1800, 3600
Default:
60
Declared by: - module/default.nix
services.phare.monitors.<name>.name¶
The name of the monitor. Defaults to attribute name in monitors.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.protocol¶
Whether the monitor should use http, tcp or icmp (ping) to access the resource.
Type: one of “http”, “icmp”, “tcp”
Default:
"http"
Declared by: - module/default.nix
services.phare.monitors.<name>.recoveryConfirmations¶
Number of uninterrupted successful checks required to resolve an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.phare.monitors.<name>.regionThreshold¶
Number of regions that must fail before an incident is confirmed. At most the number of regions.
Type: integer between 1 and 10 (both inclusive)
Default:
config.services.phare.regionThreshold
Declared by: - module/default.nix
services.phare.monitors.<name>.regions¶
List of regions where monitoring checks are performed
Type: list of (one of “as-jpn-hnd”, “as-sgp-sin”, “as-tha-bkk”, “eu-deu-fra”, “eu-fra-cdg”, “eu-gbr-lhr”, “eu-swe-arn”, “ng-nld-ams”, “na-mex-mex”, “na-usa-iad”, “na-usa-sea”, “oc-aus-syd”, “sa-bra-gru”)
Default:
[
"eu-deu-fra"
"eu-swe-arn"
]
Declared by: - module/default.nix
services.phare.monitors.<name>.request¶
Monitoring request, depends of the chosen protocol. The options listed
below are the ones of an HTTP request; a TCP request takes host,
port, connection (plain or tls) and tlsSkipVerify, and an
ICMP request takes only host.
Type: submodule
Default:
{ }
Declared by: - module/default.nix
services.phare.monitors.<name>.request.body¶
HTTP request body for POST, PUT and PATCH requests
Type: null or string of at most 500 characters
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.request.followRedirects¶
Follow redirects
Type: null or boolean
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.request.headers¶
Additional HTTP headers to add to the request, at most 10.
Type: list of (submodule)
Default:
[ ]
Example:
[ { name = "Authorization"; valueFile = "/run/secrets/api-auth"; } ]
Declared by: - module/default.nix
services.phare.monitors.<name>.request.headers.*.name¶
Header name
Type: string of at most 50 characters
Declared by: - module/default.nix
services.phare.monitors.<name>.request.headers.*.value¶
Header value. It is stored in the world-readable Nix store; use
valueFile for a secret such as a token.
Type: null or string of at most 1024 characters
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.request.headers.*.valueFile¶
Path to a file containing the header value. The file is read when the monitors are synced, so the value does not end up in the Nix store.
Type: null or absolute path outside the Nix store, given as a string
Default:
null
Example:
"/run/secrets/api-auth"
Declared by: - module/default.nix
services.phare.monitors.<name>.request.method¶
HTTP request method
Type: one of “HEAD”, “GET”, “POST”, “PUT”, “PATCH”, “OPTIONS”
Default:
"GET"
Declared by: - module/default.nix
services.phare.monitors.<name>.request.tlsSkipVerify¶
Skip SSL verification
Type: boolean
Default:
false
Declared by: - module/default.nix
services.phare.monitors.<name>.request.url¶
HTTP request url. Required, except for the monitor of an nginx virtual host, where it defaults to the virtual host.
Type: null or string of at most 255 characters
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.request.userAgentSecret¶
Deprecated: the secret is stored in the world-readable Nix store; use
userAgentSecretFile instead. A secret value to be used in the
User-Agent header for authenticating the request.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.request.userAgentSecretFile¶
Path to a file containing the value of userAgentSecret. The file is
read when the monitors are synced, so the secret does not end up in the
Nix store.
Type: null or absolute path outside the Nix store, given as a string
Default:
null
Example:
"/run/secrets/phare-user-agent"
Declared by: - module/default.nix
services.phare.monitors.<name>.successAssertions¶
List of assertions that must be true for the check to be considered successful. HTTP monitors only.
Type: null or (list of (submodule))
Default:
[
{
operator = "in";
selector = null;
type = "status_code";
value = "2xx";
}
]
Declared by: - module/default.nix
services.phare.monitors.<name>.successAssertions.*.operator¶
Operator to use for the assertion: in or not_in for status_code,
equals or not_equals for response_header, and contains or
not_contains for response_body.
Type: one of “contains”, “not_contains”, “equals”, “not_equals”, “in”, “not_in”
Declared by: - module/default.nix
services.phare.monitors.<name>.successAssertions.*.selector¶
The name of the header to assert. Required for, and only allowed with, response_header.
Type: null or string
Default:
null
Example:
"Content-Type"
Declared by: - module/default.nix
services.phare.monitors.<name>.successAssertions.*.type¶
Type of assertion.
Type: one of “response_body”, “response_header”, “status_code”
Declared by: - module/default.nix
services.phare.monitors.<name>.successAssertions.*.value¶
The value to assert: a comma-separated list of status codes (x is a
wildcard for any digit), the value of the header, or a word or sentence
in the response body.
Type: string
Example:
"2xx,30x,418"
Declared by: - module/default.nix
services.phare.monitors.<name>.tags¶
Tags of the monitor, at most 20. phare.io suggests the form
key:value. Tags set on phare.io but not here are removed.
Type: list of at most 20 strings of 1 to 100 characters
Default:
[ ]
Example:
[
"environment:production"
"team:platform"
]
Declared by: - module/default.nix
services.phare.monitors.<name>.timeout¶
Monitoring timeout in milliseconds.
Type: one of 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 25000, 30000
Default:
7000
Declared by: - module/default.nix
services.phare.projectId¶
The phare.io project that monitors, maintenance windows and incidents are
managed in, sent as the X-Phare-Project-Id header. Required with an
organization-scoped API key; a project-scoped key already determines the
project. The projectId of an alert rule takes precedence.
Type: null or (positive integer, meaning >0)
Default:
null
Example:
1234
Declared by: - module/default.nix
services.phare.recoveryConfirmations¶
Number of uninterrupted successful checks required to resolve an incident
Type: integer between 1 and 5 (both inclusive)
Default:
2
Declared by: - module/default.nix
services.phare.regionThreshold¶
Number of regions that must fail before an incident is confirmed, used for monitors that do not set their own.
Type: integer between 1 and 10 (both inclusive)
Default:
1
Declared by: - module/default.nix
services.phare.regions¶
List of regions where monitoring checks are performed
Type: list of (one of “as-jpn-hnd”, “as-sgp-sin”, “as-tha-bkk”, “eu-deu-fra”, “eu-fra-cdg”, “eu-gbr-lhr”, “eu-swe-arn”, “ng-nld-ams”, “na-mex-mex”, “na-usa-iad”, “na-usa-sea”, “oc-aus-syd”, “sa-bra-gru”)
Default:
[
"eu-deu-fra"
"eu-swe-arn"
]
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows¶
Declarative rolling phare.io maintenance windows for scheduled
nixos-rebuilds. phare.io only supports maintenance windows with absolute
timestamps, so a rolling window turns a recurring schedule (startAt) and
a duration into concrete maintenance windows and keeps provisioning the
next occurrence as time advances: a systemd timer firing on startAt
provisions the occurrence that has just begun and the one after it, so
the next window already exists once the previous one has elapsed.
Type: attribute set of (submodule)
Default:
{ }
Example:
{
nixos-rebuild = {
monitoringMode = "pause";
startAt = "03:00";
duration = "1h";
monitors = [ "web" ];
};
}
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.cleanupAfterDays¶
If set, finished (completed or cancelled) instances of this rolling maintenance window that ended more than this many days ago are deleted from phare.io.
Type: null or (positive integer, meaning >0)
Default:
null
Example:
30
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.description¶
An optional description of the maintenance window.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.duration¶
How long each maintenance window lasts, as a systemd time span (e.g. “1h”, “90min”).
Type: string
Example:
"1h"
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.monitoringMode¶
How monitoring behaves during the maintenance window:
pause halts checks entirely, mute keeps checking but suppresses
notifications, and normal changes nothing.
Type: one of “pause”, “mute”, “normal”
Default:
"pause"
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.monitors¶
Names of the monitors this maintenance window applies to. The names are resolved to phare.io monitor ids when the window is provisioned.
Type: list of string
Default:
[ ]
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.startAt¶
A systemd OnCalendar expression describing when each maintenance
window begins. It drives both the timer that provisions the window and
the computation of the concrete next occurrence sent to phare.io, so it
should match the schedule of your nixos-rebuild (e.g. the dates of
system.autoUpgrade).
Type: string
Example:
"03:00"
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.statusPages¶
IDs of the status pages this maintenance window is shown on.
Type: list of (positive integer, meaning >0)
Default:
[ ]
Declared by: - module/default.nix
services.phare.rollingMaintenanceWindows.<name>.title¶
The title of the rolling maintenance window on phare.io. Defaults to the attribute name in rollingMaintenanceWindows.
Type: null or string
Default:
null
Declared by: - module/default.nix
services.phare.successAssertions¶
List of assertions that must be true for the check to be considered successful
Type: null or (list of (submodule))
Default:
[
{
operator = "in";
type = "status_code";
value = "2xx";
}
]
Declared by: - module/default.nix
services.phare.successAssertions.*.operator¶
Operator to use for the assertion: in or not_in for status_code,
equals or not_equals for response_header, and contains or
not_contains for response_body.
Type: one of “contains”, “not_contains”, “equals”, “not_equals”, “in”, “not_in”
Declared by: - module/default.nix
services.phare.successAssertions.*.selector¶
The name of the header to assert. Required for, and only allowed with, response_header.
Type: null or string
Default:
null
Example:
"Content-Type"
Declared by: - module/default.nix
services.phare.successAssertions.*.type¶
Type of assertion.
Type: one of “response_body”, “response_header”, “status_code”
Declared by: - module/default.nix
services.phare.successAssertions.*.value¶
The value to assert: a comma-separated list of status codes (x is a
wildcard for any digit), the value of the header, or a word or sentence
in the response body.
Type: string
Example:
"2xx,30x,418"
Declared by: - module/default.nix
services.phare.timeout¶
Monitoring timeout in milliseconds.
Type: one of 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 25000, 30000
Default:
7000
Declared by: - module/default.nix
services.phare.tokenFile¶
Path to a file with the API key to access phare.io. It needs read and write access to ‘Uptime’. The path must be a string outside the Nix store, so that the key does not end up in the world-readable store.
Type: absolute path outside the Nix store, given as a string
Example:
"/run/secrets/phare-token"
Declared by: - module/default.nix
systemd.services.<name>.phareIncident.monitors¶
Names of the monitors affected by a failure of this service, used
instead of services.phare.failureNotify.monitors for its
incidents. To open no incidents for a service, set its onFailure
with lib.mkForce.
Type: null or (non-empty (list of string))
Default:
null
Example:
[
"web"
]
Declared by: - module/default.nix