What's in Settings

Settings is the system-configuration screen. Most of the main page is read-only — operator-managed via the server YAML — with Notification Channels the one interactive section on it.

Two further settings pages exist and are fully editable. Only Status Pages appears in the sidebar; Notification Preferences has no menu entry and is reached by typing its URL:

PageWhat it configuresScope
Notification Preferences (/settings/notifications)How *you* are notified — channels per event type, digest mode, quiet hoursJust you. No menu entry — reach it by typing the URL (why)
Status Pages (/settings/status-pages)Public status pages built from uptime monitorsEveryone, including the public

Notification Channels

The first section of the main page, with its own + Add Channel button. This is the only editable section on this page — not the only editable thing in Settings.

See Notification channels for the full guide, and Notification preferences for the per-user page.

Retention

Read-only summary of the data retention windows.

SettingMeans
Hot RetentionRecent data kept in fast hot storage. Configured server-side.
Cold RetentionOlder data tiered to object storage. Configured server-side.

Both rows show "Configured server-side" instead of a value because the actual numbers live in configs/server.yaml under storage.hot.retention_hours and storage.cold.retention_days. Edit the YAML and restart the server to change them.

Storage

Read-only summary of the storage engine and compression.

FieldMeans
Storage EngineThe hot store backend.
CompressionCodec applied to stored rows.

Same as retention — edits are server-side via the config file.

Authentication

Read-only summary of how users sign in:

FieldMeans
Local AuthWhether email/password sign-in is enabled. ENABLED pill.
OIDC / SSOWhether an OIDC provider (Microsoft Entra, Google, Okta…) is wired in. NOT CONFIGURED until the operator sets auth.oidc.* in the YAML.
JWT ExpiryHow long a sign-in token stays valid. Default 24h.

Authentication is managed server-side. Configure OIDC providers in the server configuration file.

Why so much is read-only

ObserveKit's deployment model is "operator owns the YAML". Sensitive infrastructure — retention windows that affect data lifecycle, storage backend, OIDC client secrets — are intentionally not exposed as editable UI to admins. This avoids accidentally clobbering production config from a logged-in browser session.

The exception is Notification Channels — channels are end-user infrastructure that needs to be added/edited as teams change. Those are stored in the metastore and edited via the UI.

See also