Pulse/docs
rcourtman 3da835c5bc Publish a distribution path for pulse-mcp
The MCP adapter shipped in slice 51 with one install option:
clone the repo and go build. This slice integrates pulse-mcp
into Pulse's existing governed release pipeline so a Pulse
release publishes a pulse-mcp binary alongside the unified agent
and the install scripts that bring it home in one command.

What ships:

  - scripts/build-release.sh extended to build pulse-mcp for
    the same multi-OS matrix as the unified agent, package
    per-platform tarballs and zips, and copy bare binaries to
    RELEASE_DIR for /releases/latest/download/ redirect
    compatibility.
  - .github/workflows/create-release.yml extended to upload
    the bare pulse-mcp binaries plus install-mcp.sh and
    install-mcp.ps1 as release assets.
  - scripts/install-mcp.sh: bash one-line installer that
    detects platform/arch, downloads the matching binary from
    the configured release (latest by default), verifies SHA256
    against the published checksums.txt, places at
    ~/.local/bin/pulse-mcp (or /usr/local/bin if not writable).
    Honors PULSE_MCP_VERSION, PULSE_MCP_BIN_DIR, PULSE_MCP_REPO,
    PULSE_MCP_NO_VERIFY env vars; declines Windows shells with
    a pointer at the .ps1 sibling.
  - scripts/install-mcp.ps1: PowerShell installer for Windows,
    placing pulse-mcp.exe at $LOCALAPPDATA\pulse-mcp.

Documentation aligned:

  - cmd/pulse-mcp/README.md gains an Install section above
    Quick start with three options: one-line installer,
    GitHub Release download, go install. Documents the macOS
    Gatekeeper bypass since v1 is unnotarized by design.
  - The Settings -> API Access agent-integrations panel now
    surfaces the curl|bash command above the config snippet so
    operators see "install pulse-mcp" before "configure your
    MCP client."
  - docs/releases/AGENT_PARADIGM.md drops the "no published
    distribution path" item from "what it does not do yet" and
    documents the Gatekeeper / Homebrew gaps as next-tier
    follow-ups.

Trade-offs surfaced and chosen:

  - Same cadence as Pulse: pulse-mcp ships per Pulse release,
    not on its own track. The MCP server reads the manifest
    from the Pulse it talks to, so version alignment is the
    natural model.
  - No Homebrew tap or core formula in v1. Maintaining a tap
    is real ongoing work; foundation supports adding Homebrew
    later as a layer.
  - No Docker image. Stdio JSON-RPC fights Docker's stdin
    /stdout pattern.
  - No notarization in v1. SHA256 verification through the
    installer preserves the audit trail; README documents the
    Gatekeeper bypass.

Subsystem contract: deployment-installability.md gains
scripts/install-mcp.sh, scripts/install-mcp.ps1, and
cmd/pulse-mcp/ in canonical files (mid-list entries
renumbered) plus a paragraph documenting the new MCP entry
point alongside the existing installer family.

Verification artifacts:

  - scripts/installtests/build_release_assets_test.go gains
    TestBuildReleasePackagesPulseMcpForAllPlatforms which pins
    the build/package/copy wiring and the load-bearing
    install-mcp.sh helpers (platform detection, SHA256
    verification, install-dir resolution).
  - scripts/release_control/render_release_body_test.py gains
    test_agent_paradigm_release_notes_blurb_documents_-
    distribution_path which pins the AGENT_PARADIGM.md draft's
    install-mcp.sh reference and the four-axis frame so a
    future edit cannot regress the install story silently.

