Simplify Crossplane development and testing with a powerful CLI toolkit.
Overlock handles the complexity of setting up Crossplane environments, making it easy for developers to build, test, and deploy infrastructure-as-code solutions. Get a fully configured Crossplane environment running in minutes, not hours.
- Features
- Quick Start
- Installation
- Documentation
- Architecture Overview
- Ecosystem Comparison
- Community
- Contributing
- License
- β‘ Quick Environment Setup - Create fully configured Crossplane environments with a single command
- π― Multi-Engine Support - Works seamlessly with KinD, K3s, and K3d Kubernetes distributions
- π¦ Package Management - Install and manage Crossplane configurations, providers, and functions
- π Live Development - Hot-reload support for local package development
- ποΈ Registry Integration - Support for both local and remote package registries
- π Plugin System - Extensible architecture for custom functionality
# Create a new Crossplane environment
overlock environment create my-dev-env
# Install a cloud provider (GCP example)
overlock provider install xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
# Apply a configuration
overlock configuration apply xpkg.upbound.io/devops-toolkit/dot-application:v3.0.31
# List your environments
overlock environment listThat's it! You now have a fully functional Crossplane environment ready for development.
- Docker (required for creating Kubernetes clusters)
- One of: KinD, K3s, or K3d (choose based on your preference)
Latest version:
curl -sL "https://raw.githubusercontent.com/overlock-network/overlock/refs/heads/main/scripts/install.sh" | sh
sudo mv overlock /usr/local/bin/Specific version:
curl -sL "https://raw.githubusercontent.com/overlock-network/overlock/refs/heads/main/scripts/install.sh" | sh -s -- -v 0.11.0-beta.11
sudo mv overlock /usr/local/bin/Verify installation:
overlock --versiongit clone https://github.com/overlock-network/overlock.git
cd overlock
go build -o overlock ./cmd/overlockSee the Development Guide for detailed build instructions.
- Command Reference - Complete CLI command documentation
- Configuration Guide - Environment variables and configuration options
- Usage Examples - Common workflows and practical examples
- Troubleshooting - Solutions to common issues
- Development Guide - Building from source, testing, and contributing
- CONTRIBUTING.md - Contribution guidelines and code of conduct
Overlock organizes functionality into intuitive command groups:
| Command | Alias | Description |
|---|---|---|
environment |
env |
Create and manage Kubernetes environments |
provider |
prv |
Install and manage cloud providers |
configuration |
cfg |
Manage Crossplane configurations |
function |
fnc |
Manage Crossplane functions |
registry |
reg |
Configure package registries |
resource |
res |
Create and manage custom resources |
Use overlock <command> --help for detailed information on any command.
Overlock is built with a modular architecture designed for extensibility and maintainability:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Overlock CLI β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Environment Manager β Package Manager β
β - KinD β - Configurations β
β - K3s β - Providers β
β - K3d β - Functions β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Engine Manager β Registry Manager β
β - Crossplane Install β - Local Registries β
β - Helm Integration β - Remote Registries β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Resource Manager β Plugin System β
β - Custom Resources β - Dynamic Loading β
β - YAML Processing β - Extensibility β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββ
β Kubernetes Cluster β
β (KinD / K3s / K3d) β
β + Crossplane β
βββββββββββββββββββββββββββββββββββ
- CLI Framework: Kong-based command parsing with intuitive subcommands
- Engine Management: Helm-based Crossplane installation and lifecycle
- Environment Management: Multi-engine Kubernetes cluster operations
- Package Management: Crossplane configurations, providers, and functions
- Plugin System: Extensible architecture for custom functionality
For detailed architecture information, see the Development Guide.
| Feature | Overlock | kubectl + helm | Crossplane CLI | up CLI |
|---|---|---|---|---|
| Environment creation | β Single command | β Manual setup | β Manual setup | β Automated |
| Multi-engine support | β KinD/K3s/K3d | β Any K8s | β Any K8s | |
| Package management | β Built-in | β Manual | β Limited | β Built-in |
| Live reload dev | β Yes | β No | β No | |
| Registry support | β Local + Remote | β Manual | β Yes | |
| Environment lifecycle | β Full control | β Manual | β Manual | |
| Plugin system | β Yes | N/A | β No | β No |
Why Overlock?
Overlock bridges the gap between simple kubectl/helm workflows and full-featured cloud platforms. It provides:
- Faster setup than manual kubectl/helm configurations
- More development-focused features than standard Crossplane CLI
- Better local development experience than cloud-based solutions
- Complete control over your development environment
- π¬ Discord: Join our Discord for questions and community support
- π Issues: Report bugs or request features
- π Discussions: Join discussions
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
- Read our Contributing Guide to get started
- Check out Good First Issues
- Review the Development Guide for technical details
We are committed to providing a welcoming and inclusive experience. Please read our Code of Conduct in CONTRIBUTING.md.
Overlock is built on top of excellent open-source projects:
- Crossplane - The cloud native control plane framework
- Kubernetes - Container orchestration platform
- Helm - The Kubernetes package manager
- KinD, K3s, K3d - Kubernetes engines
This project is licensed under the MIT License. See the LICENSE file for details.
Made with β€οΈ by the Overlock community
