Atin Malaviya
b623af776b
Consul Session TTLs
...
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf ). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.
Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.
Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.
Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Armon Dadgar
de35a8e38f
agent: Fixing port collision in tests
2014-11-19 11:51:25 -08:00
Atin Malaviya
2bd0e8c745
consul.Config() helper to generate the tlsutil.Config{} struct, 30 second keepalive, use keepalive for HTTP and HTTPS
2014-11-18 17:56:48 -05:00
Atin Malaviya
b4424a1a50
Moved TLS Config stuff to tlsutil package
2014-11-18 11:03:36 -05:00
Atin Malaviya
59a68ecc26
Added HTTPS support via a new HTTPS Port configuration option similar to the HTTP Port.
2014-11-17 14:29:35 -05:00
Armon Dadgar
8ee22d7fc4
agent: Fixing multiple headers for /v1/event/list endpoint. Fixes #361
2014-10-13 17:53:54 -07:00
Armon Dadgar
93c925dd14
agent: First pass at event endpoints
2014-08-28 13:42:07 -07:00
Armon Dadgar
8fad8538e8
agent: ACL violation returns 403 code
2014-08-22 12:59:47 -07:00
Armon Dadgar
4a61a8bd31
agent: Rename acl delete to destroy
2014-08-18 15:46:58 -07:00
Armon Dadgar
4e7d57a3db
agent: Adding token parsing
2014-08-18 15:46:23 -07:00
Armon Dadgar
d3065d1532
agent: Special handler if ACL support is disabled
2014-08-18 15:46:23 -07:00
Armon Dadgar
6f7bf36ee9
agent: ACL endpoint tests
2014-08-18 15:46:21 -07:00
Armon Dadgar
d628aab646
agent: ACL endpoint
2014-08-18 15:46:21 -07:00
Eric Connell
6c3aaa81c1
modified so ?pretty=anything will work
2014-08-01 14:28:46 -06:00
Eric Connell
e31c6b8b83
make pretty condition more readable
2014-08-01 14:24:36 -06:00
Eric Connell
316673a2e5
added URL query parameter of "pretty=true" to output formatted json from the HTTP API
2014-08-01 14:11:51 -06:00
William Tisäter
a028c3ae93
Add `/v1/agent/self` and return local agent config
2014-05-27 01:15:33 +02:00
Armon Dadgar
d5b1330227
agent: First pass at session endpoints
2014-05-20 16:25:29 -07:00
Armon Dadgar
d1648871ea
agent: Adding UI services endpoint
2014-04-30 23:43:59 -04:00
Armon Dadgar
250b8f2247
agent: Adding node UI endpoint
2014-04-30 23:43:59 -04:00
Armon Dadgar
c794dac7b1
agent: Adding nodes UI endpoint
2014-04-30 23:43:59 -04:00
Armon Dadgar
c6b326a362
agent: Redirect to UI if we have one
2014-04-30 23:43:58 -04:00
Armon Dadgar
ba69350cef
agent: Simplify serving of ui files
2014-04-30 23:43:57 -04:00
Armon Dadgar
6f833a5a73
agent: Improving UI file serving
2014-04-30 23:43:56 -04:00
Armon Dadgar
4983f66e75
agent: Adding endpoint to serve the UI
2014-04-30 23:43:56 -04:00
Armon Dadgar
32889c2f70
agent: Pass UiDir into the HTTP layer
2014-04-30 23:43:56 -04:00
Armon Dadgar
cb33d73ffe
Merge pull request #68 from hashicorp/f-consistency
...
Adding support for "stale" and "consistent" read modes
2014-04-21 15:55:31 -07:00
Armon Dadgar
48ce8e3e86
agent: Fix decoding of checks. Fixes #60
2014-04-21 15:02:36 -07:00
Armon Dadgar
53d3449947
agent: Remove wrapQuery, call setMeta directly
2014-04-21 12:40:11 -07:00
Armon Dadgar
4c039aa4d5
agent: Parse the consistency flags
2014-04-21 12:26:12 -07:00
Armon Dadgar
4f67ca5488
agent: Fixing similar deregister routing bug with checks
2014-04-18 10:56:00 -07:00
Armon Dadgar
f9fba3156b
agent: Fix service deregister routing
2014-04-18 10:54:18 -07:00
Jacques Fuentes
852a47fe37
Ensure we write json header before writing bytes
...
In net/http once we've issued a Write() the response is sent
over the wire including the header! The tests didn't catch
this because I used a net/http/httptest.RequestRecorder
which doesn't follow those semantics.
2014-04-17 14:53:07 -04:00
Jacques Fuentes
e83f723a66
HTTP: add content-type: application/json header
2014-04-17 14:38:14 -04:00
Armon Dadgar
5af036704d
agent: First pass at KVS endpoints
2014-03-31 17:12:10 -07:00
Armon Dadgar
4a2b7e5e39
agent: Use EnableDebug to control adding pprof HTTP endpoints
2014-03-19 17:50:57 -07:00
Armon Dadgar
500d2d2282
agent: RPC changes and blocking query support
2014-02-05 14:36:13 -08:00
Armon Dadgar
f3e30eb932
agent: Skeleton for HTTP based service/check registration
2014-01-30 14:58:36 -08:00
Armon Dadgar
61aa8d1eb1
Exposing the agent checks and services over HTTP endpoints
2014-01-20 15:00:52 -10:00
Armon Dadgar
a03a92cf3d
First pass at health endpoints
2014-01-10 15:13:37 -08:00
Armon Dadgar
fcee14ba43
Adding more HTTP endpoints
2014-01-03 17:15:51 -08:00
Armon Dadgar
c0d53a9d62
Adding DNS based node lookup
2014-01-02 17:58:58 -08:00
Armon Dadgar
c4744d11c8
Rename HTTP server method
2014-01-02 11:45:58 -08:00
Armon Dadgar
121a087c2c
Adding index page with 404 catchall
2013-12-24 17:09:51 -08:00
Armon Dadgar
ac15ca1139
Better error logging
2013-12-24 12:22:42 -08:00
Armon Dadgar
135c1d407c
Finish implementing the HTTP catalog interface
2013-12-24 11:55:14 -08:00
Armon Dadgar
851c4c8ed1
More HTTP endpoints
2013-12-23 16:20:51 -08:00
Armon Dadgar
a2d4197149
Adding catalog datacenter http methods
2013-12-23 14:26:34 -08:00
Armon Dadgar
5e7e23dc52
Working on Agent HTTP interface
2013-12-23 11:38:51 -08:00