Smoke-tested install-mcp.sh locally on darwin-arm64: platform
detection, install-dir resolution, URL building, and 404 error
handling all correct. The full end-to-end install path becomes
live the moment a Pulse release ships pulse-mcp binaries; the
next RC cut will exercise it.
2026-05-10 17:04:49 +01:00
..
api
architecture Make self-hosted SSO Community-tier 2026-05-03 12:48:01 +01:00
images
monitoring
operations Rename retired trial acquisition proof assets 2026-04-28 18:38:10 +01:00
release-control Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
releases Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
security
AGENT_SECURITY.md Harden Proxmox setup token ACLs 2026-05-05 14:19:50 +01:00
AGENT_SUBSTRATE.md Bring action endpoints onto the agent surface with the agent-stable envelope 2026-05-10 15:16:17 +01:00
AI.md Own public AI docs product language 2026-04-28 21:23:05 +01:00
AI_AUTONOMY.md Keep self-hosted Pro prompts opt-in 2026-04-28 11:23:49 +01:00
API.md Expose safe Assistant handoff session summaries 2026-05-07 12:17:04 +01:00
AUDIT_LOGGING.md Label legacy Pro Plus in customer docs 2026-04-26 22:01:24 +01:00
AUTO_UPDATE.md Route operator updates through the local signed helper 2026-04-22 16:18:16 +01:00
CANONICAL_ALERT_ENGINE_MIGRATION_2026-03-10.md
CENTRALIZED_MANAGEMENT.md Canonicalize Docker Podman public docs 2026-04-30 00:29:20 +01:00
CLOUD.md Rename hosted capacity marker copy 2026-04-29 00:07:18 +01:00
CONFIGURATION.md Reduce metrics rollup write amplification 2026-05-03 21:43:20 +01:00
DEPLOYMENT_MODELS.md Label legacy Pro Plus in customer docs 2026-04-26 22:01:24 +01:00
DOCKER.md Clarify paid Docker compose image override 2026-05-06 23:11:32 +01:00
FAQ.md Clarify Relay mobile handoff paid copy 2026-04-30 13:18:04 +01:00
INSTALL.md Clarify paid Docker compose image override 2026-05-06 23:11:32 +01:00
KUBERNETES.md
MAIL_GATEWAY.md
METRICS_HISTORY.md Reduce metrics rollup write amplification 2026-05-03 21:43:20 +01:00
MIGRATION.md Label legacy Pro Plus in customer docs 2026-04-26 22:01:24 +01:00
MIGRATION_UNIFIED_NAV.md
MULTI_TENANT.md Align self-hosted plan docs and tests 2026-04-29 09:21:10 +01:00
OIDC.md
PBS.md
PRIVACY.md Clarify Relay mobile handoff paid copy 2026-04-30 13:18:04 +01:00
PROXY_AUTH.md
PULSE_PRO.md Make self-hosted SSO Community-tier 2026-05-03 12:48:01 +01:00
RBAC.md Retire dashboard landing surface 2026-04-29 16:25:09 +01:00
README.md docs: clarify agent privilege guidance 2026-05-04 18:04:04 +01:00
RECOVERY.md
RELAY.md Clarify Relay mobile handoff paid copy 2026-04-30 13:18:04 +01:00
RELEASE_NOTES.md Prepare v6.0.0-rc.4 release packet 2026-05-05 15:32:32 +01:00
REPO_BOUNDARY.md
REVERSE_PROXY.md
SCREENSHOTS.md Align Relay copy with standalone tier 2026-04-30 11:01:22 +01:00
SECURITY.md
STORAGE_ARCHITECTURE.md
TEMPERATURE_MONITORING.md
TROUBLESHOOTING.md Align self-hosted plan docs and tests 2026-04-29 09:21:10 +01:00
TRUENAS.md
UNIFIED_AGENT.md Harden Proxmox setup token ACLs 2026-05-05 14:19:50 +01:00
UNIFIED_RESOURCES.md
UPGRADE_v5.md Harden Proxmox setup token ACLs 2026-05-05 14:19:50 +01:00
UPGRADE_v6.md Clarify paid Docker compose image override 2026-05-06 23:11:32 +01:00
VM_DISK_MONITORING.md
WEBHOOKS.md Label legacy Pro Plus in customer docs 2026-04-26 22:01:24 +01:00
ZFS_MONITORING.md

📚 Pulse Documentation

Welcome to the Pulse documentation portal. Here you'll find everything you need to install, configure, and master Pulse.


v6 Execution Canonical Source

For Pulse v6 build/release execution work, do not start from this broad docs index. Use:

  1. docs/release-control/v6/internal/SOURCE_OF_TRUTH.md for stable human governance and locked decisions
  2. docs/release-control/v6/internal/status.json for live lane state, lane-to-subsystem ownership, structured evidence references, typed lane/subsystem decision records, and canonical ordered lists
  3. docs/release-control/v6/status.schema.json for the machine-readable status contract
  4. docs/release-control/v6/internal/subsystems/registry.json and docs/release-control/v6/internal/subsystems/registry.schema.json for subsystem ownership, explicit shared-ownership exceptions, and proof-routing rules
  5. python3 scripts/release_control/status_audit.py --check if you need a machine-derived evidence health audit
  6. python3 scripts/release_control/registry_audit.py --check if you need a machine-derived subsystem registry audit
  7. python3 scripts/release_control/contract_audit.py --check if you need a machine-derived subsystem contract audit, including explicit cross-subsystem dependency checks and exact registry-derived shared-boundary wording Local pre-commit runs the v6 machine audits against staged control-file content so partial staging cannot hide governance drift. Local pre-commit also blocks partial staging for hook-sensitive governance files under docs/release-control/v6/, scripts/release_control/, internal/repoctl/, .husky/pre-commit, and .github/workflows/canonical-governance.yml, because those checks still execute or structurally read the working-tree versions locally.
  8. python3 scripts/release_control/subsystem_lookup.py <path> [<path> ...] --pretty --lean if you need subsystem ownership, proof routing, exact contract-focus lines, and compact lane context for a change

For governed runtime changes, a staged subsystem contract only counts if its diff updates a substantive contract section such as Purpose, Canonical Files, Shared Boundaries, Extension Points, Forbidden Paths, Completion Obligations, or Current State, rather than metadata alone.

All other documents are supporting references unless explicitly required for evidence.


🚀 Getting Started

  • Installation Guide Step-by-step guides for Docker, Kubernetes, and bare metal.
  • Configuration
    Learn how to configure authentication, notifications (Email, Discord, etc.), and system settings.
  • Deployment Models
    Where config lives, how updates work, and what differs per deployment.
  • Migration Guide
    Moving to a new server? Here's how to export and import your data safely.
  • Upgrade to v6
    Practical upgrade guidance and post-upgrade checks for Pulse v6.
  • FAQ Common questions and quick answers.

🛠️ Deployment & Operations

🔐 Security

  • Security Policy The core security model (Encryption, Auth, API Scopes).
  • Privacy What leaves your network (and what doesnt).
  • OIDC / SSO OIDC Single Sign-On configuration (Authentik, Keycloak, Azure AD, etc.).
  • Proxy Auth Authentik/Authelia/Cloudflare proxy authentication configuration.
  • Agent Security Agent privilege model, Proxmox API-only choices, and self-update verification.

📖 Advanced Topics (Relay / Pro / legacy Pro+ / Cloud)

  • AI Autonomy & Safety Configure patrol autonomy levels, assistant control levels, investigation tuning, and safety guardrails.
  • Role-Based Access Control (RBAC) Define custom roles, assign permissions, and integrate with OIDC group mapping.
  • Audit Logging Tamper-evident event logging for compliance, with query, export, and signature verification.

New in 6.0

💳 Plans (Community / Relay / Pro / Cloud)

Pulse is available in three self-hosted tiers plus hosted Cloud:

  • Community: Free self-hosted monitoring with core monitoring included and 7-day history.

  • Relay: Adds secure remote access to the Pulse web UI, Pulse Mobile pairing for handoff, push notifications, and 14-day history.

  • Pro: Adds alert-triggered root-cause analysis, safe remediation workflows, operations tooling, governance features, and 90-day history.

  • Cloud: Hosted Pulse with Pro-level capabilities; hosted pricing is unchanged by the self-hosted model lock.

  • Learn more at pulserelay.pro

  • Plans and entitlements (includes the Community/Relay/Pro/Cloud matrix)

  • AI deep dive

  • Multi-Tenant Organizations (Enterprise) — Isolate infrastructure by organization for MSPs and multi-datacenter deployments.

📡 Monitoring & Agents

💻 Development

📁 Previous Versions


Found a bug or have a suggestion?

GitHub Issues