Commit Graph

24 Commits

Author SHA1 Message Date
Tom Wilkie
901f46c5fc Report if newer version are availible in /api (#1366)
* Report if newer version are availible in /api

* Render version update hint in UI, next to version

* Fix lint
2016-04-22 10:25:00 +01:00
Tom Wilkie
cb0901e8e1 Move all the flag parsing to main.go; implement scope help 2016-04-20 15:48:43 +01:00
Tom Wilkie
da53aac25d Tests & vartious fixes for consul pipe router.
Fix a few bugs in the consul pipe router:
- Don't share a pointer
- Write nil to pipe when closing a bridge connection to ensure the connection shutdown.
- Ensure we shutdown bridge connections correctly
2016-04-12 14:28:10 +01:00
Tom Wilkie
734a01d603 Review feedback, lint & fix tests. 2016-04-06 15:59:02 +01:00
Tom Wilkie
727553962b Insturment the app with prometheus. 2016-04-06 14:58:28 +01:00
Tom Wilkie
5d7604cc21 Print command line when launching the app. 2016-04-06 14:58:23 +01:00
Tom Wilkie
fd368e5e5f Unhack dealing with slashed in node names. 2016-04-06 14:47:14 +01:00
Tom Wilkie
a8f0d64b3c Add middleware for logging each request to the app. 2016-04-06 14:47:08 +01:00
Tom Wilkie
9610e95ed9 Break out factories for app backends, and encode everything in urls. 2016-03-23 15:41:37 +00:00
Tom Wilkie
ac638d17dd Review feedback 2016-03-23 15:41:37 +00:00
Tom Wilkie
9885706402 Multi-tenant backends for app.
Add DynamoDB based collector
    - Store compressed reports in dynamodb

    Add SQS based control router.
    - Uses a queue per probe and a queue per UI for control requests & responses.

    Add Consul-based, horizontally-scalable, multi-tenant pipe router.
    - Uses consul to coordinate each end of pipe connections replicas of a pipe service.
2016-03-23 15:41:37 +00:00
Tom Wilkie
5886dae974 Don't read from app.Version before we initialise it, otherwise we report 'dev' back to the checkpoint service. 2016-03-12 11:01:52 +00:00
Tom Wilkie
0c2617debf Check error in checkpoint callback. 2016-03-04 10:01:11 +00:00
Tom Wilkie
425013bdd9 Update go-checkpoint library and add link to README. 2016-02-29 11:15:14 +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
Tom Wilkie
d4e58b9e33 Decouple Scope lifecycle from Weave lifecycle
- Run the Weave integrations regardless of if weave is detected.
- Make everything backoff and not spam the logs.
- Add miekg dns to vendor.
- Have the app periodically register with weaveDNS, and the probe do lookups there.
- Decide what the local networks are at runtime, not once at startup.
- Correctly resolve app ids, fixes #825
2016-02-09 14:24:57 +00:00
Alfonso Acosta
3d94082b07 Add debug logging 2016-02-05 16:58:40 +00:00
Tom Wilkie
34ca87c98e Review feedback. 2016-02-04 15:48:17 +00:00
Tom Wilkie
2e9aa9314d Periodically check for newer versions of scope. 2016-02-04 15:22:01 +00:00
Tom Wilkie
123c40028f Less hacky fix for /%2F bug 2016-01-14 07:10:31 -08:00
Tom Wilkie
ffa955a21b Split and move xfer package. 2016-01-06 14:01:39 +00:00
Tom Wilkie
667dd0f1de Rationalise version handling 2015-12-11 12:23:01 +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
949ae6f807 Review feedback 2015-12-09 12:45:13 +00:00