vers config
Manage and understand Vers configuration files and settings.Synopsis
Description
Vers uses TOML (Tom’s Obvious, Minimal Language) configuration files to define VM specifications, image settings, and build parameters. The primary configuration file isvers.toml, which controls how clusters and VMs are created and configured.
While there’s no standalone vers config command, configuration management is integrated throughout the Vers CLI through file parsing, flag overrides, and default value systems.
Configuration File Structure
Complete vers.toml Example
Minimal Configuration
Configuration Sections
[machine] Section
Controls VM hardware specifications and resource allocation:Memory Configuration
mem_size_mib- RAM allocation per VM in mebibytes- Range - Typically 512-16384 MiB, depending on system capacity
- Impact - Affects VM performance and system resource usage
CPU Configuration
vcpu_count- Number of virtual CPU cores per VM- Range - 1-16 cores typical, limited by host system
- Impact - Affects parallel processing capability
Storage Configuration
fs_size_cluster_mib- Total storage allocated to clusterfs_size_vm_mib- Storage allocated to individual VMs- Relationship - Cluster size must accommodate all VMs plus overhead
[rootfs] Section
Defines the base filesystem image for VMs:Image Selection
name- Identifier for the rootfs image- “default” - Uses system default image
- Custom names - References uploaded or built images
[kernel] Section
Specifies the kernel image for VM boot:Kernel Selection
name- Kernel image filename- Default - “default.bin” for standard kernel
- Custom kernels - For specialized requirements
[builder] Section
Controls how custom rootfs images are built:Build System Configuration
name- Build system type- “docker” - Use Docker-based builds
- “none” - Skip building, use existing images
Dockerfile Path
dockerfile- Path to Dockerfile for custom builds- Relative paths - Relative to project directory
- Custom paths - Support for complex project structures
Default Values
System Defaults
When values are omitted, Vers uses these defaults:Loading Behavior
Configuration Override Hierarchy
Precedence Order (highest to lowest)
- Command-line flags - Direct flag values
- Environment variables - (if supported)
- Configuration file -
vers.tomlvalues - System defaults - Built-in fallbacks
Flag Override Examples
Configuration Validation
Validation Rules
- Positive integers - Memory, CPU, and storage values must be > 0
- Logical relationships - VM size must not exceed cluster size
- Resource constraints - Values must be within system capabilities
- Image availability - Referenced images must exist
Common Validation Errors
Environment-Specific Configurations
Development Configuration
Production Configuration
Testing Configuration
Configuration Management Patterns
Configuration Templates
Configuration Validation Scripts
Multi-Environment Configuration Management
Configuration Best Practices
Resource Planning
Development vs Production
Image Management
Troubleshooting Configuration Issues
Common Problems
Configuration not loading:Configuration Debugging
Advanced Configuration Patterns
Conditional Configuration
Configuration Inheritance
Dynamic Configuration
Configuration Security
Sensitive Information Handling
Environment-Specific Security
Integration with Development Workflows
Git Integration
CI/CD Integration
Team Collaboration
Configuration Documentation
Inline Documentation
Configuration README
See Also
- vers init - Creates initial vers.toml configuration
- vers up - Uses configuration for complete environment setup
- vers run - Uses configuration for runtime environment only
- TOML Specification - Configuration file format reference