Commit Graph

18 Commits

Author SHA1 Message Date
Rob Watson cbdcef097f Fix race condition in tests
continuous-integration/drone/push Build is passing Details
In normal usage, the io.Writer passed to the watcher is typically
`os.Stdout` and does not require locking because it is not being read
from inside the same process.

In tests however, the io.Writer was a *bytes.Buffer which is read
concurrently from another goroutine, introducing a race condition. This
fixes the issue in the test suite by introducing a wrapper around
*bytes.Buffer which implements the required locking.
2022-07-08 19:39:10 +02:00
Rob Watson b880127e72 watcher: implement RetryWatcher
continuous-integration/drone/push Build is failing Details
2022-06-21 20:32:32 +02:00
Rob Watson c6b96ecad8 watcher: Add temporary panic-on-error handling 2022-06-20 20:35:20 +02:00
Rob Watson eeee9a8ab7 watcher: Update naming
continuous-integration/drone/push Build is passing Details
2022-06-14 17:54:10 +02:00
Rob Watson a0949b2bde watcher: Clean up properly on exiting event loop
continuous-integration/drone/push Build is passing Details
2022-06-14 09:56:59 +02:00
Rob Watson 969b0db9fc podWatcher: pass namespace
continuous-integration/drone/push Build is failing Details
2022-06-14 07:47:38 +02:00
Rob Watson 3288b488d3 Tidy 2022-06-11 07:20:28 +02:00
Rob Watson be99d25fb2 podWatcher: prefer channel for synchronization
continuous-integration/drone/push Build is passing Details
2022-06-11 07:13:42 +02:00
Rob Watson b1a8a75bdb Configure debug logging
continuous-integration/drone/push Build is passing Details
2022-06-10 19:04:52 +02:00
Rob Watson ca822496b0 Support other resource types
continuous-integration/drone/push Build is passing Details
Use the untyped k8s client to enable support for statefulsets and
replicasets as well as deployments. The typed client is retained for
usage inside pod_watcher.go.
2022-06-09 20:21:07 +02:00
Rob Watson 59a9335017 watcher: handle closed channel
continuous-integration/drone Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-06-04 02:27:20 +02:00
Rob Watson 0827693801 podWatcher: handle closed channel
continuous-integration/drone/push Build is passing Details
2022-06-03 22:20:23 +02:00
Rob Watson 2ea2ebe836 Tweak CLI interface
continuous-integration/drone/push Build is passing Details
2022-06-01 22:04:20 +02:00
Rob Watson 7f10c6a2c2 Improve error handling 2022-06-01 22:04:02 +02:00
Rob Watson 0b0db0ee8f Add per-deployment watcher
continuous-integration/drone/push Build is passing Details
2022-06-01 19:19:55 +02:00
Rob Watson 11cc2d6709 Refactor, add container argument
continuous-integration/drone Build is passing Details
2022-05-31 06:11:44 +02:00
Rob Watson 4f6b2d1550 Add basic test coverage 2022-05-30 12:10:58 +02:00
Rob Watson d38f31c3d9 Initial iteration 2022-05-29 21:04:02 +02:00