Skip to main content

Documentation Index

Fetch the complete documentation index at: https://enterprise-docs.crewai.com/llms.txt

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

Private PyPI Registry Mirror

For air-gapped environments or organizations that restrict outbound network access, you can mirror the CrewAI Enterprise Python package index (pypi.crewaifactory.com) to a private PyPI-compatible registry. This ensures crew builds can install enterprise Python packages without direct internet access.
The private PyPI mirror must stay synchronized with the CrewAI Enterprise index. New platform releases may introduce updated or additional packages. Plan for regular sync operations as part of your upgrade process.

Prerequisites

  • A PyPI-compatible registry server (e.g., JFrog Artifactory, Sonatype Nexus, devpi, or pypiserver)
  • Access credentials for the CrewAI Enterprise Python registry (same credentials used for Docker/Helm registry authentication)
  • Network access from your mirror server to pypi.crewaifactory.com (one-time or scheduled sync)

Step 1: Obtain Your CrewAI Registry Credentials

Your CrewAI Enterprise PyPI credentials are derived from your Replicated license:
  • Username: Your Replicated customer ID (found at https://enterprise.crewai.com/crewai/license)
  • Password: A service account token (create one at https://enterprise.crewai.com/crewai/team-settings/service-accounts)
Verify access to the upstream registry:
export CREWAI_CUSTOMER_ID="your-customer-id"
export CREWAI_REGISTRY_TOKEN="your-registry-token"

pip install --dry-run \
  --index-url "https://${CREWAI_CUSTOMER_ID}:${CREWAI_REGISTRY_TOKEN}@pypi.crewaifactory.com/simple/" \
  crewai

Step 2: Mirror Packages to Your Private Registry

Configure your PyPI registry to mirror or proxy packages from the CrewAI Enterprise index:
  • Upstream URL: https://pypi.crewaifactory.com/simple/
  • Authentication: Your CrewAI customer ID and registry token (from Step 1)
Most enterprise registries (Artifactory, Nexus, etc.) support configuring an authenticated remote/proxy PyPI repository. Refer to your registry’s documentation for setup instructions. For fully air-gapped environments, you can use pip download to fetch packages on a machine with internet access, transfer them to your isolated network, and host them with any PEP 503-compatible server.
Include all CrewAI packages your crews depend on. The exact list may vary based on your crew configurations.

Step 3: Configure the Helm Chart

Point the CrewAI Platform at your private mirror by setting secrets.UV_DEFAULT_INDEX to your mirror’s URL:
secrets:
  UV_DEFAULT_INDEX: "https://username:password@pypi.your-company.com/repository/crewai-enterprise/simple/"
The URL must:
  • Use HTTPS protocol
  • Include authentication credentials if your mirror requires them
  • End with /simple/ for PEP 503 compatibility
Setting secrets.UV_DEFAULT_INDEX manually overrides the auto-generated value from Replicated license credentials. This is the expected behavior when using a private mirror.

Step 4: Verify the Configuration

After deploying with the updated values, verify that the secret was created and crew builds can resolve packages:
# Check the secret was created correctly
kubectl get secret crewai-platform-secrets -o jsonpath='{.data.UV_DEFAULT_INDEX}' | base64 -d

# Run the Helm test suite (includes UV_DEFAULT_INDEX format validation)
helm test crewai-platform
Then trigger a test crew build to confirm packages install successfully from your private mirror.

Keeping the Mirror in Sync

CrewAI platform updates may require new or updated Python packages. Include mirror synchronization in your upgrade process:
  1. Before upgrading the Helm chart, sync your mirror with the upstream CrewAI Enterprise index
  2. After upgrading, verify crew builds succeed with the new package versions
For proxy-based registries, synchronization happens automatically when packages are requested. For manual mirrors, you must re-run the download and transfer process before each upgrade.

Troubleshooting

Crew builds fail with package resolution errors

  • Verify the UV_DEFAULT_INDEX URL is reachable from within the cluster
  • Check that your mirror contains the required packages and versions
  • Ensure the URL ends with /simple/

Authentication failures

  • Confirm credentials in the UV_DEFAULT_INDEX URL are correct
  • For registries behind a reverse proxy, ensure the proxy passes authentication headers

Stale packages after platform upgrade

  • Re-sync your mirror with the upstream CrewAI Enterprise index
  • For proxy registries, clear the cache if the registry is serving outdated versions