Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
pulse
command
Command pulse is the Pulse CLI: publish, subscribe and replay events, manage contexts (PL-SDK-006).
|
Command pulse is the Pulse CLI: publish, subscribe and replay events, manage contexts (PL-SDK-006). |
|
pulse-spike
command
Command pulse-spike is the M2 gate spike (PL-TST-006): it fills EVENTS with a large synthetic data set and measures NATS memory and replay latency.
|
Command pulse-spike is the M2 gate spike (PL-TST-006): it fills EVENTS with a large synthetic data set and measures NATS memory and replay latency. |
|
pulsed
command
Command pulsed is the Pulse server: NATS bootstrap, edge, dashboard, rollups, bans, webhooks, backups.
|
Command pulsed is the Pulse server: NATS bootstrap, edge, dashboard, rollups, bans, webhooks, backups. |
|
internal
|
|
|
acme
Package acme obtains and renews the Let's Encrypt certificate for raw NATS (PL-EDGE-006, ADR-0010) with DNS-01.
|
Package acme obtains and renews the Let's Encrypt certificate for raw NATS (PL-EDGE-006, ADR-0010) with DNS-01. |
|
alerts
Package alerts evaluates built-in and custom alert rules, keeps their state and history in SQLite, publishes `_sys.alert.<rule>` events and hands transitions to notifiers (PL-OBS-004/005, PL-AUTH-012, ADR-0033).
|
Package alerts evaluates built-in and custom alert rules, keeps their state and history in SQLite, publishes `_sys.alert.<rule>` events and hands transitions to notifiers (PL-OBS-004/005, PL-AUTH-012, ADR-0033). |
|
api
Package api serves the admin API + UI and the public API with Huma v2 on net/http (PL-API-001..005, ADR-0013).
|
Package api serves the admin API + UI and the public API with Huma v2 on net/http (PL-API-001..005, ADR-0013). |
|
app
Package app wires pulsed together and carries build metadata.
|
Package app wires pulsed together and carries build metadata. |
|
audit
Package audit writes and reads the append-only audit log (PL-AUD-001..003).
|
Package audit writes and reads the append-only audit log (PL-AUD-001..003). |
|
backup
Package backup implements nightly encrypted backups (PL-BAK-001..009, ADR-0035): the SQLite database and keys.enc as files, and every JetStream stream as a snapshot whose files are stored content-addressed, so unchanged message blocks are uploaded once and every backup is still a complete, restorable snapshot.
|
Package backup implements nightly encrypted backups (PL-BAK-001..009, ADR-0035): the SQLite database and keys.enc as files, and every JetStream stream as a snapshot whose files are stored content-addressed, so unchanged message blocks are uploaded once and every backup is still a complete, restorable snapshot. |
|
ban
Package ban detects repeated authentication failures and bans the source (PL-BAN-001..009, ADR-0011).
|
Package ban detects repeated authentication failures and bans the source (PL-BAN-001..009, ADR-0011). |
|
banagent
Package banagent mirrors pulsed's bans into nftables sets (PL-BAN-007).
|
Package banagent mirrors pulsed's bans into nftables sets (PL-BAN-007). |
|
bootstrap
Package bootstrap implements `pulsed init` (PL-KEY-003/004): the sealed key set, operator JWT, nats.conf, the bootstrap TLS leaf for 4222 and the banagent token.
|
Package bootstrap implements `pulsed init` (PL-KEY-003/004): the sealed key set, operator JWT, nats.conf, the bootstrap TLS leaf for 4222 and the banagent token. |
|
certs
Package certs holds TLS material handling: the internal CA and bootstrap leaf for NATS (PL-EDGE-007), and later the origin certificate, AOP verification and ACME (M8, M9).
|
Package certs holds TLS material handling: the internal CA and bootstrap leaf for NATS (PL-EDGE-007), and later the origin certificate, AOP verification and ACME (M8, M9). |
|
clients
Package clients manages tool clients: records in SQLite, credentials, grants and the APP account JWT that carries one scoped signing key per client (PL-AUTH-002..012, ADR-0025).
|
Package clients manages tool clients: records in SQLite, credentials, grants and the APP account JWT that carries one scoped signing key per client (PL-AUTH-002..012, ADR-0025). |
|
config
Package config loads pulsed configuration from PULSE_* environment variables, with *_FILE variants for secrets (PL-OPS-003/004).
|
Package config loads pulsed configuration from PULSE_* environment variables, with *_FILE variants for secrets (PL-OPS-003/004). |
|
edge
Package edge implements the public listener's edge concerns: Cloudflare ranges, the real client IP (PL-EDGE-004), TLS with the origin certificate and Authenticated Origin Pulls (PL-EDGE-002/003), and the /ws proxy (PL-EDGE-005).
|
Package edge implements the public listener's edge concerns: Cloudflare ranges, the real client IP (PL-EDGE-004), TLS with the origin certificate and Authenticated Origin Pulls (PL-EDGE-002/003), and the /ws proxy (PL-EDGE-005). |
|
hooks
Package hooks receives inbound webhooks: verifies signatures, then publishes the request as an event (PL-HOOK-001..004).
|
Package hooks receives inbound webhooks: verifies signatures, then publishes the request as an event (PL-HOOK-001..004). |
|
logging
Package logging configures slog JSON logging (PL-OBS-001).
|
Package logging configures slog JSON logging (PL-OBS-001). |
|
metrics
Package metrics holds pulsed's Prometheus registry (PL-OBS-002).
|
Package metrics holds pulsed's Prometheus registry (PL-OBS-002). |
|
natsauth
Package natsauth mints NATS operator, account and user JWTs and turns client grants into NATS permissions (ADR-0006, ADR-0007, ADR-0025).
|
Package natsauth mints NATS operator, account and user JWTs and turns client grants into NATS permissions (ADR-0006, ADR-0007, ADR-0025). |
|
natsconf
Package natsconf renders nats.conf for operator mode with the full resolver (PL-KEY-004, ADR-0006).
|
Package natsconf renders nats.conf for operator mode with the full resolver (PL-KEY-004, ADR-0006). |
|
natsconn
Package natsconn opens pulsed's internal NATS connections (SYS and APP users) over TLS (ADR-0023).
|
Package natsconn opens pulsed's internal NATS connections (SYS and APP users) over TLS (ADR-0023). |
|
netguard
Package netguard provides an HTTP client for outbound webhooks that refuses internal destinations (PL-HOOK-008).
|
Package netguard provides an HTTP client for outbound webhooks that refuses internal destinations (PL-HOOK-008). |
|
notify
Package notify sends alert notifications to Telegram and Discord (PL-OBS-006).
|
Package notify sends alert notifications to Telegram and Discord (PL-OBS-006). |
|
oidc
Package oidc is single sign-on for dashboard users (ADR-0038, PL-USR-008..011), ported from hallpass: provider configuration, Authorization Code flow with PKCE, ID-token validation, identity linking, just-in-time provisioning and group→role mapping, SSO-only enforcement.
|
Package oidc is single sign-on for dashboard users (ADR-0038, PL-USR-008..011), ported from hallpass: provider configuration, Authorization Code flow with PKCE, ID-token validation, identity linking, just-in-time provisioning and group→role mapping, SSO-only enforcement. |
|
oidc/oidctest
Package oidctest is an in-process OpenID Connect provider for tests: discovery, JWKS with key rotation, authorization with PKCE, a token endpoint, and knobs for malformed or malicious tokens.
|
Package oidctest is an in-process OpenID Connect provider for tests: discovery, JWKS with key rotation, authorization with PKCE, a token endpoint, and knobs for malformed or malicious tokens. |
|
outbound
Package outbound delivers events to HTTP endpoints (PL-HOOK-005..010): one durable consumer per hook, in order, with exponential backoff, HMAC signatures, an SSRF-safe client and a delivery log in SQLite.
|
Package outbound delivers events to HTTP endpoints (PL-HOOK-005..010): one durable consumer per hook, in order, with exponential backoff, HMAC signatures, an SSRF-safe client and a delivery log in SQLite. |
|
query
Package query is the explorer engine (PL-EXP-001..006, ADR-0022): paged reads over a stream with server-side filters, bounded by budgets.
|
Package query is the explorer engine (PL-EXP-001..006, ADR-0022): paged reads over a stream with server-side filters, bounded by budgets. |
|
rbac
Package rbac is the dashboard permission matrix (ADR-0038, PL-USR-003).
|
Package rbac is the dashboard permission matrix (ADR-0038, PL-USR-003). |
|
rollup
Package rollup counts events per minute, hour and day by subject prefix and ce-type, from headers-only ordered consumers, and keeps the subject index (PL-ROLL-001..004, ADR-0020).
|
Package rollup counts events per minute, hour and day by subject prefix and ce-type, from headers-only ordered consumers, and keeps the subject index (PL-ROLL-001..004, ADR-0020). |
|
secretbox
Package secretbox seals small secrets (the key store) with XChaCha20-Poly1305 under a key derived from the master key.
|
Package secretbox seals small secrets (the key store) with XChaCha20-Poly1305 under a key derived from the master key. |
|
store
Package store is pulsed's SQLite state database (ADR-0024, PL-DB-001..007).
|
Package store is pulsed's SQLite state database (ADR-0024, PL-DB-001..007). |
|
streams
Package streams ensures and manages JetStream streams in the APP account (PL-BUS-001, PL-BUS-004/005/006).
|
Package streams ensures and manages JetStream streams in the APP account (PL-BUS-001, PL-BUS-004/005/006). |
|
sysapi
Package sysapi talks to the NATS system account: $SYS.REQ.* requests and advisories (PL-KEY-005, PL-AUTH-007/010).
|
Package sysapi talks to the NATS system account: $SYS.REQ.* requests and advisories (PL-KEY-005, PL-AUTH-007/010). |
|
tail
Package tail runs live tail sessions (PL-EXP-007): one ordered DeliverNew consumer per session, at most MaxSessions sessions, per-session rate limiting with sampling notices.
|
Package tail runs live tail sessions (PL-EXP-007): one ordered DeliverNew consumer per session, at most MaxSessions sessions, per-session rate limiting with sampling notices. |
|
testutil/natstest
Package natstest boots an embedded nats-server from the nats.conf that `pulsed init` generates (PL-TST-001).
|
Package natstest boots an embedded nats-server from the nats.conf that `pulsed init` generates (PL-TST-001). |
|
tokens
Package tokens manages HTTP bearer tokens for the public API (PL-ING-001, PL-ING-007).
|
Package tokens manages HTTP bearer tokens for the public API (PL-ING-001, PL-ING-007). |
|
ui
Package ui embeds the built web UI (web/ → internal/ui/dist via `make web`).
|
Package ui embeds the built web UI (web/ → internal/ui/dist via `make web`). |
|
users
Package users is dashboard authentication (ADR-0038, PL-USR-*), ported from hallpass's operator auth: local accounts with Argon2id passwords, TOTP MFA and recovery codes, invitations and password resets, server-side web sessions with CSRF tokens, recent-authentication (step-up) checks, login throttling, personal access tokens for the CLI, and the setup and break-glass one-time tokens issued by `pulsed admin`.
|
Package users is dashboard authentication (ADR-0038, PL-USR-*), ported from hallpass's operator auth: local accounts with Argon2id passwords, TOTP MFA and recovery codes, invitations and password resets, server-side web sessions with CSRF tokens, recent-authentication (step-up) checks, login throttling, personal access tokens for the CLI, and the setup and break-glass one-time tokens issued by `pulsed admin`. |
|
pkg
|
|
|
pulse
Package pulse is the Go SDK for Pulse (PL-SDK-001): publish, subscribe and replay events over NATS JetStream.
|
Package pulse is the Go SDK for Pulse (PL-SDK-001): publish, subscribe and replay events over NATS JetStream. |
|
pulse/envelope
Package envelope is the Pulse event envelope (CloudEvents-lite in NATS headers, ADR-0005, docs/ENVELOPE.md).
|
Package envelope is the Pulse event envelope (CloudEvents-lite in NATS headers, ADR-0005, docs/ENVELOPE.md). |
Click to show internal directories.
Click to hide internal directories.











