# kleinwuerfel


Opinionated command line tool to interact with [minikube](https://github.com/kubernetes/minikube). An easy way to deploy a given set of helm charts.
"kleinwuerfel" means more or less "minikube" in German.
[Installation](#installation) •
[Usage](#usage)
Prerequisites
As kleinwuerfel
interacts with other command line tools, you have install:
* minikube
* helm
* kubectl
Installation
- cargo
bash
cargo install kleinwuerfel
- Precompiled binary
Usage
Config file
```toml
[minikube]
Amount of CPUs
cpus = 4
Memory in MB
memory = 8192
Optional -> added via --set to each "helm upgrade"
[defaultvalues]
"imageRegistry.username" = "${env.HARBORUSERNAME}"
"imageRegistry.password" = "${env.HARBOR_SECRET}"
[[helmchartrepo]]
Name to be referenced in [[helmchart]] blocks
name = "helm-chart-repo-1"
URL for "helm repo add ..." and "helm login" when "username" and "password" are both set
url = "some.registry.url/chartrepo"
Optional
username = "${env.HARBOR_USERNAME}"
Optional
password = "${env.HARBOR_SECRET}"
[[helmchart]]
Reference to name of [[helmchartrepo]] block
helmchartrepo = "helm-chart-repo-1"
Is combined for "helm upgrade ... helm-chart-1 helm-chart-repo-1/helm-chart-1"
name = "helm-chart-1"
Port fowarding
ports = [8080, 9999]
Optional -> added via --set to "helm upgrade". Overrides "default_values"
[values]
"some.additional.value" = "true"
[[helmchart]]
Reference to name of [[helmchartrepo]] block
helmchartrepo = "helm-chart-repo-1"
Is combined for "helm upgrade ... helm-chart-1 helm-chart-repo-1/helm-chart-2"
name = "helm-chart-2"
```
Up (start minikube and deploy helm charts)
- If
minikube status
exits with 0
, we assume that it is already running and skip the minikube start
part
bash
kleinwuerfel up [--no-deploy]
Down
- Calls
minikube delete
right now
bash
kleinwuerfel down
Ideas
- Better error handling
- More testing