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.