VM Templates That Inherit and Evolve
eryph's revolutionary gene system transforms how you build VM infrastructure through breeding and feeding. Start with community templates, inherit their knowledge, and evolve your infrastructure naturally.
Join a community where every improvement benefits everyone. Infrastructure knowledge that compounds, not decays.
Understanding Genes: Infrastructure That Evolves
Imagine if every VM improvement you made could be inherited by future VMs. That's the power of genes - infrastructure knowledge that evolves through breeding and feeding.
Genes
Reusable VM building blocks stored in the genepool. Like DNA, they carry inheritable traits.
dbosoft/ubuntu-22.04
Breeding
VMs inherit from parent genes, accumulating improvements through generations.
parent: ubuntu → child: web-server
Feeding
Configuration (fodder) applied at VM creation via cloud-init. All fodder collected and fed at once.
fodder: nginx + ssl + monitoring
See It In Action
Watch how a simple web server evolves from a community base template through breeding:
Your First Catlet
This simple YAML creates a VM that inherits Ubuntu and adds your configuration:
# my-web-server.yaml
name: my-web-server
parent: dbosoft/ubuntu-22.04/latest
# Mutations (your changes)
cpu: 4
memory: 4096
# Configuration (fodder)
fodder:
- name: web-setup
type: cloud-config
content: |
packages: [nginx, nodejs]
runcmd:
- systemctl enable nginx
Result: VM deployed in 5 minutes with all inherited traits plus your customizations
The Breed & Feed Process
Breeding: Inheritance at Work
When you create a catlet, it breeds by inheriting ALL attributes from its entire ancestry:
- 1.Parent catlet gene provides base configurationCPU, memory, drives, network
- 2.Child inherits everything from parentComplete configuration passed down
- 3.Mutations modify inherited traitsChange CPU, add disks, adjust memory
Feeding: Configuration Applied
All fodder from the breeding process is collected and fed to the VM at creation:
- 1.Collect all fodder from ancestryParent fodder + child fodder + referenced genes
- 2.Variable substitutionReplace {{variables}} with actual values
- 3.Feed via cloud-init on first bootOne-time configuration at VM creation
Understanding Gene References
Pro tip: Always use pinned versions like v1.0
or dated tags for production. Use latest
for development where you want automatic updates.
Start Simple, Evolve Naturally
Follow these best practices to get the most from the gene system
Start with Community
Use proven base genes from the genepool like dbosoft/ubuntu-22.04
Add Your Mutations
Modify inherited traits with your specific needs (CPU, memory, disks)
Configure with Fodder
Add configuration directly in your catlet. Create fodder genes only when needed across multiple trees.
Share & Evolve
Publish useful patterns back to the community. Let popular genes spread naturally.
Where Genes Excel
The gene system transforms VM management across all scenarios
Development & Testing
Spin up consistent dev environments in minutes
- Feature branch environments
- CI/CD test environments
- QA testing setups
Enterprise Applications
Standardize your application stacks company-wide
- Database server templates
- Application server stacks
- Compliance-ready systems
Training & Education
Create consistent lab environments for learning
- Student lab environments
- Training course setups
- Workshop environments
Branch Infrastructure
Deploy consistent infrastructure to remote locations
- Branch office servers
- Local service templates
- Edge computing nodes
POC & Demos
Quickly spin up proof-of-concept environments
- Customer demo setups
- Evaluation environments
- Prototype systems
Security Testing
Create isolated environments for security validation
- Penetration test labs
- Security patch testing
- Compliance validation
The Genepool Community
Join a thriving ecosystem where infrastructure knowledge is shared, versioned, and continuously improved
Use & Inherit
Reference as org/geneset/tag
Share & Evolve
Publish your improvements
Three Types of Genes
Each type serves a specific purpose in the ecosystem
Catlet Genes
VM specifications that CAN inherit from parent catlet genes
cpu:
count: 2
memory:
startup: 2048
drives:
- name: sda
capabilities:
- secure_boot
Volume Genes
Disk images built with Packer, stored as content-addressable hashes
# Built from basecatlets
Ubuntu 22.04: 550MB
Windows 2022: 8GB
# Hash-based storage
SHA256 addressing
Fodder Genes
Configuration templates that CANNOT inherit - standalone units
fodder:
- name: linux-starter
type: cloud-config
content: |
users:
- name: {{username}}
passwd: {{password}}
Want to dive deeper? Check out our Gene Mastery Tutorial for technical details, building custom genes, and advanced patterns.
Real-World Example: Complete Web Stack
See how genes work together to create a production-ready API server
The YAML Configuration
name: production-api
parent: dbosoft/ubuntu-22.04/latest
project: api-services
# Variables - declare required values
variables:
- name: secret_password
type: string
required: true
# Mutations - your changes
cpu: 4
memory: 8192
drives:
- name: sda
size: 50
# Fodder - configuration
fodder:
# Use community fodder gene
- source: gene:dbosoft/starter-food/linux-starter
variables:
- name: username
value: deploy
- name: password
value: "{{secret_password}}"
# Add your own configuration
- name: api-setup
type: cloud-config
content: |
packages:
- nginx
- nodejs
- postgresql-client
write_files:
- path: /etc/nginx/sites-available/api
content: |
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
}
}
runcmd:
- systemctl enable nginx
- npm install -g pm2
What Happens
1. Breeding Phase
- • Inherits from
dbosoft/ubuntu-22.04
- • Gets: 2 CPU, 2GB RAM, 20GB disk (from parent)
- • Mutates to: 4 CPU, 8GB RAM, 50GB disk
2. Feeding Phase
- • Collects fodder from
starter-food
gene - • Adds your
api-setup
fodder - • Substitutes variables (username, password)
- • Feeds all config via cloud-init on first boot
3. Result
- • Production-ready API server
- • Deployed in ~5 minutes
- • All configurations applied
- • Ready for your application
Power of Inheritance: If Ubuntu releases security updates, just update the parent gene tag. All child VMs can be recreated with the latest patches.
Start building with genes
Transform how you manage VM infrastructure with the power of inheritance