Envoy Documentation
Learn how to securely manage, version, and synchronize environment variables and configuration files across your team.
Getting Started
What is Envoy
Envoy is a secure version control system for environment variables and configuration files. Inspired by Git, Envoy provides a familiar workflow for developers while adding enterprise-grade security features like AES-256 encryption, access control, and audit logging.
Key Benefits
- Git-like workflow that developers already know
- End-to-end AES-256 encryption
- Team collaboration with granular access control
- Complete audit trail of all changes
- Web UI for management and monitoring
Installation
Install the Envoy CLI globally using npm:
Or install locally in your project:
Verify the installation:
System Requirements
- Node.js 16 or higher
- npm 7 or higher
- Git (for version control features)
Quick Start
Get started with Envoy in 3 simple steps:
1. Initialize your project
2. Follow and add your .env file
3. Commit and push
CLI Commands Reference
Envoy provides a comprehensive set of CLI commands for managing your configuration files. All commands follow a Git-like interface for familiarity.
envoy init
Initialize a new Envoy project in the current directory.
| Flag | Description | Default |
|---|---|---|
--remote | Server URL for syncing | https://api.envoy.io |
--project | Project name | Directory name |
--force | Overwrite existing config | false |
envoy follow
Start tracking a file or directory for version control.
Important
envoy add
Stage files for the next commit (similar to git add).
| Option | Description |
|---|---|
--all, -A | Stage all tracked changes |
--interactive, -i | Interactively choose hunks |
--dry-run | Show what would be staged |
envoy commit
Save staged changes with a descriptive message.
| Option | Description |
|---|---|
-m, --message | Commit message (required) |
--sign, -S | Sign commit with GPG |
--amend | Amend previous commit |
--no-verify | Skip pre-commit hooks |
envoy push
Upload commits to the remote server.
Force Push
--force overwrites remote history. Use with caution, especially in team environments.envoy pull
Download the latest changes from the remote server.
envoy status
Check the current state of your working directory.
envoy log
View the commit history.
| Option | Description |
|---|---|
--oneline | Show one commit per line |
--graph | Show ASCII graph of branches |
-n, --max-count | Limit number of commits |
--since | Show commits after date |
--author | Filter by author |
envoy checkout
Restore files to a previous version.
Data Loss Risk
envoy stashto save uncommitted changes before checking out.envoy doctor
Check system health and configuration.
envoy uninstall
Remove the Envoy CLI and clean up configuration.
Destructive Operation
Workflow Examples
Basic Workflow
The standard workflow for managing configuration files with Envoy:
Track the file
Start tracking your configuration file
Stage changes
Add modified files to the staging area
Commit changes
Save changes with a descriptive message
Push to server
Upload encrypted configuration to remote
Team Collaboration
Workflow for working with a team on shared configuration:
Best Practice
Version Rollback
Restore configuration to a previous state:
Web UI Guide
Dashboard Overview
The Envoy Web UI provides a centralized interface for managing your projects, users, and configuration:
Overview
Project stats and recent activity
Projects
Manage all your configuration projects
Team
User management and permissions
Audit
Complete activity logs
Project Management
Create and manage configuration projects through the web interface:
Creating a Project
- Navigate to Projects in the sidebar
- Click Create Project
- Enter project name and description
- Select encryption settings
- Click Create
Project Settings
| Setting | Description |
|---|---|
| Project Name | Unique identifier for the project |
| Description | Optional details about the project |
| Encryption | AES-256 encryption toggle |
| Auto-Backup | Automatic daily backups |
| Access Level | Private, Team, or Public |
File Browser
The file browser allows you to view and manage configuration files:
Encryption Note
User Management (Superadmin)
Superadmins have full control over team members and permissions:
User Roles
| Role | Permissions |
|---|---|
| Superadmin | Full access: users, projects, audit logs, system settings |
| Admin | Project management, user management (except superadmin) |
| Member | Push/pull, view projects, limited settings access |
| Viewer | Read-only access to assigned projects |
Managing Users
Audit Logs
Comprehensive logging of all activities in your Envoy instance:
Logged Events
- File push/pull operations
- User login/logout
- Permission changes
- Project creation/deletion
- Failed authentication attempts
- Configuration changes
Retention
Best Practices
File Size Limits
Envoy has the following size limits to ensure optimal performance:
| Limit | Value | Notes |
|---|---|---|
| Single file | 1 GB | Maximum size per configuration file |
| Total project | 10 GB | Combined size of all tracked files |
| Commit message | 1,000 chars | Keep messages concise |
| History depth | 10,000 commits | Per branch |
Large Files
Security Recommendations
Follow these security best practices when using Envoy:
Enable GPG Signing
Sign all commits to verify authenticity
Use Strong Passphrases
Protect your encryption keys with strong passphrases
Principle of Least Privilege
Grant users only the permissions they need
Regular Audits
Review audit logs weekly for suspicious activity
Team Workflows
Recommended workflows for teams:
Branch Strategy
Commit Message Convention
Troubleshooting
Common Issues
Authentication Failed
Error: Invalid or expired token
Push Rejected
Error: Remote has newer commits
File Too Large
Error: File exceeds 1GB limit
Encryption Errors
Error: Failed to decrypt file
Debug Mode
Enable debug mode for detailed logging:
Log Location
~/.envoy/debug.log. Include this file when reporting issues.Support
Get help with Envoy through these channels:
Community
Join our Discord server
GitHub
Report issues & contribute
Documentation
Read the full docs
Status Page
Check system status
Enterprise Support
Need more help? Contact support