A powerful CLI tool for defining, provisioning, and managing isolated, ephemeral development environments.
Terrarium aims to simplify the developer workflow by providing a consistent way to spin up, manage, and tear down complex development environments, ensuring reproducibility and reducing 'it works on my machine' issues.
- Declarative Environment Definitions: Define complex, multi-service environments using YAML or CUE, specifying dependencies, configurations, and resource requirements.
- On-Demand Provisioning & Teardown: Commands to quickly spin up, update, and tear down entire isolated environments with automatic resource allocation and network segregation.
- Extensible Provider Model: Support for various backend providers (e.g., Docker Compose, Kubernetes, AWS LocalStack, local processes) via a plugin architecture.
- Integrated Tooling & Access: Automatic configuration for common developer tools (IDE, debuggers, CLI clients) and secure tunneling/proxying to services within the isolated environment.
- Environment Snapshots & Sharing: Ability to bundle environment definitions and necessary assets for easy sharing and onboarding, ensuring reproducible setups.
- Resource Monitoring & Cleanup: Real-time monitoring of environment resource usage and intelligent cleanup of orphaned or unused resources.
Currently under active development.
To build Terrarium from source:
git clone https://github.com/your-org/terrarium.git
cd terrarium
go build -o terrarium main.go
./terrarium --helpMore detailed installation and usage instructions will be provided soon.