Storage Providers

EnvFly CLI supports multiple storage providers for your environment variables, giving you flexibility to choose the solution that best fits your infrastructure and security requirements.

Overview

Storage providers are the backend systems where your encrypted environment variables are stored. Each provider offers different benefits in terms of:
  • Security: Encryption at rest and in transit
  • Performance: Access speed and availability
  • Cost: Storage and bandwidth costs
  • Integration: Native integration with your existing infrastructure
  • Compliance: Meeting regulatory requirements

Available Providers

Provider Comparison

Security Model

Client-Side Encryption

All storage providers use client-side encryption by default:

Provider Selection

When to Use Git

Advantages:
  • ✅ Free and unlimited
  • ✅ Full version control
  • ✅ Works offline
  • ✅ Familiar Git workflow
  • ✅ Easy backup and migration
Considerations:
  • ⚠️ Repository size limits
  • ⚠️ No built-in team features
  • ⚠️ Manual access management

When to Use AWS S3

Advantages:
  • ✅ Highly available and durable
  • ✅ Advanced security features
  • ✅ IAM integration
  • ✅ Cost-effective at scale
  • ✅ Global distribution
Considerations:
  • ⚠️ Requires AWS account
  • ⚠️ Learning curve for IAM
  • ⚠️ Potential costs at scale

When to Use Azure Blob

Advantages:
  • ✅ Enterprise-grade security
  • ✅ Compliance certifications
  • ✅ Active Directory integration
  • ✅ Hybrid cloud support
  • ✅ Advanced monitoring
Considerations:
  • ⚠️ Requires Azure subscription
  • ⚠️ Microsoft ecosystem lock-in
  • ⚠️ Learning curve for Azure services

When to Use Google Cloud

Advantages:
  • ✅ Global distribution
  • ✅ Advanced analytics
  • ✅ Strong consistency
  • ✅ Cost optimization features
  • ✅ Machine learning integration
Considerations:
  • ⚠️ Requires Google Cloud account
  • ⚠️ Google ecosystem integration
  • ⚠️ Potential vendor lock-in

When to Use EnvFly Cloud

Advantages:
  • ✅ Built-in team collaboration
  • ✅ Audit logs and compliance
  • ✅ Webhooks and integrations
  • ✅ Managed service
  • ✅ Advanced features
Considerations:
  • ⚠️ Higher cost
  • ⚠️ Vendor dependency
  • ⚠️ Internet connectivity required

Configuration

Provider Setup

Each provider requires specific configuration in your .envfly file:
{
  "project": {
    "name": "my-project",
    "storage": {
      "provider": "git",
      "config": {
        "repository": "git@github.com:company/env-vars.git",
        "branch": "main"
      }
    }
  }
}

Provider-Specific Configuration

Migration Between Providers

Export from Current Provider

# Export all environments to JSON
envfly export --format json > environments.json

# Export specific environment
envfly export development --format json > dev-env.json

Import to New Provider

# Initialize with new provider
envfly init --provider aws

# Import environments
envfly import --file environments.json

Migration Script

#!/bin/bash
# migrate-provider.sh

echo "Migrating from Git to AWS S3..."

# Export current data
envfly export --format json > migration-backup.json

# Initialize new provider
envfly init --provider aws --bucket my-new-env-vars

# Import data
envfly import --file migration-backup.json

echo "Migration complete!"

Best Practices

Troubleshooting