From Manual VM Setup to Declarative Specifications
Manual VM setup is slow, error-prone, and impossible to share with your team. Catlet specifications let you define VMs in simple YAML files that inherit from gene templates and deploy identical environments in minutes, not hours.
The Manual VM Setup Problem
Every developer knows this pain. Hours wasted clicking through wizards, inconsistent environments, and no way to share your setup with the team.
Manual Configuration Issues
- Click through endless VM creation wizards
- Remember CPU, memory, storage settings for each environment
- Manually install and configure software every time
- Hours lost recreating the same environments
Inconsistency Problems
- Different team members create different environments
- Configuration drift between dev, test, and staging
- No way to track or version control VM configurations
- "Works on my machine" becomes your team's motto
The Real Cost
Meet Catlet Specifications
Simple YAML files that define everything about your VM. Write once, deploy everywhere, share with your team. No more clicking, no more forgetting.
Declarative VM Definition
Everything in One File
CPU, memory, storage, networking, and software configuration all defined in readable YAML.
Inherit from Gene Templates
Start with proven parent genes, then add only what makes your VM unique.
Deploy in Minutes
From spec file to running VM in under 5 minutes. Consistent results every time.
version: "1.0" name: api-server parent: dbosoft/ubuntu-22.04/latest project: web-app environment: staging cpu: 4 memory: 8192 drives: - name: sda size: 50 fodder: - name: setup type: cloud-config content: packages: - docker.io - nginx runcmd: - systemctl enable nginx
The Catlet Spec Advantage
Powered by Gene Inheritance
This is where catlet specs become powerful. Instead of defining everything from scratch, your specs inherit from proven gene templates and add only what's unique.
How Gene Inheritance Works in Catlet Specs
1. Start with a Gene
Reference a parent gene like dbosoft/ubuntu-22.04/latest
2. Add Your Specifics
Define only what's different: more CPU, extra software, custom config
3. Deploy & Evolve
When the parent gene updates, your catlet inherits improvements automatically
Real Inheritance Example
- • Ubuntu 22.04 base image
- • Security updates and patches
- • Standard networking setup
- • Basic system configuration
- • 4 CPU cores (vs. gene's 2)
- • Docker and nginx packages
- • Project-specific environment
- • Custom application config
Why This Matters
- Less to write: Focus on what makes your VM unique
- Automatic updates: Parent improvements flow to your VMs
- Proven foundations: Build on tested, stable gene templates
- Team consistency: Everyone starts from the same base
Smart Evolution
Transform Your Development Workflow
See how catlet specifications change the way you and your team work with VMs. From manual chaos to automated consistency.
×Before: Manual VM Setup
✓After: Catlet Specifications
Get-Content spec.yaml | New-Catlet
Real-World Scenario
Your team needs a staging environment for testing a new API. Here's how catlet specs solve this.
The Challenge
Your development team needs to test a new API before production deployment. Requirements:
- Ubuntu 22.04 with Docker and nginx
- 4 CPU cores, 8GB memory for performance testing
- Network configuration for team access
- Reproducible across team members
The Catlet Spec Solution
One YAML file captures everything. Team members deploy identical environments. Changes are version controlled. Updates inherit from parent gene automatically.
version: "1.0" name: api-staging-server parent: dbosoft/ubuntu-22.04/latest project: api-development environment: staging cpu: 4 memory: 8192 drives: - name: sda size: 50 network_adapters: - name: eth0 fodder: - name: api-setup type: cloud-config content: packages: - docker.io - nginx - git runcmd: - systemctl enable docker - systemctl start docker - systemctl enable nginx - systemctl start nginx
Why Catlet Specifications Work
The technical insights behind why declarative VM specifications are more powerful than traditional manual configuration approaches.
Declarative vs Imperative
Imperative (Manual)
"Click here, then there, set this, configure that" - step-by-step instructions that are fragile and hard to reproduce.
Declarative (Catlet Specs)
"This is what I want" - describe the desired end state, let eryph figure out how to get there.
Inheritance Patterns
The Technical Foundation
Immutable Infrastructure
Catlet specs create immutable VMs. Instead of modifying existing VMs, deploy fresh ones from specs.
Idempotent Operations
Running the same spec multiple times produces the same result. No configuration drift.
Version Control Ready
Text-based YAML specs integrate naturally with git workflows, code reviews, and CI/CD.
Cloud-Init Integration
Catlet specs leverage cloud-init for VM configuration, bringing cloud-native practices to local environments.
- Package management and software installation
- User creation and SSH key management
- Service configuration and startup scripts
- File system and network configuration
Gene Evolution Architecture
The gene system creates a living infrastructure where improvements flow automatically to dependent VMs.
Ready to Try Catlet Specifications?
Stop clicking through VM wizards. Start deploying with declarative specifications that inherit, evolve, and scale with your team.