As kubernetes has a special way to change mounted config map
values we want to make sure our file watcher is compatible with that.
Perquisites
The versions are the ones that definitely work.
kind (v0.8.1)
kubectl (v1.18.5)
docker (v19.03.12-ce)
make (v4.3)
Structure
The main.go just logs all events it gets. It is deployed to a
kind kubernetes cluster together with a configmap that gets updated
during the test. For details on the test steps have a look at the
Makefile.
Running
To generate the log snapshot run make snapshot. That snapshot
should be committed. To check if the FileWatcher works run
make check. For debugging purposes single steps of the setup
have descriptive make target names and can be run separately.
It is safe to delete the cluster at any point or rerun snapshot
generation.