Skip to main content

Advanced Network Configuration

Using Arraylake from corporate networks often requires additional configuration for proxies, certificates, and network access.

Proxy Configuration

Arraylake automatically detects proxy settings from configuration and environment variables:

export HTTPS_PROXY=http://proxy.corp.com:8080
export HTTP_PROXY=http://proxy.corp.com:8080
# Or configure via Arraylake config
import arraylake
from arraylake.config import config

config.set({"service.proxy": "http://proxy.corp.com:8080"})
client = arraylake.Client()
# Or using the CLI
arraylake config set service.proxy http://proxy.corp.com:8080

No code changes required. The client checks proxy sources in this order:

  1. service.proxy (Arraylake config) - highest priority
  2. HTTPS_PROXY / https_proxy
  3. HTTP_PROXY / http_proxy
  4. ALL_PROXY / all_proxy

SSL Certificate Configuration

Corporate environments often use custom Certificate Authority (CA) certificates.

Custom CA Certificates

# Environment variable (recommended)
export SSL_CERT_FILE=/path/to/corporate-ca-bundle.pem
# Or configure via Arraylake config
import arraylake
from arraylake.config import config

config.set({"service.ssl.cafile": "/path/to/corporate-ca-bundle.pem"})
client = arraylake.Client()

This setting may also be set in the arraylake configuration file.

arraylake config set service.ssl.cafile /path/to/corporate-ca-bundle.pem

Disable SSL Verification

⚠️ For testing only - not recommended for production:

# Configure via Arraylake config
import arraylake
from arraylake.config import config

config.set({"service.ssl.verify": False})
client = arraylake.Client()

This setting may also be set in the arraylake configuration file.

arraylake config set service.ssl.verify false

Network Access Requirements

Required Domains

Add these domains to your firewall allow-lists:

# Core services
api.earthmover.io
app.earthmover.io
auth.earthmover.io
compute.earthmover.io

# Authentication
*.auth0.com

# Storage (as needed)
*.amazonaws.com
*.storage.googleapis.com

# Package installation
pypi.org
*.pypi.org
files.pythonhosted.org

Ports

  • 443 (HTTPS): Primary API communication
  • 80 (HTTP): Redirects and package downloads

Complete Setup Example

Environment-based Configuration

# Environment setup for proxy and SSL
export HTTPS_PROXY=http://username:password@proxy.corp.com:8080
export SSL_CERT_FILE=/etc/ssl/certs/corporate-ca-bundle.pem
import arraylake

# Client will automatically detect environment settings
client = arraylake.Client()
client.login()

Config-based Configuration

import arraylake
from arraylake.config import config

# Configure proxy and SSL via Arraylake config
config.set({
"service.proxy": "http://username:password@proxy.corp.com:8080",
"service.ssl.cafile": "/etc/ssl/certs/corporate-ca-bundle.pem",
"service.ssl.verify": True
})

client = arraylake.Client()
client.login()

CLI Configuration

# Configure via arraylake CLI
arraylake config set service.proxy http://username:password@proxy.corp.com:8080
arraylake config set service.ssl.cafile /etc/ssl/certs/corporate-ca-bundle.pem
arraylake config set service.ssl.verify true

For additional support, contact your network administrator or Earthmover support with your specific error messages and network configuration details.