Skip to main content

Editions

Cargoman offers four editions with progressive feature sets and usage limits.

Edition Overview

CommunityProCloudEnterprise
HostingSelf-hostedSelf-hostedManagedDedicated
DatabaseSQLitePostgreSQLPostgreSQLPostgreSQL
Storage BackendFilesystemFilesystem (configurable)S3/R2S3/R2
Tenant ModeSingleSingleMulti-tenantSingle (dedicated)
License RequiredNoYesNoNo

Feature Gates

Features are progressively unlocked across editions:

Core (All Editions)

  • Unlimited packages
  • REST API
  • Composer Protocol v2
  • Basic token authentication
  • GitHub, GitLab, Bitbucket webhooks

Pro and Above

  • GraphQL API
  • Vulnerability scanning (OSV, GitHub Advisory, PHP Advisory)
  • Download analytics
  • Custom domain
  • Role-based access control (RBAC)
  • Audit logs
  • Packagist proxy/mirror
  • SSO/LDAP
  • PostgreSQL support

Cloud and Above

  • OAuth login (GitHub, GitLab)
  • Global CDN
  • Usage metering
  • Multi-tenant support (Cloud only)

Enterprise Only

  • SAML/Active Directory
  • Exportable audit logs
  • Dedicated support channel
  • Data residency options

Usage Limits

MetricCommunityProCloudEnterprise
Rate Limit30/min120/min300/minUnlimited
Storage2 GB50 GB100 GBUnlimited
Bandwidth/mo10 GB500 GB~1 TB (fair use)Unlimited
Team Seats3UnlimitedUnlimitedUnlimited
Webhooks/day10100UnlimitedUnlimited

Configuration

Set the edition via environment variable:

# Community (default — no configuration needed)
EDITION=community

# Pro (requires license key)
EDITION=pro
LICENSE_KEY=your-license-key

# Enterprise
EDITION=enterprise

The Cloud edition is used internally for the managed SaaS platform and is not available in public releases.

License Keys

Pro and Enterprise editions require a license key for activation:

  • Online validation: License verified against https://api.cargoman.io/v1/license/verify
  • Grace period: 7 days of offline operation if verification fails
  • Offline mode: For air-gapped deployments, set LICENSE_OFFLINE=true with a custom public key
  • Heartbeat: License re-verified every 24 hours by default
# Standard setup
EDITION=pro
LICENSE_KEY=your-license-key

# Air-gapped deployment
EDITION=pro
LICENSE_KEY=your-license-key
LICENSE_OFFLINE=true
LICENSE_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIIB...\n-----END PUBLIC KEY-----"

Feature Checking

The registry enforces feature gates at the API level. Attempting to use a feature not available in your edition returns a 403 Feature Not Available error:

{
"error": "FEATURE_NOT_AVAILABLE",
"message": "GraphQL API is not available in Community edition",
"edition": "community"
}

Upgrade your edition to unlock the feature.

Upgrading

To upgrade from Community to Pro:

  1. Obtain a license key from cargoman.io
  2. Set EDITION=pro and LICENSE_KEY=your-key in your environment
  3. Restart the registry
  4. If upgrading database from SQLite to PostgreSQL, migrate your data first

Next Steps