kubectl-blame-examples
This repository contains a simplified version of Tilt that's used for teaching and talks.
In Search of a kubectl blame
Command at KubeCon 2020
Each subdirectory contains a sample app that you can run with:
cd $DIR
go run ./main.go
Each sample app does the same basic flow:
- Build and push the image (with
docker build
, docker push
, and some magic to detect the registry)
- Apply the deployment (with
kubectl apply
)
- Track the deployment's progress (with
kubernetes/client-go
)
The main difference between each project is how they track the deployment.
Creates a random image tag and label for each deployment. Watches that label.
Code: main.go
Uses the approach of kubectl rollout
, waiting for the deployment to report success.
Code:
Uses the approach of helm --wait
, looking up the replicaset and waiting for it to report success
Code:
- main.go
- Uses the Helm Kube client off the shelf, which is fun to read! wait.go
Uses the approach of kubespy trace
, using owner references to find everything.
Code:
Uses the current Tilt approach, with a combination of owner refs and template hashes.
Code:
License
Copyright 2020 Windmill Engineering
Licensed under the Apache License, Version 2.0