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.alertPolicyId¶
The ID of the associated alert policy.
Type: positive integer, meaning >0
Default:
config.services.phare.alertPolicyId
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.projectId¶
The associated project.
Type: null or (positive integer, meaning >0)
Default:
null
Declared by: - module/default.nix
services.nginx.virtualHosts.<name>.phare.protocol¶
Whether the monitor should use http of tcp to access the resource.
Type: one of “http”, “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.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-sea”, “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.
Type: (submodule) or (submodule)
Default:
{ }
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 (attribute set))
Default:
[
{
operator = "in";
type = "status_code";
value = "2xx";
}
]
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.alertPolicyId¶
The default ID of the associated alert policy, used for monitors that do not set their own.
Type: positive integer, meaning >0
Example:
1234
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.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>.alertPolicyId¶
The ID of the associated alert policy.
Type: positive integer, meaning >0
Default:
config.services.phare.alertPolicyId
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>.projectId¶
The associated project.
Type: null or (positive integer, meaning >0)
Default:
null
Declared by: - module/default.nix
services.phare.monitors.<name>.protocol¶
Whether the monitor should use http of tcp to access the resource.
Type: one of “http”, “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>.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-sea”, “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.
Type: (submodule) or (submodule)
Default:
{ }
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 (attribute set))
Default:
[
{
operator = "in";
type = "status_code";
value = "2xx";
}
]
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.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
Type: null or integer between 1 and 10 (both inclusive)
Default:
null
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-sea”, “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 a concrete maintenance window and keeps provisioning the
next one as time advances: a systemd timer firing on startAt reschedules
the window to the following occurrence 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 (attribute set))
Default:
[
{
operator = "in";
type = "status_code";
value = "2xx";
}
]
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’.
Type: absolute path
Declared by: - module/default.nix