Rationale

  • Easykube aims to enable shared development "platforms" via its companion addon repositories.

  • If Kubernetes are used for workloads, why not re-use the stuff already written? The devops team must have produced something you can reuse.. Experiment, develop locally. Breaking "the system" - Eliminate the "docker-compose" shadow workflow.

  • Easykube is designed to be a team and individual enabler: Everyone can install and work with a cloud-native application’s particular stack locally, without breaking any shared environment.

What is it?

  • Easykube is built using the Kind project (Kubernetes in Docker) and the Goja JavaScript runtime Go library.

  • It bootstraps a single-node Kind cluster with opinionated modifications.

  • It automatically sets up a local zot docker registry for the cluster and connects it locally.

  • Based on available addons, a Kind cluster configuration is generated for the particular addon repository’s shape. Port forwarding and storage requirements are handled automatically.

  • Persistent data (if used) survives cluster deletion and recreation. Databases files remain intact.

  • Addon installation is programmable via the embedded JavaScript library. Highly customizable and extensible; Provision databases, caches, inject secrets, patch deployments - It’s local, do anything, break everything!

  • Easykube has built-in dependency resolution. Addons can depend on other addons. If you have a large-ish system, with some planning, you can choose to install only the parts you need.

  • A CoreDNS hack lets you access everything from "localtest.me" — never touch the /etc/hosts (or c:\windows\system32\drivers\etc\hosts) file again. If your addon workloads define many ingresses, you can still make everything work locally.

Easykube helps you with

  • Enabling your team to install and run your cloud-native application(s) locally.

  • Break things; it’s OK. Just start over - We learn every day!

  • Effortlessly spin up local development stacks: Databases, Web servers, Caches, Workflow engines, OAuth servers, S3-compatible storage - If it runs in kubernetes (or Docker/Podman) - It runs on Easykube.

  • Kubernetes can be complicated, use Easykube as a gateway-drug for new team members - Let them experience the challenges of distributed systems firsthand, on their own machines.

  • Perhaps some team members refuse to acknowledge the 'cloud' thing, they are brilliant developers, but will never care about Kubernetes — And that’s OK, no one can be forced to like it. But they can still run stuff locally.

When not to use Easykube

  • Not using kubernetes, and don’t care about it.

  • If you have a multitude of microservices (say, 20+) - Easykube might not be the thing you are looking for (unless developers are issued powerful machines). Continue putting credits in the cloud providers slot machine.

  • Never, ever, spin up easykube in a production setting, or use it for something really important. It’s meant for trashing; Try, fail, start over. Run your real workloads on a secured cluster. Easykube is built for local development only.