Advanced Network Configuration
Using Arraylake from corporate networks often requires additional configuration for proxies, certificates, and network access.
Proxy Configuration
Automatic Detection (Recommended)
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:
service.proxy
(Arraylake config) - highest priorityHTTPS_PROXY
/https_proxy
HTTP_PROXY
/http_proxy
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.