Skip to content

Upgrade notes

Upgrade from v2.x.x to v3.x.x

Tip

When you're not using the API, or the Metrics exporters and you didn't configure any monitors via YAML, you don't need to do anything to upgrade to version 3.x.x!

YAML monitor config

The monitors property to define your monitors in your YAML configuration file has been renamed to http-monitors to better reflect its purpose. To make your existing file work with version 3.x.x, it's enough to just rename the property, no other changes are needed.

# v2.x.x
monitors:
- name: "My Monitor"
  url: "https://kuvasz-uptime.dev"
  uptime-check-interval: 60
  integrations:
    - "email:my-email-integration"
    - "slack:my-slack-integration"
# v3.x,x
http-monitors:
- name: "My Monitor"
# ...

API

/api/v1 endpoints will be supported for a limited time only, because a new version of the API has been introduced under /api/v2. Endpoints not explicitly listed below are expected to remain the same besides the path change, which means, that you can just replace /api/v1 with /api/v2 in your requests.

End of life of v1 endpoints

The v1 endpoints will be supported until 2025-12-31. After this date, they will be removed in the next feature release. Please make sure to migrate to the v2 endpoints before then. Please refer to the API documentation for more details.

Changed endpoints

  • GET /api/v2/settings: The response schema has changed compared to v1:

    • it doesn't return the integrations anymore (they're available under a separate endpoint now)
    • the MeterSettingsDto schema uses new property names for clarity: latestLatency -> httpLatestLatency, uptimeStatus -> httpUptimeStatus.
    • the editability of the monitors via the UI & the API is now reflected under editabilityState (readOnlyMode is gone)

Removed endpoints

The following endpoints have been removed/renamed in version 3.0.0:

  • GET /api/v1/health -> GET /api/v2/health: Everything remains the same, just the path has changed.

  • GET /api/v1/prometheus -> GET /api/v2/prometheus: Not just the path has changed, but also the gauge names are more scoped now. Please refer to the Metrics export section below for more details.

Metrics export

The provided gauges' names have changed to be more scoped. Here is a mapping of the old and new names (you need to update your Prometheus/OTLP configuration accordingly):

Old gauge name New gauge name
kuvasz.monitor.uptime.status kuvasz.http.uptime.status
kuvasz.monitor.latency.latest.milliseconds kuvasz.http.latency.latest.milliseconds
kuvasz.monitor.ssl.status kuvasz.http.ssl.status
kuvasz.monitor.ssl.expiry.seconds kuvasz.http.ssl.expiry.seconds
Old gauge name New gauge name
kuvasz_monitor_uptime_status kuvasz_http_uptime_status
kuvasz_monitor_latency_latest_milliseconds kuvasz_http_latency_latest_milliseconds
kuvasz_monitor_ssl_status kuvasz_http_ssl_status
kuvasz_monitor_ssl_expiry_seconds kuvasz_http_ssl_expiry_seconds

Configuration

Also, the following configuration properties changed as well, make sure to update your configuration accordingly:

Old property New property
metrics-exports.uptime-status metrics-export.http-uptime-status
metrics-exports.latest-latency metrics-export.http-latest-latency
Old variable New variable
ENABLE_UPTIME_STATUS_EXPORT ENABLE_HTTP_UPTIME_STATUS_EXPORT
ENABLE_LATEST_LATENCY_EXPORT ENABLE_HTTP_LATEST_LATENCY_EXPORT

Labels

The url label has been renamed to target on all gauges, to better reflect its purpose in a generic way.