Connected mode

Connected mode (control plane)

In connected mode the CLI talks to the Cumulus control plane instead of AWS directly. The control plane manages builds, streaming logs, GitHub webhooks, and team access. It is operated by Cumulus; your servers, functions, and data still run in your own AWS account.

  • Log in. This opens your browser for GitHub sign-in (or pass --token for CI):
    cumulus login
  • Link this repo (reads cumulus.toml and registers the project and apps):
    cumulus link
  • Trigger a deploy via the control plane:
    # Deploy a specific git sha
    cumulus app deploy my-saas/api --sha "$(git rev-parse HEAD)"
    
    # Watch the deployment log stream
    cumulus app status my-saas/api
    cumulus app logs my-saas/api
  • Promote staging to production (re-deploys the last successful sha):
    cumulus app promote my-saas/api --from staging --to production

GitHub webhooks

Connect your repo so every push to main triggers an automatic deploy.

  • Set the webhook secret on the control plane:
    aws ssm put-parameter --type SecureString --key-id alias/cumulus \
      --name /cumulus/control/CUMULUS_GITHUB_WEBHOOK_SECRET \
      --value "$(openssl rand -hex 32)"
  • Add the webhook in GitHub:
    • Payload URL: https://cumulus.example.com/webhooks/github
    • Content type: application/json
    • Secret: the value you set above
    • Events: Just the push event
  • Configure the project's branch and deploy target when creating it:
    cumulus project create --name my-saas --region us-east-1 \
      --repo github.com/yourorg/my-saas \
      --branch main \
      --deploy-env staging   # push → staging; promote to reach production
Use --deploy-env staging so pushes land on staging and you promote to production manually with cumulus app promote: a lightweight staging gate before production.

Teams

# Create an organization
cumulus org create --name "My Company" --slug my-company

# Invite a team member (they receive a link to accept)
cumulus org invite-member <org-id> --email teammate@example.com --role member

# Accept your invitation
cumulus org accept <org-id>

# List members
cumulus org members <org-id>

Roles

Owner
Full access including billing, AWS connections, and org deletion.
Admin
Manage projects, apps, servers, and members. No billing.
Member
Deploy and manage apps.
Viewer
Read-only access to logs and status only.