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
7f5fe3a717
Add comment
2022-06-22 20:56:52 +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
d1b3cd1f96
build.sh: Fix variable name
continuous-integration/drone/push Build is passing
Details
2022-06-20 20:40:20 +02:00
Rob Watson
c6b96ecad8
watcher: Add temporary panic-on-error handling
2022-06-20 20:35:20 +02:00
Rob Watson
07552d10dd
Tidy
continuous-integration/drone/push Build is passing
Details
2022-06-15 20:29:33 +02:00
Rob Watson
e33612cced
podWatcher: Refactor
continuous-integration/drone/push Build is passing
Details
2022-06-14 21:11:06 +02:00
Rob Watson
d8e57c3d0e
Remove inaccurate comment
continuous-integration/drone/push Build is passing
Details
2022-06-14 18:05:36 +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
e86d23fdca
Fix typo
2022-06-14 07:44:55 +02:00
Rob Watson
154a13ecfc
tests: Replace struct with closure
continuous-integration/drone/push Build is passing
Details
2022-06-12 22:06:07 +02:00
Rob Watson
bf49105619
podWatcher: handle removed pods
continuous-integration/drone/push Build is passing
Details
2022-06-12 15:26:27 +02:00
Rob Watson
397708336d
drone.yml: use go test -race
continuous-integration/drone/push Build is failing
Details
2022-06-11 07:33:27 +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
5ebeabd3c1
Handle namespace
continuous-integration/drone/push Build is passing
Details
2022-06-10 21:38: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
12530471d0
Add build script and basic versioning
continuous-integration/drone/push Build is passing
Details
2022-06-09 20:56:44 +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
f8c59aeb15
config: prefer *rest.Config
...
continuous-integration/drone/push Build is passing
Details
This config implementation correctly picks up non-default contexts.
2022-06-07 21:16:37 +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
0827693801
podWatcher: handle closed channel
continuous-integration/drone/push Build is passing
Details
2022-06-03 22:20:23 +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
3639b43260
Rename variable
2022-06-02 19:23:44 +02:00
Rob Watson
7e74fb6f08
Refactor stream error handling
2022-06-02 19:23:41 +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
ae1b699d76
Add .drone.yml
2022-05-30 12:16:21 +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
Rob Watson
1dfdeef7e8
Initial commit
2022-05-25 23:40:52 +02:00