server

command module
v0.0.0-...-acbe8ed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2026 License: AGPL-3.0 Imports: 25 Imported by: 0

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).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL