Pulse/deploy/provider-msp/.env.example
2026-06-02 14:03:19 +01:00

60 lines
2.1 KiB
Text

# Domain
DOMAIN=msp.example.com
ACME_EMAIL=admin@example.com
# Cloudflare DNS-01 wildcard TLS
CF_DNS_API_TOKEN=
# Image pins; use immutable digest refs in production
TRAEFIK_IMAGE=traefik@sha256:<pin>
CONTROL_PLANE_IMAGE=ghcr.io/rcourtman/pulse-control-plane@sha256:<pin>
CP_PULSE_IMAGE=ghcr.io/rcourtman/pulse@sha256:<pin>
# Control plane
CP_ENV=production
CP_ADMIN_KEY=
CP_PROVIDER_MSP_LICENSE_FILE=./provider-msp-license.jwt
CP_TRIAL_ACTIVATION_PRIVATE_KEY=
CP_TENANT_MEMORY_LIMIT=536870912
CP_ALLOW_DOCKERLESS_PROVISIONING=false
CP_STORAGE_GUARDRAILS_ENABLED=true
CP_STORAGE_MIN_ROOT_AVAILABLE=10GiB
CP_STORAGE_MIN_DATA_AVAILABLE=5GiB
CP_STORAGE_MIN_DOCKER_AVAILABLE=10GiB
CP_STORAGE_MAX_DOCKER_BUILD_CACHE=2GiB
CP_PROOF_TENANT_MAX_AGE=24h
CP_PROOF_TENANT_MATCHERS=proof,canary,rehearsal,msp_prod,ownerseed,owner_seed
# Email is optional for bootstrap because the CLI can print the first portal link.
# Set CP_REQUIRE_EMAIL_PROVIDER=true once transactional email is configured.
CP_REQUIRE_EMAIL_PROVIDER=false
RESEND_API_KEY=
PULSE_EMAIL_FROM=noreply@example.com
PULSE_EMAIL_REPLY_TO=support@example.com
# First owner bootstrap:
# docker compose run --rm control-plane provider-msp bootstrap \
# --account-name "Example MSP" \
# --owner-email owner@example.com
#
# Install readiness check:
# docker compose run --rm control-plane provider-msp preflight
#
# Non-mutating operational status:
# docker compose run --rm control-plane provider-msp status
#
# Recovery backup before upgrades or recovery drills:
# docker compose run --rm control-plane provider-msp backup create
#
# Verify a recovery archive before relying on it:
# docker compose run --rm control-plane provider-msp backup verify \
# /data/backups/provider-msp/provider-msp-backup-YYYYMMDDTHHMMSSZ.tar.gz
#
# End-to-end provider proof. This creates two proof client workspaces, generates
# client-bound agent install tokens, verifies tenant-local agent report ingest,
# and exercises the portal handoff path. Keep --cleanup once you have captured
# the output you need.
# docker compose run --rm control-plane provider-msp proof \
# --account-name "Example MSP" \
# --owner-email owner@example.com \
# --cleanup