# Kubernetes based dev-env RFC
## Objective
Create a new dev-env based on Kubernetes that is performant, isolated, documented and easy to use.
## Solution
- Kind for Kubernetes cluster(s)
- Tilt for automation and live updates
## What is Tilt?
Tilt is a cloud-native development engine for teams that deploy to Kubernetes.
In short words: Till will run helm, docker, and kubectl commands for us. With live updates and a useful UI!
More FAQ(s): https://docs.tilt.dev/product_faq.html
Tiltfile reference: https://docs.tilt.dev/api.html
## Requisites
### Install Tilt
```
brew install tilt-dev/tap/tilt
```
### Install Minikube
```
brew install minikube
```
## How to use
Clone the new dev-env:
```
TODO
```
### Create the Kubernetes cluster
This command will create a new Kubernetes cluster with Minikube and the HyperKit driver. The cluster profile and kubectl context is named `ppro`.
```
make cluster
```
or
```
minikube start -p=ppro --container-runtime=containerd --cni=calico --driver=hyperkit
```
### Start Tilt
This command will install the core requisites to run our services.
```
make tilt
```
or
```
tilt up
```