Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getmuster.io/llms.txt

Use this file to discover all available pages before exploring further.

This guide is for Elitery engineers onboarding a new Professional or Enterprise customer. It assumes the customer has already deployed the muster backend and dashboard on their own AWS infrastructure.

Prerequisites

The customer’s environment must have:
  • muster backend running and accessible (e.g. https://api.acmebank.com/health returns 200)
  • muster dashboard deployed and accessible
  • PostgreSQL database provisioned and connected
  • Direct database access for Elitery (for the onboarding script)

Step 1 — Set required env vars on the backend

Confirm these are set on the customer’s backend service:
VariableDescription
DATABASE_URLpostgresql+asyncpg://user:pass@host:5432/muster
JWT_SECRET_KEYStrong 256-bit random string
CUSTOMER_NAMECustomer company name (shown in dashboard)
RESEND_API_KEYFrom resend.com — for alert emails
EMAIL_FROMe.g. muster@acmebank.com
ANTHROPIC_API_KEYFor AI insights and weekly report narratives
INTERNAL_ADMIN_SECRETStrong secret for muster-central proxy
Scanner credentials (configure based on what the customer wants scanned):
VariableFor
AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYCost Explorer + DNS scanning
N8N_API_KEY + N8N_BASE_URLn8n workflow scanning
OPENAI_SCANNER_KEYSOpenAI Assistants scanning
GITHUB_TOKENGit repo scanning

Step 2 — Run the onboarding script

From a machine with database access to the customer’s instance:
# Clone muster repo if not already cloned
git clone https://github.com/prawirk1/muster.git && cd muster

# Run interactively
DATABASE_URL="postgresql+asyncpg://user:pass@customer-db:5432/muster" \
JWT_SECRET_KEY="their-jwt-secret" \
PYTHONPATH=backend \
    python scripts/onboard_customer.py

# Or non-interactive
DATABASE_URL="..." JWT_SECRET_KEY="..." PYTHONPATH=backend \
    python scripts/onboard_customer.py \
        --company "Acme Bank" \
        --slug "acmebank" \
        --email "admin@acmebank.com" \
        --plan professional \
        --currency USD \
        --agent-limit 100
The script will:
  1. Create or update instance_config (company name, plan, agent limit)
  2. Create the admin user with a temporary password (must change on first login)
  3. Set up model pricing
  4. Print the tenant ID and next steps

Step 3 — Send the customer their credentials

Send the customer:
  • Their dashboard URL
  • Admin email address
  • Temporary password
  • Instruction to change password on first login
Suggested email template:
Subject: Your muster instance is ready

Hi [Name],

Your muster AI operations dashboard is ready.

Dashboard: https://[their-dashboard-url]
Email: [admin-email]
Temporary password: [password]

You'll be prompted to change your password on first login.

Next: add alert contacts in Settings so Elitery can send you
weekly reports and anomaly alerts.

— Elitery

Step 4 — Configure alert contacts

After the customer logs in, ask them to go to Settings → Alert contacts and add up to 3 email addresses. These receive:
  • Weekly health reports (sent by Elitery every Friday)
  • Anomaly alerts (within 2 business hours of detection)

Step 5 — Run baseline discovery scan

In the muster dashboard → Discovery, trigger a manual scan to establish a baseline of what’s in their environment. You can also trigger scans via API:
curl -X POST https://[backend-url]/api/v1/discovery/scan \
  -H "Authorization: Bearer [admin-token]" \
  -H "Content-Type: application/json" \
  -d '{"scanner": "all"}'

Step 6 — Configure agent integration

Share the integration guide with the customer’s developers. Recommend OTel for any coded agents:
# Customer's agent env vars (one-time setup)
OTEL_EXPORTER_OTLP_ENDPOINT=https://backend.[customer-slug].getmuster.io/api/v1/otel
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer <service-account-jwt>
OTEL_EXPORTER_OTLP_PROTOCOL=http/json
For no-code tools (n8n, Flowise, Dify), Elitery deploys platform connectors — no action needed from the customer. For agents with specific business-rule checks, share the manual signals guide →. Check OTel connection status anytime:
curl -H "Authorization: Bearer <admin-token>"   https://backend.[customer-slug].getmuster.io/api/v1/otel/status

Step 7 — Book kickoff call

Book a 30-minute call with the customer to:
  • Walk through the discovery findings
  • Confirm agents in the Discovery queue
  • Confirm OTel integration is sending traces (check /api/v1/otel/status)
  • Set expectations on the weekly report cadence

Checklist

  • Env vars set on backend
  • Onboarding script run successfully
  • Customer has logged in and changed password
  • Alert contacts configured in Settings
  • Baseline discovery scan complete
  • OTel env vars shared with customer dev team
  • OTel status endpoint confirms traces arriving (/api/v1/otel/status)
  • Platform connectors deployed for any no-code tools (n8n, Flowise, etc.)
  • Kickoff call booked
  • Customer added to muster-central admin portal (Trial Users tab)