From a64a29b8d5eb5bafd5203407a48d168feb48a1a9 Mon Sep 17 00:00:00 2001 From: Galen Marchetti Date: Mon, 15 Jul 2024 15:39:19 -0600 Subject: [PATCH] Update README.md Signed-off-by: Galen Marchetti --- README.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e81f5a22..743975ff 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![Kardi B](https://kardinal.dev/_next/static/media/kardinal-orange.65ea335b.png) -Kardinal is a traffic control and data isolation layer that enables engineers to safely do development and QA work directly in production. Say goodbye to maintaining multiple environments and hello to faster, more efficient development workflows. +The lightest-weight Kubernetes development environments in the world. Stop duplicating everything in your Kubernetes clusters. Deploy the minimum resources necessary to develop and test directly in one production-like environment. ## Quick install @@ -14,29 +14,22 @@ curl get.kardinal.dev -sL | sh ## What is Kardinal? -Kardinal injects production data and service dependencies into your dev and test workflows safely and securely. Instead of spinning up ephemeral environments with mocked services, fake traffic, and fake data, developers using Kardinal can put their service directly into the production environment to see how it works... without risking the stability of that environment. +Kardinal is a traffic control and data isolation layer for Kubernetes that enables engineers to efficiently do development and QA work within a single stable cluster. Instead of implementing isolation at the cluster level, Kardinal implements isolation by deploying development versions of services side-by-side with their "staging" versions, and defining isolated traffic routes through the cluster. These traffic routes connect development versions to their appropriate dependencies, and to development versions of any databases, queues, caches, and external APIs that you may need. -Key features: - -- Develop and test directly in production without risk -- Catch bugs that "only appear in prod" faster -- Stop maintaining multiple environments - do it all in production -- Lighter-weight dev workflow: reuse deployed services -- Implement isolated dev sandbox flows with maximum dev-prod parity -- Control data and traffic access throughout the software development lifecycle with maturity gates +These traffic routes are effectively "logical environments" or "views" on top of a single cluster. In Kardinal, these are called "flows". Flows enable isolation for the purpose of development, testing, and QA with the lowest possible resource footprint. It all happens in one cluster, with the absolute minimum duplication of resources necessary. ## How it Works -Kardinal uses traffic flow controls and a data isolation layer to protect production while you're developing. It achieves this by rethinking the idea of isolated "environments" and replacing them with isolated traffic flows within the production environment. +Kardinal is implemented as a set of sidecars that are deployed next to your stateless services, and proxies that set on top of your stateful services. It's easy to install and easy to uninstall - just deploy the the sidecars in your staging cluster, and use the Kardinal control plane to manage your development and test environments. If you want to uninstall Kardinals, just remove the sidecars. -To use Kardinal, just drop the Kardinal sidecars into your production environment. Then run: +To use Kardinal, just drop the Kardinal sidecars into your staging environment. Then run: ```bash # Create a dev flow kardinal create-dev-flow ``` -This creates a dev flow for your service with access to all the data, traffic, and services in your production environment, while ensuring complete isolation and safety. +This creates a dev flow for your service with access to all the dependencies in your staging environment, while ensuring complete isolation of your development and testing work. ## Join the Beta Program