This is small proof of concept of a process to restart pods via their deployment and the Kubernetes API, when watched local files change. Intended to be run as a sidecar
See examples in deploy directory for how to add the podkicker sidecar to any pod, and the service account needed.
The code only works running inside a pod in Kubernetes
Details of any configuration files, environmental variables, command line parameters, etc.
For services
Setting / Variable | Purpose | Default |
---|---|---|
PODKICKER_WATCH | What file or directory to watch for changes, when a directory is added all files and sub-directories under it are watched recursively. Required | None |
PODKICKER_TARGET_NAME | The name of the Kubernetes deployment or stateful set to be restarted. Typically this is the same one as the sidecar is running under. Required | None |
PODKICKER_TARGET_TYPE | Either "deployment" or "statefulset" | "deployment" |
A brief description of the top-level directories of this project is as follows:
/build - Build configuration e.g. Dockerfiles
/deploy - Deployment and infrastructure as code, inc Kubernetes
/cmd - Source code
All file operations will trigger the restart, there is no filter yet
This project uses the MIT software license. See full license file