playground
https://github.com/standardloop/playground
Playground is a local environment for playing around with various kubernetes tools.
Tools Used
Setup
- 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.
Infrastructure Applications
- 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.
Test Applications
- tilt for managing test applications in the cluster.
Documentation and Standards
- 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.
Screenshot

Spin Up
Note: sudo is needed to run cloud-provider-kind.
Clean Up
Updating /etc/hosts
You will need to update your /etc/hosts to have access to the applications on the local cluster.
Find you IP
$ 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
/etc/hosts example
$ 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