Commit Graph

16 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 41f53c88df podWatcher: prefer bufio.Reader to Scanner
continuous-integration/drone/push Build is failing Details
This avoids "token too large" errors when scanning large lines, probably
at the cost of some memory usage and/or allocations.
2022-07-05 18:26:47 +02:00
Rob Watson 0bbbb4015b podWatcher: Use RetryWatcher
continuous-integration/drone/push Build is failing Details
2022-07-01 17:47:41 +02:00
Rob Watson 680f5b65e7 watcher: Clean up test
continuous-integration/drone/push Build is passing Details
2022-06-22 20:57:06 +02:00
Rob Watson c3ada38e68 Add TODO
continuous-integration/drone/push Build is passing Details
2022-06-21 20:49:44 +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 969b0db9fc podWatcher: pass namespace
continuous-integration/drone/push Build is failing Details
2022-06-14 07:47:38 +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 6e09e4bf20 Reduce test flakiness 2022-06-07 21:15:04 +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 d5835821c5 podWatcher: add test coverage
continuous-integration/drone/push Build is passing Details
2022-06-02 19:23:47 +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 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