https://github.com/standardloop/playground
Playground is a local environment for playing around with various kubernetes tools.
- task (go-task) for the overall automation.
- rancher-desktop or colima for handling docker engine.
- kind for provisioning a local kubernetes cluster.
- local registry is enabled on the cluster.
- cloud-provider-kind for the ability to have access to
gatewayClassName: cloud-provider-kind. - opentofu for deploying infrastructure applications.
- kustomize provider for deploying kustomizations.
- helm provider for deploying helm charts (this repo mostly relies on
fluxHelmReleasebut there are a few cases of just using raw helm charts). - null provider mostly for using
local-exec.
- flux deployed (minimally) to have access to
HelmReleaseandHelmRepositorycrds.
- metrics-server for playing around with autoscaling.
- argo-rollouts for playing around with deployment strategies.
- headlamp as a kubernetes web UI.
- istio as the entryway into the cluster.
- kiali for some insights into istio.
- prometheus deployed via
kube-prometheus-stackfor metrics. - grafana deploy via grafana-operator for monitoring dashboards.
- homer as the home page of the cluster.
- tilt for managing test applications in the cluster.
- prek for pre-commit.
- yamllint for enforcing yaml rules.
- helm-docs for managing helm documentation.
- helm-schema for handling helm
values.schema.jsongeneration. - terraform-docs for handling tofu documentation.
$ taskNote: sudo is needed to run cloud-provider-kind.
$ task cleanYou will need to update your /etc/hosts to have access to the applications on the local cluster.
$ kubectl get gateway playground-local-gateway -n istio-gateway
NAME CLASS ADDRESS PROGRAMMED AGE
playground-local-gateway cloud-provider-kind 172.18.0.5 True 17m$ cat /etc/hosts`
172.18.0.5 playground.local
172.18.0.5 grafana.playground.local
172.18.0.5 prometheus.playground.local
172.18.0.5 api.playground.local
172.18.0.5 www.playground.local
172.18.0.5 rollouts.playground.local
172.18.0.5 api.playground.local
172.18.0.5 headlamp.playground.local
172.18.0.5 homer.playground.local
172.18.0.5 home.playground.local
172.18.0.5 kiali.playground.local$ mise install
...
$ mise uninstall --all