Commit Graph

15 Commits

Author SHA1 Message Date
Alfonso Acosta
37ba071feb Allow passing arguments to controls 2016-10-31 11:04:40 +01:00
Matthias Radestock
6d9194cfaf treat EOF and ErrClosedPipe in websocket connections as uninteresting
both occur in various states of disconnectedness
2016-08-05 23:32:34 +01:00
Paul Bellamy
274158493d Name our routes, so /metrics gives more sensible aggregations 2016-07-26 12:49:04 +01:00
Tom Wilkie
141ce75902 Log errors in response to http requests. (#1569) 2016-06-09 09:01:50 +01:00
Tom Wilkie
da33d9c106 Have the probe fill in the app id, not the app 2016-03-03 09:26:23 +00:00
Paul Bellamy
35fe8864a1 Review Feedback 2016-02-25 16:34:35 +00:00
Paul Bellamy
cfc071471b Add ping/pong to websocket protocol 2016-02-24 17:16:35 +00:00
Paul Bellamy
f794bbff3d log errors on control and pipe websockets as well (now that we can) 2016-02-24 16:25:05 +00:00
Tom Wilkie
5f7f74bf1b Refactor app for multitenancy
- Add interfaces to allow for alternative implementations for Collector, ControlRouter
  and PipeRouter.
- Pass contexts on http handlers to these interfaces.  Although not used by the current
  (local, in-memory) implementations, the idea is this will be used to pass headers to
  implementations which support multitenancy (by, for instance, putting an authenticating
  reverse proxy in form of the app, and then inspecting the headers of the request for
  a used id).
2016-02-22 14:54:04 +00:00
Alfonso Acosta
3d94082b07 Add debug logging 2016-02-05 16:58:40 +00:00
Tom Wilkie
ffa955a21b Split and move xfer package. 2016-01-06 14:01:39 +00:00
Tom Wilkie
3a344f12ea Backend review feedback 2015-12-10 12:53:31 +00:00
Tom Wilkie
ac9c011475 Pipe plumbing
- Add store of pipes in the app
- Add pipe type, handling impedance mismatch, used in app and probe.
- App <-> Probe pipes have their own websockets.
- Add pipe websocket endpoint in app.
- Pipe IDs are strings, lose the request/response IDs, and give the json encoder lowercase field names.
- Add simple golang ws client, for testing.
- Pipe lifecycle plumbing.
- Ref count and timeout both ends of pipes in the app
- Deal with POST /api/pipe/:pid?_method=delete
- Add end-to-end unit test for pipes.
- Add test for timing out pipes.
- Update go-docker client to tomwilkie/go-dockerclient
- Backend work for non-raw ttys
- Close pipes when they close themselves in the probe
- Ensure all http connections are done before returning from client.Stop()
2015-12-10 12:51:17 +00:00
Tom Wilkie
c317cff86e App: Rename package main->app, put main.go in prog/app 2015-12-07 14:53:28 +00:00
Tom Wilkie
76d34330a9 Add Control plumbing. 2015-11-06 17:39:48 +00:00