Skip to content

overlock-network/overlock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

452 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Discord Go Version License GitHub Release

Overlock

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.

Table of Contents

Features

  • ⚑ 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

Quick Start

# 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 list

That's it! You now have a fully functional Crossplane environment ready for development.

Installation

Prerequisites

  • Docker (required for creating Kubernetes clusters)
  • One of: KinD, K3s, or K3d (choose based on your preference)

Install Overlock

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 --version

Building from Source

git clone https://github.com/overlock-network/overlock.git
cd overlock
go build -o overlock ./cmd/overlock

See the Development Guide for detailed build instructions.

Documentation

User Guides

Developer Resources

Command Overview

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.

Architecture Overview

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                 β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Components

  • 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.

Ecosystem Comparison

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 ⚠️ Limited
Package management βœ… Built-in ❌ Manual βœ… Limited βœ… Built-in
Live reload dev βœ… Yes ❌ No ❌ No ⚠️ Partial
Registry support βœ… Local + Remote ❌ Manual ⚠️ Remote only βœ… Yes
Environment lifecycle βœ… Full control ❌ Manual ❌ Manual ⚠️ Limited
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

Community

Get Help & Connect

Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Code of Conduct

We are committed to providing a welcoming and inclusive experience. Please read our Code of Conduct in CONTRIBUTING.md.

Credits

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

License

This project is licensed under the MIT License. See the LICENSE file for details.


Made with ❀️ by the Overlock community

About

The Crossplane Environment CLI

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 8