Documentation
¶
Overview ¶
Package main provides the CLI entry point for the SolidPing monitoring service.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
devloop
command
Package main runs `go build` on file changes and atomically swaps the running binary.
|
Package main runs `go build` on file changes and atomically swaps the running binary. |
|
loadgen
command
Command loadgen drives a running SolidPing server with N synthetic HTTP checks, lets them run for some duration, and writes a markdown report of throughput and latency drawn from /metrics.
|
Command loadgen drives a running SolidPing server with N synthetic HTTP checks, lets them run for some duration, and writes a markdown report of throughput and latency drawn from /metrics. |
|
membench
command
Command membench measures what SolidPing actually costs in memory, precisely enough that a claimed reduction can be believed.
|
Command membench measures what SolidPing actually costs in memory, precisely enough that a claimed reduction can be believed. |
|
scenariodriver
command
Package main provides the scenario driver CLI for SolidPing.
|
Package main provides the scenario driver CLI for SolidPing. |
|
sp
command
Package main provides the command-line interface for SolidPing.
|
Package main provides the command-line interface for SolidPing. |
|
internal
|
|
|
activation
Package activation tracks one-time activation milestones per organization and surfaces them as audit events.
|
Package activation tracks one-time activation milestones per organization and surfaces them as audit events. |
|
agentmode
Package agentmode runs the standard SolidPing binary as a deported (org-scoped) check agent (SP_NODE_ROLE=agent, spec 2026-07-16-02): no database, no migrations, no HTTP server — the check worker loop over an outbound WebSocket to the master.
|
Package agentmode runs the standard SolidPing binary as a deported (org-scoped) check agent (SP_NODE_ROLE=agent, spec 2026-07-16-02): no database, no migrations, no HTTP server — the check worker loop over an outbound WebSocket to the master. |
|
agents
Package agents implements the server-side identity, enrollment, and signature-authentication primitives for deported (org-scoped) check agents.
|
Package agents implements the server-side identity, enrollment, and signature-authentication primitives for deported (org-scoped) check agents. |
|
agents/capturecache
Package capturecache is the deported agent's short-lived, bounded holding area for binary probe captures (today: the PNG a failing browser check took).
|
Package capturecache is the deported agent's short-lived, bounded holding area for binary probe captures (today: the PNG a failing browser check took). |
|
analytics
Package analytics is SolidPing's product-analytics (PostHog) client.
|
Package analytics is SolidPing's product-analytics (PostHog) client. |
|
analytics/signupguard
Package signupguard provides the source-level scan that keeps the user_signed_up product event honest (spec 2026-08-02-08).
|
Package signupguard provides the source-level scan that keeps the user_signed_up product event honest (spec 2026-08-02-08). |
|
app
Package app provides the HTTP server and application setup.
|
Package app provides the HTTP server and application setup. |
|
app/services
Package services provides centralized service registry for dependency injection.
|
Package services provides centralized service registry for dependency injection. |
|
audit
Package audit writes the org-scoped security and configuration audit trail (spec 2026-08-21-09) into the existing `events` table.
|
Package audit writes the org-scoped security and configuration audit trail (spec 2026-08-21-09) into the existing `events` table. |
|
buildinfo
Package buildinfo exposes build-time facts that change the process's memory shape: whether cgo is enabled, which SQLite driver was linked, and the Go version.
|
Package buildinfo exposes build-time facts that change the process's memory shape: whether cgo is enabled, which SQLite driver was linked, and the Go version. |
|
checkers/checka2s
Package checka2s provides Source engine A2S protocol monitoring.
|
Package checka2s provides Source engine A2S protocol monitoring. |
|
checkers/checkbrowser
Package checkbrowser provides headless Chrome browser monitoring checks.
|
Package checkbrowser provides headless Chrome browser monitoring checks. |
|
checkers/checkclickhouse
Package checkclickhouse provides ClickHouse database health checks over the native (binary) protocol.
|
Package checkclickhouse provides ClickHouse database health checks over the native (binary) protocol. |
|
checkers/checkdns
Package checkdns provides DNS resolution monitoring checks.
|
Package checkdns provides DNS resolution monitoring checks. |
|
checkers/checkdnsbl
Package checkdnsbl provides DNS blocklist (DNSBL) monitoring checks.
|
Package checkdnsbl provides DNS blocklist (DNSBL) monitoring checks. |
|
checkers/checkdocker
Package checkdocker provides Docker container health checks.
|
Package checkdocker provides Docker container health checks. |
|
checkers/checkdomain
Package checkdomain provides domain expiration monitoring via RDAP (with a WHOIS fallback/override).
|
Package checkdomain provides domain expiration monitoring via RDAP (with a WHOIS fallback/override). |
|
checkers/checkemail
Package checkemail implements the email check type for passive monitoring driven by incoming emails to a unique per-check address.
|
Package checkemail implements the email check type for passive monitoring driven by incoming emails to a unique per-check address. |
|
checkers/checkerdef
Package checkerdef defines the core interfaces for health checkers.
|
Package checkerdef defines the core interfaces for health checkers. |
|
checkers/checkfreeboxline
Package checkfreeboxline provides Freebox xDSL/FTTH line-quality checks backed by the Freebox OS /api/v4/ endpoints.
|
Package checkfreeboxline provides Freebox xDSL/FTTH line-quality checks backed by the Freebox OS /api/v4/ endpoints. |
|
checkers/checkftp
Package checkftp provides FTP server availability checks.
|
Package checkftp provides FTP server availability checks. |
|
checkers/checkgrpc
Package checkgrpc provides gRPC service health checks.
|
Package checkgrpc provides gRPC service health checks. |
|
checkers/checkheartbeat
Package checkheartbeat implements the heartbeat check type for passive monitoring.
|
Package checkheartbeat implements the heartbeat check type for passive monitoring. |
|
checkers/checkhttp
Package checkhttp provides HTTP/HTTPS endpoint monitoring checks.
|
Package checkhttp provides HTTP/HTTPS endpoint monitoring checks. |
|
checkers/checkicmp
Package checkicmp provides ICMP ping monitoring checks.
|
Package checkicmp provides ICMP ping monitoring checks. |
|
checkers/checkimap
Package checkimap provides IMAP server availability checks.
|
Package checkimap provides IMAP server availability checks. |
|
checkers/checkjs
Package checkjs provides custom JavaScript script execution checks.
|
Package checkjs provides custom JavaScript script execution checks. |
|
checkers/checkkafka
Package checkkafka provides Kafka cluster health checks.
|
Package checkkafka provides Kafka cluster health checks. |
|
checkers/checkkubernetes
Package checkkubernetes provides a Kubernetes workload replica-health check.
|
Package checkkubernetes provides a Kubernetes workload replica-health check. |
|
checkers/checkminecraft
Package checkminecraft provides Minecraft server health monitoring (Java + Bedrock).
|
Package checkminecraft provides Minecraft server health monitoring (Java + Bedrock). |
|
checkers/checkmongodb
Package checkmongodb provides MongoDB database health checks.
|
Package checkmongodb provides MongoDB database health checks. |
|
checkers/checkmqtt
Package checkmqtt provides MQTT broker connectivity checks.
|
Package checkmqtt provides MQTT broker connectivity checks. |
|
checkers/checkmssql
Package checkmssql provides Microsoft SQL Server health checks.
|
Package checkmssql provides Microsoft SQL Server health checks. |
|
checkers/checkmysql
Package checkmysql provides MySQL/MariaDB database health checks.
|
Package checkmysql provides MySQL/MariaDB database health checks. |
|
checkers/checkntp
Package checkntp provides active Network Time Protocol (NTP) checks: it queries a time server and judges it as a clock — reachability plus the server's own self-reported health (stratum, leap indicator, root distance) via beevik/ntp's Response.Validate(), with optional clock-offset and max-stratum thresholds layered on top.
|
Package checkntp provides active Network Time Protocol (NTP) checks: it queries a time server and judges it as a clock — reachability plus the server's own self-reported health (stratum, leap indicator, root distance) via beevik/ntp's Response.Validate(), with optional clock-offset and max-stratum thresholds layered on top. |
|
checkers/checkoracle
Package checkoracle provides Oracle Database health checks.
|
Package checkoracle provides Oracle Database health checks. |
|
checkers/checkpop3
Package checkpop3 provides POP3 server availability checks.
|
Package checkpop3 provides POP3 server availability checks. |
|
checkers/checkpostgres
Package checkpostgres provides PostgreSQL database health checks.
|
Package checkpostgres provides PostgreSQL database health checks. |
|
checkers/checkprometheus
Package checkprometheus provides a check that reads one numeric value out of a Prometheus metrics endpoint (or a Prometheus server, via PromQL) and grades it against warning/critical thresholds.
|
Package checkprometheus provides a check that reads one numeric value out of a Prometheus metrics endpoint (or a Prometheus server, via PromQL) and grades it against warning/critical thresholds. |
|
checkers/checkrabbitmq
Package checkrabbitmq provides RabbitMQ server health checks.
|
Package checkrabbitmq provides RabbitMQ server health checks. |
|
checkers/checkrdp
Package checkrdp provides active Remote Desktop Protocol (RDP) checks.
|
Package checkrdp provides active Remote Desktop Protocol (RDP) checks. |
|
checkers/checkredis
Package checkredis provides Redis server health checks.
|
Package checkredis provides Redis server health checks. |
|
checkers/checksftp
Package checksftp provides SFTP server availability checks.
|
Package checksftp provides SFTP server availability checks. |
|
checkers/checksip
Package checksip provides SIP server reachability (OPTIONS) and registration (REGISTER) monitoring checks.
|
Package checksip provides SIP server reachability (OPTIONS) and registration (REGISTER) monitoring checks. |
|
checkers/checksleep
Package checksleep provides a synthetic "sleep" check used as a deterministic load generator for the scheduler.
|
Package checksleep provides a synthetic "sleep" check used as a deterministic load generator for the scheduler. |
|
checkers/checksmtp
Package checksmtp provides SMTP server connectivity checks.
|
Package checksmtp provides SMTP server connectivity checks. |
|
checkers/checksnmp
Package checksnmp provides SNMP device monitoring checks.
|
Package checksnmp provides SNMP device monitoring checks. |
|
checkers/checkssh
Package checkssh provides SSH server availability checks.
|
Package checkssh provides SSH server availability checks. |
|
checkers/checkssl
Package checkssl provides SSL/TLS certificate validation checks.
|
Package checkssl provides SSL/TLS certificate validation checks. |
|
checkers/checktcp
Package checktcp provides TCP port connectivity checks.
|
Package checktcp provides TCP port connectivity checks. |
|
checkers/checkudp
Package checkudp provides UDP port reachability checks.
|
Package checkudp provides UDP port reachability checks. |
|
checkers/checkwebsocket
Package checkwebsocket provides WebSocket connectivity checks.
|
Package checkwebsocket provides WebSocket connectivity checks. |
|
checkers/registry
Package registry provides factory functions for creating checkers and configs.
|
Package registry provides factory functions for creating checkers and configs. |
|
checkers/urlparse
Package urlparse provides URL parsing for check configurations.
|
Package urlparse provides URL parsing for check configurations. |
|
checkworker
Package checkworker implements distributed check job execution.
|
Package checkworker implements distributed check job execution. |
|
checkworker/backend
Package backend provides the WorkerBackend interface that abstracts how the check worker loop (internal/checkworker) talks to the master: DirectBackend calls the database and services in-process (the production server path), WSBackend (agent mode) speaks the WebSocket agent protocol to a remote server.
|
Package backend provides the WorkerBackend interface that abstracts how the check worker loop (internal/checkworker) talks to the master: DirectBackend calls the database and services in-process (the production server path), WSBackend (agent mode) speaks the WebSocket agent protocol to a remote server. |
|
checkworker/checkjobsvc
Package checkjobsvc provides check job queue operations for the distributed check runner system.
|
Package checkjobsvc provides check job queue operations for the distributed check runner system. |
|
checkworker/egressreport
Package egressreport turns this process's live egress self-probe into the shape the worker row stores, for the in-process worker and the deported agent alike (spec 2026-08-15-11).
|
Package egressreport turns this process's live egress self-probe into the shape the worker row stores, for the in-process worker and the deported agent alike (spec 2026-08-15-11). |
|
checkworker/scheduling
Package scheduling holds the pure, side-effect-free math for cost-aware, plan-weighted check scheduling (spec 2026-06-30-09, cost-only offset per spec 2026-07-01-02).
|
Package scheduling holds the pure, side-effect-free math for cost-aware, plan-weighted check scheduling (spec 2026-06-30-09, cost-only offset per spec 2026-07-01-02). |
|
config
Package config provides application configuration management using koanf.
|
Package config provides application configuration management using koanf. |
|
credmigrate
Package credmigrate implements the one-shot migration that walks every secret-bearing row whose private column is NULL but whose public column still has plaintext secrets, splits them, and encrypts the secret side under the org DEK.
|
Package credmigrate implements the one-shot migration that walks every secret-bearing row whose private column is NULL but whose public column still has plaintext secrets, splits them, and encrypts the secret side under the org DEK. |
|
crypto/credentials
Package credentials implements envelope encryption for sensitive configuration values stored at rest.
|
Package credentials implements envelope encryption for sensitive configuration values stored at rest. |
|
customdomain
Package customdomain holds the lifecycle state machine for a status page's custom domain: how a domain earns the right to be served, how it degrades when re-verification starts failing, and how it earns that right back.
|
Package customdomain holds the lifecycle state machine for a status page's custom domain: how a domain earns the right to be served, how it degrades when re-verification starts failing, and how it earns that right back. |
|
db
Package db provides the database abstraction layer for solidping.
|
Package db provides the database abstraction layer for solidping. |
|
db/dbcaptest
Package dbcaptest holds the one shared table of workers.capabilities values and the verdict the database must return for each of them.
|
Package dbcaptest holds the one shared table of workers.capabilities values and the verdict the database must return for each of them. |
|
db/dbctx
Package dbctx provides context-aware database transaction management for bun.DB.
|
Package dbctx provides context-aware database transaction management for bun.DB. |
|
db/dbfault
Package dbfault classifies database driver errors as transient (worth retrying) or structural (never worth retrying), in one place, for every component that talks to the database.
|
Package dbfault classifies database driver errors as transient (worth retrying) or structural (never worth retrying), in one place, for every component that talks to the database. |
|
db/dblock
Package dblock runs a piece of work on at most one process at a time, using a PostgreSQL session advisory lock as the mutual exclusion primitive.
|
Package dblock runs a piece of work on at most one process at a time, using a PostgreSQL session advisory lock as the mutual exclusion primitive. |
|
db/migrationguard
Package migrationguard detects migrations whose content changed after they were applied.
|
Package migrationguard detects migrations whose content changed after they were applied. |
|
db/models
Package models provides database model definitions for SolidPing.
|
Package models provides database model definitions for SolidPing. |
|
db/postgres
Package postgres provides a PostgreSQL implementation of the db.Service interface.
|
Package postgres provides a PostgreSQL implementation of the db.Service interface. |
|
db/postgres/embeddedpg
Package embeddedpg owns the full lifecycle of embedded-PostgreSQL instances used by tests: it creates and owns the data directory, marks it with an owner PID so a startup sweep can tell live suites from orphans, starts postgres, and spawns a detached watchdog process that reaps postgres if this process dies without cleaning up (e.g.
|
Package embeddedpg owns the full lifecycle of embedded-PostgreSQL instances used by tests: it creates and owns the data directory, marks it with an owner PID so a startup sweep can tell live suites from orphans, starts postgres, and spawns a detached watchdog process that reaps postgres if this process dies without cleaning up (e.g. |
|
db/sloghook
Package sloghook provides a bun query hook that logs queries using slog and emits Prometheus histograms for query latency.
|
Package sloghook provides a bun query hook that logs queries using slog and emits Prometheus histograms for query latency. |
|
db/sqlite
Package sqlite provides a SQLite implementation of the db.Service interface.
|
Package sqlite provides a SQLite implementation of the db.Service interface. |
|
db/sqlitedriver
Package sqlitedriver selects the SQLite driver at build time and links only the one selected.
|
Package sqlitedriver selects the SQLite driver at build time and links only the one selected. |
|
defaults
Package defaults provides default configuration values used across the application.
|
Package defaults provides default configuration values used across the application. |
|
devtools/browsertosleep
Package browsertosleep implements a guarded, reversible dev/admin harness that converts every `browser` check in the current instance into a synthetic `sleep` check.
|
Package browsertosleep implements a guarded, reversible dev/admin harness that converts every `browser` check in the current instance into a synthetic `sleep` check. |
|
discovery
Package discovery provides network discovery functionality for solidping.
|
Package discovery provides network discovery functionality for solidping. |
|
discovery/scantypes
Package scantypes is the discovery-type registry.
|
Package scantypes is the discovery-type registry. |
|
domainverify
Package domainverify normalizes customer-owned status-page hostnames and verifies routing + ownership over DNS with a SINGLE CNAME record.
|
Package domainverify normalizes customer-owned status-page hostnames and verifies routing + ownership over DNS with a SINGLE CNAME record. |
|
email
Package email provides email formatting and sending capabilities.
|
Package email provides email formatting and sending capabilities. |
|
entitlements
Package entitlements owns per-org limits.
|
Package entitlements owns per-org limits. |
|
envcheck
Package envcheck warns about SP_*-prefixed environment variables that no recognized configuration key binds, so a typo'd setting is surfaced at startup instead of silently becoming a no-op (the SP_RATE_LIMITING_TRUSTED_PROXIES incident, which should have been SP_SERVER_RATE_LIMITING_TRUSTED_PROXIES).
|
Package envcheck warns about SP_*-prefixed environment variables that no recognized configuration key binds, so a typo'd setting is surfaced at startup instead of silently becoming a no-op (the SP_RATE_LIMITING_TRUSTED_PROXIES incident, which should have been SP_SERVER_RATE_LIMITING_TRUSTED_PROXIES). |
|
errorreport
Package errorreport centralizes "which Sentry hub does this code path report on?" so handlers, middleware and background workers can never drift apart.
|
Package errorreport centralizes "which Sentry hub does this code path report on?" so handlers, middleware and background workers can never drift apart. |
|
errorreport/errorreporttest
Package errorreporttest provides a capturing Sentry transport for tests.
|
Package errorreporttest provides a capturing Sentry transport for tests. |
|
handlers/agents
Package agents provides the org-scoped admin API for private locations (org-private regions) and their deported check agents: creating/deleting private regions, minting one-shot enrollment tokens, and listing/revoking agents.
|
Package agents provides the org-scoped admin API for private locations (org-private regions) and their deported check agents: creating/deleting private regions, minting one-shot enrollment tokens, and listing/revoking agents. |
|
handlers/agentws
Package agentws implements the WebSocket transport for deported check agents (spec 2026-07-16-02, generalized to platform-operated agents by 2026-07-27-01).
|
Package agentws implements the WebSocket transport for deported check agents (spec 2026-07-16-02, generalized to platform-operated agents by 2026-07-27-01). |
|
handlers/attachments
Package attachments is the generic attachment rail (spec 2026-08-21-01): the `files.topic` naming rules, the authorizer registry that decides whether a caller may write under a given topic, and the agent-facing upload endpoint that is its first untrusted writer.
|
Package attachments is the generic attachment rail (spec 2026-08-21-01): the `files.topic` naming rules, the authorizer registry that decides whether a caller may write under a given topic, and the agent-facing upload endpoint that is its first untrusted writer. |
|
handlers/auth
Package auth provides authentication services and handlers.
|
Package auth provides authentication services and handlers. |
|
handlers/availability
Package availability provides the server-side per-period availability statistics endpoint for a single check.
|
Package availability provides the server-side per-period availability statistics endpoint for a single check. |
|
handlers/badges
Package badges provides HTTP handlers for serving badge images.
|
Package badges provides HTTP handlers for serving badge images. |
|
handlers/base
Package base provides common handler functionality for HTTP request handling.
|
Package base provides common handler functionality for HTTP request handling. |
|
handlers/checkchannels
Package checkchannels provides HTTP handlers for managing check-to-integration-connection associations for incident notifications.
|
Package checkchannels provides HTTP handlers for managing check-to-integration-connection associations for incident notifications. |
|
handlers/checkdependencies
Package checkdependencies provides CRUD over the check_dependencies graph and the helpers used by the incident-rollup hook.
|
Package checkdependencies provides CRUD over the check_dependencies graph and the helpers used by the incident-rollup hook. |
|
handlers/checkgroups
Package checkgroups provides HTTP handlers for check group management endpoints.
|
Package checkgroups provides HTTP handlers for check group management endpoints. |
|
handlers/checkjobs
Package checkjobs provides read-only HTTP access to the check_jobs schedule table and aggregate stats over both the background jobs queue and the check schedule.
|
Package checkjobs provides read-only HTTP access to the check_jobs schedule table and aggregate stats over both the background jobs queue and the check schedule. |
|
handlers/checks
Package checks provides HTTP handlers for check management endpoints.
|
Package checks provides HTTP handlers for check management endpoints. |
|
handlers/checks/importers
Package importers converts third-party monitoring configurations (Gatus, Better Stack, Uptime Kuma, UptimeRobot) into SolidPing's portable ExportDocument, which is then fed through the existing apply/import pipeline.
|
Package importers converts third-party monitoring configurations (Gatus, Better Stack, Uptime Kuma, UptimeRobot) into SolidPing's portable ExportDocument, which is then fed through the existing apply/import pipeline. |
|
handlers/checktypes
Package checktypes provides HTTP handlers for check type metadata endpoints.
|
Package checktypes provides HTTP handlers for check type metadata endpoints. |
|
handlers/discovery
Package discovery provides HTTP handlers for network discovery operations.
|
Package discovery provides HTTP handlers for network discovery operations. |
|
handlers/emailcheck
Package emailcheck implements the JMAP email handler that turns inbound emails into SolidPing check results.
|
Package emailcheck implements the JMAP email handler that turns inbound emails into SolidPing check results. |
|
handlers/emailpreview
Package emailpreview provides a dev/test-only HTTP route that renders any shipped email template with fixture data in the browser, so the design pass in server/internal/email/templates/ can be iterated on visually without round-tripping through SMTP (spec D5).
|
Package emailpreview provides a dev/test-only HTTP route that renders any shipped email template with fixture data in the browser, so the design pass in server/internal/email/templates/ can be iterated on visually without round-tripping through SMTP (spec D5). |
|
handlers/emailsuppressions
Package emailsuppressions exposes the dashboard-facing REST API for the D4 per-recipient unsubscribe list (spec 2026-07-05-10): list current suppressions for an org and remove one (re-subscribe).
|
Package emailsuppressions exposes the dashboard-facing REST API for the D4 per-recipient unsubscribe list (spec 2026-07-05-10): list current suppressions for an org and remove one (re-subscribe). |
|
handlers/entitlements
Package entitlements wraps the entitlements service with HTTP handlers for GET / PUT / PATCH and the audit listing.
|
Package entitlements wraps the entitlements service with HTTP handlers for GET / PUT / PATCH and the audit listing. |
|
handlers/escalationpolicies
Package escalationpolicies implements the escalation policy domain: CRUD on policies and the steps/targets nested inside them.
|
Package escalationpolicies implements the escalation policy domain: CRUD on policies and the steps/targets nested inside them. |
|
handlers/events
Package events provides event listing HTTP handlers.
|
Package events provides event listing HTTP handlers. |
|
handlers/features
Package features exposes a minimal feature-flag endpoint so the frontend can decide which UI elements to render.
|
Package features exposes a minimal feature-flag endpoint so the frontend can decide which UI elements to render. |
|
handlers/feedback
Package feedback implements the in-app bug-report flow: it accepts a multipart submission from the dash0 / status0 frontends, persists the optional screenshot via the files service, and asynchronously creates a GitHub issue with all the diagnostic context embedded.
|
Package feedback implements the in-app bug-report flow: it accepts a multipart submission from the dash0 / status0 frontends, persists the optional screenshot via the files service, and asynchronously creates a GitHub issue with all the diagnostic context embedded. |
|
handlers/files
Package files provides HTTP handlers and a programmatic service for the generic file-storage layer.
|
Package files provides HTTP handlers and a programmatic service for the generic file-storage layer. |
|
handlers/files/signedurl
Package signedurl produces and verifies short-lived HMAC signatures for public file URLs.
|
Package signedurl produces and verifies short-lived HMAC signatures for public file URLs. |
|
handlers/filestorage
Package filestorage defines the storage seam for file blobs and the pluggable backend factory.
|
Package filestorage defines the storage seam for file blobs and the pluggable backend factory. |
|
handlers/filestorage/localfs
Package localfs implements the FileStorage interface backed by a directory on the local filesystem.
|
Package localfs implements the FileStorage interface backed by a directory on the local filesystem. |
|
handlers/filestorage/s3fs
Package s3fs implements the FileStorage interface backed by S3 via aws-sdk-go-v2.
|
Package s3fs implements the FileStorage interface backed by S3 via aws-sdk-go-v2. |
|
handlers/heartbeat
Package heartbeat provides HTTP handlers for heartbeat check ingestion.
|
Package heartbeat provides HTTP handlers for heartbeat check ingestion. |
|
handlers/incidentnotifications
Package incidentnotifications provides the read API for the incident_notifications audit table written by the notification fan-out paths.
|
Package incidentnotifications provides the read API for the incident_notifications audit table written by the notification fan-out paths. |
|
handlers/incidentpublications
Package incidentpublications implements the incident publication overlay: the object that says "this incident is visible on this status page, under this customer-readable title, in this state" (spec 2026-08-19-08).
|
Package incidentpublications implements the incident publication overlay: the object that says "this incident is visible on this status page, under this customer-readable title, in this state" (spec 2026-08-19-08). |
|
handlers/incidents
Package incidents provides incident management HTTP handlers.
|
Package incidents provides incident management HTTP handlers. |
|
handlers/integrations
Package integrations provides HTTP handlers for integration management (Slack, Discord, webhook, email, etc.).
|
Package integrations provides HTTP handlers for integration management (Slack, Discord, webhook, email, etc.). |
|
handlers/jobs
Package jobs provides HTTP handlers for job operations.
|
Package jobs provides HTTP handlers for job operations. |
|
handlers/jobsadmin
Package jobsadmin provides admin/super-admin read-only views over the background jobs queue, including a system-wide view across all orgs (and system jobs where organization_uid IS NULL) and retry-chain traversal.
|
Package jobsadmin provides admin/super-admin read-only views over the background jobs queue, including a system-wide view across all orgs (and system jobs where organization_uid IS NULL) and retry-chain traversal. |
|
handlers/labels
Package labels powers the label autocomplete API.
|
Package labels powers the label autocomplete API. |
|
handlers/maintenancewindows
Package maintenancewindows provides HTTP handlers for maintenance window management endpoints.
|
Package maintenancewindows provides HTTP handlers for maintenance window management endpoints. |
|
handlers/members
Package members provides HTTP handlers for organization member management.
|
Package members provides HTTP handlers for organization member management. |
|
handlers/oncallschedules
Package oncallschedules implements the on-call schedule domain: CRUD on schedules, rosters, and overrides, plus the rotation resolver that answers "who is on call right now".
|
Package oncallschedules implements the on-call schedule domain: CRUD on schedules, rosters, and overrides, plus the rotation resolver that answers "who is on call right now". |
|
handlers/orglogo
Package orglogo implements the organization logo: an owner-only upload endpoint.
|
Package orglogo implements the organization logo: an owner-only upload endpoint. |
|
handlers/ovhsmscb
Package ovhsmscb handles OVHcloud SMS delivery-receipt callbacks.
|
Package ovhsmscb handles OVHcloud SMS delivery-receipt callbacks. |
|
handlers/publicconfig
Package publicconfig serves GET /api/v1/config: the unauthenticated, browser-safe configuration blob the dashboard reads at boot, before any login has happened.
|
Package publicconfig serves GET /api/v1/config: the unauthenticated, browser-safe configuration blob the dashboard reads at boot, before any login has happened. |
|
handlers/realtimews
Package realtimews serves the org-scoped live hint WebSocket (GET /api/v1/orgs/:org/events/ws), replacing the v1 SSE stream (handlers/realtimestream).
|
Package realtimews serves the org-scoped live hint WebSocket (GET /api/v1/orgs/:org/events/ws), replacing the v1 SSE stream (handlers/realtimestream). |
|
handlers/regions
Package regions provides HTTP handlers for region API endpoints.
|
Package regions provides HTTP handlers for region API endpoints. |
|
handlers/reportschedules
Package reportschedules provides HTTP handlers for scheduled uptime-report digests, plus the "send one to me right now" test path.
|
Package reportschedules provides HTTP handlers for scheduled uptime-report digests, plus the "send one to me right now" test path. |
|
handlers/results
Package results provides handlers for results listing endpoints.
|
Package results provides handlers for results listing endpoints. |
|
handlers/severities
Package severities provides HTTP handlers for the severity primitive — per-org channel-set bundles consumed by escalation step fan-out.
|
Package severities provides HTTP handlers for the severity primitive — per-org channel-set bundles consumed by escalation step fan-out. |
|
handlers/sloalerts
Package sloalerts turns an SLO's computed burn rate into a page.
|
Package sloalerts turns an SLO's computed burn rate into a page. |
|
handlers/slos
Package slos provides HTTP handlers for service-level-objective management, plus the read-time status/history computations built on internal/slo.
|
Package slos provides HTTP handlers for service-level-objective management, plus the read-time status/history computations built on internal/slo. |
|
handlers/statuspageassets
Package statuspageassets implements per-status-page brand assets — the uploaded logo and favicon (spec 2026-08-21-07) — as an admin-gated upload endpoint plus the unsigned public route that serves the stored image.
|
Package statuspageassets implements per-status-page brand assets — the uploaded logo and favicon (spec 2026-08-21-07) — as an admin-gated upload endpoint plus the unsigned public route that serves the stored image. |
|
handlers/statuspages
Package statuspages provides HTTP handlers for status page management endpoints.
|
Package statuspages provides HTTP handlers for status page management endpoints. |
|
handlers/statussubscribers
Package statussubscribers provides public-facing status-page subscription management (double opt-in email subscriptions + Atom feed) kept separate from the authenticated status-page CRUD so the PII surface (subscriber emails) is isolated.
|
Package statussubscribers provides public-facing status-page subscription management (double opt-in email subscriptions + Atom feed) kept separate from the authenticated status-page CRUD so the PII surface (subscriber emails) is isolated. |
|
handlers/statusupdates
Package statusupdates provides HTTP handlers for status update management endpoints.
|
Package statusupdates provides HTTP handlers for status update management endpoints. |
|
handlers/supportinbox
Package supportinbox exposes the instance support inbox over HTTP.
|
Package supportinbox exposes the instance support inbox over HTTP. |
|
handlers/system
Package system provides handlers for system-wide configuration endpoints.
|
Package system provides handlers for system-wide configuration endpoints. |
|
handlers/telegramcb
Package telegramcb handles Telegram's inbound Bot API webhook: the /start connect flow, in-chat opt-out (/stop, /unlink) and the my_chat_member update that reports the bot was blocked.
|
Package telegramcb handles Telegram's inbound Bot API webhook: the /start connect flow, in-chat opt-out (/stop, /unlink) and the my_chat_member update that reports the bot was blocked. |
|
handlers/testapi
Package testapi provides test HTTP handlers for development and testing.
|
Package testapi provides test HTTP handlers for development and testing. |
|
handlers/tracediag
Package tracediag routes and runs the MTR-style path capture the incident pipeline asks for when a check goes down on a network-reachability failure (spec 2026-08-21-10).
|
Package tracediag routes and runs the MTR-style path capture the incident pipeline asks for when a check goes down on a network-reachability failure (spec 2026-08-21-10). |
|
handlers/twiliocb
Package twiliocb handles inbound Twilio callbacks: the voice TwiML flow with DTMF acknowledgement and the SMS/call delivery-status callback.
|
Package twiliocb handles inbound Twilio callbacks: the voice TwiML flow with DTMF acknowledgement and the SMS/call delivery-status callback. |
|
handlers/uistate
Package uistate stores small, per-user, per-organization UI preferences server-side, so a choice a user makes in the dashboard (today: dismissing the getting-started checklist) follows them to their other devices instead of living in one browser's localStorage.
|
Package uistate stores small, per-user, per-organization UI preferences server-side, so a choice a user makes in the dashboard (today: dismissing the getting-started checklist) follows them to their other devices instead of living in one browser's localStorage. |
|
handlers/unsubscribe
Package unsubscribe implements the public (unauthenticated) per-recipient email unsubscribe surface: RFC 8058 one-click POST, a minimal GET confirmation page, and the re-subscribe undo.
|
Package unsubscribe implements the public (unauthenticated) per-recipient email unsubscribe surface: RFC 8058 one-click POST, a minimal GET confirmation page, and the re-subscribe undo. |
|
handlers/usernotifications
Package usernotifications provides HTTP handlers and business logic for per-user notification contact management and route configuration.
|
Package usernotifications provides HTTP handlers and business logic for per-user notification contact management and route configuration. |
|
handlers/webpush
Package webpush provides HTTP handlers for the Web Push VAPID public key endpoint.
|
Package webpush provides HTTP handlers for the Web Push VAPID public key endpoint. |
|
handlers/whatsappcb
Package whatsappcb handles Meta's inbound WhatsApp Cloud API webhook: the GET subscription handshake and the POST event stream carrying delivery statuses and inbound user replies.
|
Package whatsappcb handles Meta's inbound WhatsApp Cloud API webhook: the GET subscription handshake and the POST event stream carrying delivery statuses and inbound user replies. |
|
handlers/workers
Package workers provides the claim/submit business logic shared by every remote check executor.
|
Package workers provides the claim/submit business logic shared by every remote check executor. |
|
heartbeatpush
Package heartbeatpush implements the embedded push transport for heartbeat checks: a one-line-per-beat wire protocol plus the TCP and UDP listeners that carry it.
|
Package heartbeatpush implements the embedded push transport for heartbeat checks: a one-line-per-beat wire protocol plus the TCP and UDP listeners that carry it. |
|
httpx
Package httpx is a thin routing adapter over github.com/go-chi/chi/v5 that preserves the ergonomics the codebase relied on under uptrace/bunrouter:
|
Package httpx is a thin routing adapter over github.com/go-chi/chi/v5 that preserves the ergonomics the codebase relied on under uptrace/bunrouter: |
|
incidentlinks
Package incidentlinks signs and verifies the magic-link tokens used by incident notification emails.
|
Package incidentlinks signs and verifies the magic-link tokens used by incident notification emails. |
|
integrations/discord
Package discord provides a client for sending messages via Discord webhooks.
|
Package discord provides a client for sending messages via Discord webhooks. |
|
integrations/freebox
Package freebox provides a thin HTTP client and service helpers for talking to the local Freebox OS API (the router operating system shipped by the French ISP Free on every Freebox device).
|
Package freebox provides a thin HTTP client and service helpers for talking to the local Freebox OS API (the router operating system shipped by the French ISP Free on every Freebox device). |
|
integrations/kubernetes
Package kubernetes resolves a stored, encrypted "cluster connection" Integration to an authenticated Kubernetes clientset.
|
Package kubernetes resolves a stored, encrypted "cluster connection" Integration to an authenticated Kubernetes clientset. |
|
integrations/msteams
Package msteams implements the two-way Microsoft Teams bot integration (connection type `msteams-bot`), built on the Azure Bot Service / Bot Framework.
|
Package msteams implements the two-way Microsoft Teams bot integration (connection type `msteams-bot`), built on the Azure Bot Service / Bot Framework. |
|
integrations/ovhsms
Package ovhsms is a minimal OVHcloud SMS API client.
|
Package ovhsms is a minimal OVHcloud SMS API client. |
|
integrations/slack
Package slack provides Slack integration functionality for SolidPing.
|
Package slack provides Slack integration functionality for SolidPing. |
|
integrations/sms
Package sms is the provider-neutral seam for outbound SMS and voice.
|
Package sms is the provider-neutral seam for outbound SMS and voice. |
|
integrations/sshtunnel
Package sshtunnel resolves an SSH *check* into a live port-forwarding dialer.
|
Package sshtunnel resolves an SSH *check* into a live port-forwarding dialer. |
|
integrations/sshtunnel/sshtunneltest
Package sshtunneltest provides an in-process SSH server that answers `direct-tcpip` (port-forward) requests, so tunneling can be exercised end-to-end in unit tests without a real bastion or any network privilege.
|
Package sshtunneltest provides an in-process SSH server that answers `direct-tcpip` (port-forward) requests, so tunneling can be exercised end-to-end in unit tests without a real bastion or any network privilege. |
|
integrations/telegram
Package telegram is a minimal client for the Telegram Bot API (api.telegram.org).
|
Package telegram is a minimal client for the Telegram Bot API (api.telegram.org). |
|
integrations/twilio
Package twilio is a minimal Twilio REST client for sending SMS and placing voice calls, plus request-signature validation for inbound callbacks.
|
Package twilio is a minimal Twilio REST client for sending SMS and placing voice calls, plus request-signature validation for inbound callbacks. |
|
integrations/twilioconn
Package twilioconn resolves and decrypts the org-scoped Twilio connection used by the phone verification flow, the escalation dispatcher, and the inbound voice/status callbacks.
|
Package twilioconn resolves and decrypts the org-scoped Twilio connection used by the phone verification flow, the escalation dispatcher, and the inbound voice/status callbacks. |
|
integrations/whatsapp
Package whatsapp is a minimal client for Meta's WhatsApp Business Cloud API (graph.facebook.com), plus X-Hub-Signature-256 validation for the inbound webhook.
|
Package whatsapp is a minimal client for Meta's WhatsApp Business Cloud API (graph.facebook.com), plus X-Hub-Signature-256 validation for the inbound webhook. |
|
jmap
Package jmap provides a minimal JMAP (RFC 8620 / 8621) client and a long-running inbox manager used by SolidPing to receive emails on arbitrary addresses.
|
Package jmap provides a minimal JMAP (RFC 8620 / 8621) client and a long-running inbox manager used by SolidPing to receive emails on arbitrary addresses. |
|
jobs/jobdef
Package jobdef defines the core job system types and interfaces.
|
Package jobdef defines the core job system types and interfaces. |
|
jobs/jobsvc
Package jobsvc provides job queue operations for the job system.
|
Package jobsvc provides job queue operations for the job system. |
|
jobs/jobtypes
Package jobtypes contains implementations of various job types.
|
Package jobtypes contains implementations of various job types. |
|
jobs/jobworker
Package jobworker implements the job execution engine.
|
Package jobworker implements the job execution engine. |
|
maintenance
Package maintenance resolves whether a check is inside an active maintenance window, with a small in-process TTL cache.
|
Package maintenance resolves whether a check is inside an active maintenance window, with a small in-process TTL cache. |
|
mcp
Package mcp implements a Model Context Protocol server for SolidPing.
|
Package mcp implements a Model Context Protocol server for SolidPing. |
|
membench
Package membench holds the measurement core of the memory bench harness: the sample shape, the aggregation, the inter-run spread, and the significance rule that decides whether a delta between two runs means anything.
|
Package membench holds the measurement core of the memory bench harness: the sample shape, the aggregation, the inter-run spread, and the significance rule that decides whether a delta between two runs means anything. |
|
meminfo
Package meminfo turns the Linux memory pseudo-files and the Go runtime's own accounting into one structured snapshot, so "what does this process cost in memory?" has a single, precise answer instead of three vaguely-related numbers.
|
Package meminfo turns the Linux memory pseudo-files and the Go runtime's own accounting into one structured snapshot, so "what does this process cost in memory?" has a single, precise answer instead of three vaguely-related numbers. |
|
memlimit
Package memlimit applies process-wide Go runtime memory guardrails — the GOMEMLIMIT soft heap cap and the GOGC heap-growth target — from configuration, optionally deriving the soft cap from the container's cgroup memory limit so a self-hosted/Kubernetes deployment is protected from the OOM killer without any operator action.
|
Package memlimit applies process-wide Go runtime memory guardrails — the GOMEMLIMIT soft heap cap and the GOGC heap-growth target — from configuration, optionally deriving the soft cap from the container's cgroup memory limit so a self-hosted/Kubernetes deployment is protected from the OOM killer without any operator action. |
|
middleware
Package middleware provides HTTP middleware for authentication and authorization.
|
Package middleware provides HTTP middleware for authentication and authorization. |
|
nettrace
Package nettrace is the MTR-style path prober SolidPing attaches to an incident opened by a network-reachability failure (spec 2026-08-21-10).
|
Package nettrace is the MTR-style path prober SolidPing attaches to an incident opened by a network-reachability failure (spec 2026-08-21-10). |
|
notifications
Package notifications provides sender interfaces and implementations for sending incident notifications through various channels (email, Slack, webhooks).
|
Package notifications provides sender interfaces and implementations for sending incident notifications through various channels (email, Slack, webhooks). |
|
notifier
Package notifier provides check notification implementations for different database backends.
|
Package notifier provides check notification implementations for different database backends. |
|
oauth
Package oauth implements the minimal embedded OAuth 2.1 authorization server that fronts the MCP resource.
|
Package oauth implements the minimal embedded OAuth 2.1 authorization server that fronts the MCP resource. |
|
oauthstate
Package oauthstate is a tiny CSRF-state primitive shared by every OAuth flow in the codebase.
|
Package oauthstate is a tiny CSRF-state primitive shared by every OAuth flow in the codebase. |
|
opsnotify
Package opsnotify is the instance-level "tell an operator" transport.
|
Package opsnotify is the instance-level "tell an operator" transport. |
|
opsnotifywire
Package opsnotifywire builds the opsnotify transport's media closures from the running process's service registry.
|
Package opsnotifywire builds the opsnotify transport's media closures from the running process's service registry. |
|
orgslug
Package orgslug owns the organization-slug rule and the shared slug generator used by the OAuth/integration flows that auto-create organizations (Slack sign-in, Slack integration install, Discord).
|
Package orgslug owns the organization-slug rule and the shared slug generator used by the OAuth/integration flows that auto-create organizations (Slack sign-in, Slack integration install, Discord). |
|
otelsetup
Package otelsetup initializes OpenTelemetry providers.
|
Package otelsetup initializes OpenTelemetry providers. |
|
procwatch
Package procwatch supervises this process's relationship with the process that started it.
|
Package procwatch supervises this process's relationship with the process that started it. |
|
profiler
Package profiler provides an optional pprof profiler server.
|
Package profiler provides an optional pprof profiler server. |
|
prommetrics
Package prommetrics provides Prometheus metric definitions and recording helpers for SolidPing.
|
Package prommetrics provides Prometheus metric definitions and recording helpers for SolidPing. |
|
realtime
Package realtime fans org-scoped, data-free "hint" events out to dashboard stream subscribers.
|
Package realtime fans org-scoped, data-free "hint" events out to dashboard stream subscribers. |
|
regions
Package regions provides region management for multi-region check execution.
|
Package regions provides region management for multi-region check execution. |
|
scheduling/costdist
Package costdist computes an aggregate distribution of the scheduler's per-job cost_ewma_ms and delay_ewma_ms across all check_jobs.
|
Package costdist computes an aggregate distribution of the scheduler's per-job cost_ewma_ms and delay_ewma_ms across all check_jobs. |
|
servicesig
Package servicesig implements the HMAC request-signing scheme used between SolidPing and the separate billing service (solidping-billing), in both directions.
|
Package servicesig implements the HMAC request-signing scheme used between SolidPing and the separate billing service (solidping-billing), in both directions. |
|
slo
Package slo computes service-level-objective attainment and error budgets on top of the existing uptimebar availability engine.
|
Package slo computes service-level-objective attainment and error budgets on top of the existing uptimebar availability engine. |
|
sshauth
Package sshauth builds golang.org/x/crypto/ssh authentication methods shared by every SSH-speaking checker/integration in the repo (checkssh, checksftp, sshtunnel).
|
Package sshauth builds golang.org/x/crypto/ssh authentication methods shared by every SSH-speaking checker/integration in the repo (checkssh, checksftp, sshtunnel). |
|
state
Package state provides a higher-level state storage service with prefix support.
|
Package state provides a higher-level state storage service with prefix support. |
|
stats
Package stats provides statistical tracking utilities.
|
Package stats provides statistical tracking utilities. |
|
statuspagecache
Package statuspagecache derives the HTTP caching directives for SolidPing's public status-page surfaces (spec 2026-08-22-06).
|
Package statuspagecache derives the HTTP caching directives for SolidPing's public status-page surfaces (spec 2026-08-22-06). |
|
statuspagekiosk
Package statuspagekiosk implements the kiosk-token grant for SolidPing's public status-page surfaces (spec 2026-08-29-08).
|
Package statuspagekiosk implements the kiosk-token grant for SolidPing's public status-page surfaces (spec 2026-08-29-08). |
|
statuspagelock
Package statuspagelock implements the unlock mechanism for password-protected status pages (spec 2026-08-21-07).
|
Package statuspagelock implements the unlock mechanism for password-protected status pages (spec 2026-08-21-07). |
|
support
Package support implements the instance support inbox: capture of inbound human messages our bots cannot parse, and replies back through the channel they arrived on (spec 2026-08-22-02).
|
Package support implements the instance support inbox: capture of inbound human messages our bots cannot parse, and replies back through the channel they arrived on (spec 2026-08-22-02). |
|
synthdata
Package synthdata generates synthetic historical check results.
|
Package synthdata generates synthetic historical check results. |
|
systemconfig
Package systemconfig manages system configuration with precedence: 1.
|
Package systemconfig manages system configuration with precedence: 1. |
|
tlsedge
Package tlsedge implements in-server TLS for SolidPing: on-demand Let's Encrypt certificate issuance (via certmagic) for the instance's own hosts and for verified status-page custom domains, with every TLS asset persisted in the database so a cluster shares one set of certificates and a restart never re-issues.
|
Package tlsedge implements in-server TLS for SolidPing: on-demand Let's Encrypt certificate issuance (via certmagic) for the instance's own hosts and for verified status-page custom domains, with every TLS asset persisted in the database so a cluster shares one set of certificates and a restart never re-issues. |
|
uptimebar
Package uptimebar is the single shared source for per-bucket availability used by both the public status page and the badge uptime bar.
|
Package uptimebar is the single shared source for per-bucket availability used by both the public status page and the badge uptime bar. |
|
uptimereport
Package uptimereport builds the view model for the scheduled uptime-report email.
|
Package uptimereport builds the view model for the scheduled uptime-report email. |
|
utils/cache
Package cache provides a simple in-memory cache with optional TTL and weak reference support.
|
Package cache provides a simple in-memory cache with optional TTL and weak reference support. |
|
utils/clock
Package clock provides a time abstraction for deterministic testing.
|
Package clock provides a time abstraction for deterministic testing. |
|
utils/passwords
Package passwords provides secure, configurable password hashing.
|
Package passwords provides secure, configurable password hashing. |
|
utils/slog
Package slogutil provides slog handler utilities.
|
Package slogutil provides slog handler utilities. |
|
utils/slog/pretty
Package pretty provides slog handlers that prints the log.
|
Package pretty provides slog handlers that prints the log. |
|
utils/timeutils
Package timeutils provides time-related utility functions.
|
Package timeutils provides time-related utility functions. |
|
version
Package version provides build-time version information.
|
Package version provides build-time version information. |
|
watchdog
Package watchdog is the platform's self-monitoring detector set (spec 2026-08-24-10).
|
Package watchdog is the platform's self-monitoring detector set (spec 2026-08-24-10). |
|
webpush
Package webpush provides Web Push notification sending support (VAPID + Push API).
|
Package webpush provides Web Push notification sending support (VAPID + Push API). |
|
pkg
|
|
|
cli
Package cli provides command-line interface functionality for SolidPing.
|
Package cli provides command-line interface functionality for SolidPing. |
|
cli/apihelper
Package apihelper provides helper functions for API client operations.
|
Package apihelper provides helper functions for API client operations. |
|
cli/config
Package config provides configuration management for the CLI.
|
Package config provides configuration management for the CLI. |
|
cli/output
Package output provides output formatting utilities for CLI commands.
|
Package output provides output formatting utilities for CLI commands. |
|
client
Package client provides a wrapper around the generated OpenAPI client for the SolidPing API.
|
Package client provides a wrapper around the generated OpenAPI client for the SolidPing API. |
|
test
|
|
|
integration
Package integration provides integration tests for the SolidPing API.
|
Package integration provides integration tests for the SolidPing API. |
|
integration/scenario
Package scenario provides full-pipeline end-to-end integration tests that exercise the complete check-down → incident → escalation → webhook → recovery path against a real Postgres-backed server (via embedded-postgres).
|
Package scenario provides full-pipeline end-to-end integration tests that exercise the complete check-down → incident → escalation → webhook → recovery path against a real Postgres-backed server (via embedded-postgres). |
Click to show internal directories.
Click to hide internal directories.