https://github.com/adrianliechti/devkube
Bootstrap Kubernetes with Batteries Included - locally or in the cloud
https://github.com/adrianliechti/devkube
aks aws azure cert-manager cloud devex devops digitalocean eks grafana kubernetes linkerd linode loki prometheus tekton tempo trivy vault vultr
Last synced: about 1 month ago
JSON representation
Bootstrap Kubernetes with Batteries Included - locally or in the cloud
- Host: GitHub
- URL: https://github.com/adrianliechti/devkube
- Owner: adrianliechti
- License: apache-2.0
- Created: 2022-05-22T15:26:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-15T13:15:06.000Z (12 months ago)
- Last Synced: 2025-04-09T08:51:15.957Z (10 months ago)
- Topics: aks, aws, azure, cert-manager, cloud, devex, devops, digitalocean, eks, grafana, kubernetes, linkerd, linode, loki, prometheus, tekton, tempo, trivy, vault, vultr
- Language: Go
- Homepage:
- Size: 12.9 MB
- Stars: 17
- Watchers: 4
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# devkube
devkube bootstraps feature-rich Kubernetes clusters locally
## Create Cluster (using Docker)
The default `create` command will spin up a local DevKube cluster in a single container running in [Docker](https://docs.docker.com/get-docker/). [Lima](https://lima-vm.io), [Podman Desktop](https://podman-desktop.io), [Rancher Desktop](https://rancherdesktop.io) should work too.
```shell
$ devkube create
★ installing Kubernetes Cluster...
★ installing Cert-Manager...
★ installing Registry...
★ installing Gatekeeper...
★ installing OpenTelemetry...
```
Installed Components
- [Cert-Manager](https://cert-manager.io) - X.509 Certificate Management
- [Registry](https://distribution.github.io/distribution/) - Container Images Distribution
- [Gatekeeper](https://open-policy-agent.github.io/gatekeeper/website/) - Customizable Policy controller
- [Grafana LGTM](ithub.com/grafana/docker-otel-lgtm) - Observability and Data Visualization
Optional Components
- [Crossplane](https://www.crossplane.io) - Universal Control Plane
- [Envoy Gateway](https://gateway.envoyproxy.io) - Manage Application and API traffic
- [Argo CD](https://argo-cd.readthedocs.io) - Declarative GitOps CD
- [Tekton](https://tekton.dev) - Cloud Native CI/CD
## Management Tools
### Kubernetes Web UI
open Dashboard in browser
```shell
$ devkube dashboard
```
### Grafana Web UI
open Grafana in browser
```shell
$ devkube grafana
```
### Access cluster workload
To access workload services within your cluster, `connect` allows you to forward these adresses and ports locally and allow easy access.
```shell
sudo devkube connect
...
5:58PM INF adding tunnel address=127.244.179.12 hosts="[grafana.platform grafana.platform.svc.cluster.local]" ports=[3000]
...
```
### Import a local image
```shell
# pull an image (or build one)
docker pull alpine:3
# import image into cluster registry
devkube load alpine:3
```
### Build an image within cluster
```shell
cd /path/to/your/project
# cat Dockerfile
# FROM alpine:3
# RUN apk add --no-cache bash
# build image using buildkitd
devkube build demo .
★ creating container (default/loop-buildkit-704c031)...
★ copying build context...
...
★ removing container (default/loop-buildkit-704c031)..
# run impage in kubernetes
kubectl run -it --rm demo --image registry.platform/demo /bin/bash
demo:/# exit
```
## Installation
MacOS / Linux with [Homebrew](https://brew.sh)
```shell
brew install adrianliechti/tap/devkube
```
Windows with [Scoop](https://scoop.sh)
```shell
scoop bucket add adrianliechti https://github.com/adrianliechti/scoop-bucket
scoop install kubectl helm adrianliechti/devkube
```