Commit Graph

105 Commits

Author SHA1 Message Date
James Phillips 58fb27e70f Factors server error checking into a new function. 2016-01-06 11:35:16 -08:00
James Phillips c048c5aca6 Makes the API behave better with small wait values. 2016-01-06 11:05:11 -08:00
James Phillips 49342dc973 Makes the timeout behavior more intuitive.
Previously, it would try once "up to" the timeout, but in practice it would
just fall through. This modifies the behavior to block until the timeout has
been reached.
2016-01-06 09:40:20 -08:00
James Phillips ca08ba3aee Adds the ability for semaphore monitors to ride out brief periods of 500 errors. 2016-01-05 18:22:36 -08:00
James Phillips 8caa9e4c7e Adds "try" support to locks and semaphores. 2016-01-05 18:22:36 -08:00
James Phillips ebff3fe0d0 Builds the insecure SSL transport off the clean default transport. 2015-12-17 12:15:18 -08:00
Jeff Mitchell 4604af6aa5 Revert "Adds client and transport pooling in the API so we don't leak connections." 2015-12-17 10:56:50 -05:00
James Phillips f6546a0e46 Makes the insecure transport work like the default one. 2015-12-17 06:48:18 -08:00
James Phillips d57e60a123 Adds client and transport pooling in the API so we don't leak connections. 2015-12-16 22:27:07 -08:00
James Phillips 380658f6f1 Adds a unit test for lock monitor retries. 2015-11-30 20:16:40 -08:00
James Phillips c2a8fee76c Adds custom retry time for lock monitors. 2015-11-30 20:16:22 -08:00
James Phillips 86e6230de6 Adds a retry capability to lock monitors in the API client. 2015-11-30 17:09:41 -08:00
James Phillips 87ccd1eb34 Updates API docs for version 0.6.0. 2015-11-28 20:04:29 -08:00
Craig Wickesser 7890a3dda8 Fix version support
Updated the version that the library supports.
2015-11-23 13:03:38 -05:00
James Phillips 95c708f65e Adds Docker checks support to client API.
Also changed `DockerContainerId` to `DockerContainerID`, and updated the agent
API docs to reflect their support for Docker checks.
2015-11-18 07:40:02 -08:00
James Phillips 1059a8b3a3 Removes a useless empty import and fixes some stale comments. 2015-11-17 08:29:20 -08:00
James Phillips 8fc6a6a986 Switches to helpers for prepared query API wrappers. 2015-11-16 23:12:44 -08:00
James Phillips 712a3dba2f Adds API client support for prepared queries. 2015-11-15 17:06:00 -08:00
James Phillips 787f946f8d Adds support for coordinates to client API. 2015-10-23 15:23:01 -07:00
Mikhail Dyakov 01aba571a1 Handle error in api README example 2015-10-23 21:20:01 +02:00
Jeff Mitchell 1e3840b044 Update cleanhttp repo location 2015-10-22 14:14:22 -04:00
Jeff Mitchell 9a5fd5424a Use cleanhttp to get rid of DefaultTransport 2015-10-22 10:47:50 -04:00
James Phillips 2c36c4f969 Fixes a typo. 2015-10-15 14:59:09 -07:00
James Phillips 181c216f53 Fixes index management for KVS. 2015-10-15 14:59:09 -07:00
Jeff Mitchell f49fc095ef Don't use http.DefaultClient
Two of the changes are in tests; the one of consequence is in the API.
As explained in #1308 this can cause conflicts with downstream programs.

Fixes #1308.
2015-10-15 17:49:35 -04:00
James Phillips c74355fec0 Merge pull request #1041 from rboyer/api-fix-session-renew
Fix Session.Renew to care about 404s properly
2015-09-25 13:15:54 -07:00
Dale Wijnand 5a28ebcaa3 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
R.B. Boyer 8b072467eb Correct the Session.Renew{,Periodic} to handle session expiration better 2015-09-14 08:52:32 -05:00
Anthony Scalisi 10e028d599 remove various typos 2015-09-11 12:29:54 -07:00
Peter Fern b023904298 Add TCP check type
Adds the ability to simply check whether a TCP socket accepts
connections to determine if it is healthy.  This is a light-weight -
though less comprehensive than scripting - method of checking network
service health.

The check parameter `tcp` should be set to the `address:port`
combination for the service to be tested.  Supports both IPv6 and IPv4,
in the case of a hostname that resolves to both, connections will be
attempted via both protocol versions, with the first successful
connection returning a successful check result.

Example check:

```json
{
  "check": {
    "id": "ssh",
    "name": "SSH (TCP)",
    "tcp": "example.com:22",
    "interval": "10s"
  }
}
```
2015-07-24 14:06:05 +10:00
Robert Gogolok 2b8d0c4785 api: run ACL tests by default 2015-06-13 23:51:30 +02:00
James Phillips de29cb4968 Fixes a broken unit test introduced by #834. 2015-06-09 12:01:20 -07:00
Armon Dadgar c2f8f954e2 Merge pull request #1008 from highlyunavailable/master
Check to see why a lock acquisition failed
2015-06-09 07:59:28 -04:00
Ryan Uber 20a2d19198 Merge pull request #834 from apoydence/master
Returns an error for a key with a '/'
2015-06-05 15:23:57 -07:00
Tiru Srikantha 3d97ea0bae Check to see why a lock acquisition failed 2015-06-05 13:23:23 -07:00
highlyunavailable 16de0a909b Remove unused DefaultSemaphoreRetryTime
Fixes #932

DefaultSemaphoreRetryTime is actually unused, unlike DefaultLockRetryTime.
2015-05-15 08:25:02 -07:00
Armon Dadgar dc6795a55a api: improve test reliability 2015-05-12 12:10:25 -07:00
Ryan Uber 72ee584df3 Fix tests after merge 2015-05-11 18:53:09 -07:00
Armon Dadgar 8d86290ebf Fixing merge conflict 2015-05-11 16:48:10 -07:00
Armon Dadgar db134f6190 Merge pull request #912 from rojojo23/renew-periodic
modify RenewPeriodic to retry failed Renew until TTL elapses
2015-05-08 11:38:51 -07:00
Ryan Uber 565cac0340 api: run tests in parallel 2015-05-08 10:27:24 -07:00
Robert Johnson 379a69d7a4 modify RenewPeriodic to retry failed Renews until TTL elapses 2015-05-06 16:40:45 -07:00
Armon Dadgar 5921fcb29b api: Fixing test compilation issue 2015-05-04 15:27:22 -07:00
Armon Dadgar 0450854f12 Merge pull request #861 from fraenkel/reclaim_lock
Reclaim locks
2015-05-04 15:23:29 -07:00
Michael Fraenkel 0e25381494 Reclaim locks
- When attempting to lock with the same session that already owns the lock,
  Lock() will re-acquire the lock.
2015-04-29 10:10:24 -07:00
Ryan Mills 275af975e8 Allow specifying a status field in the agent/service/register and agent/check/register endpoints.
This status must be one of the valid check statuses: 'passing', 'warning', 'critical', 'unknown'.
If the status field is not present or the empty string, the default of 'critical' is used.
2015-04-12 02:00:31 +00:00
Andrew Poydence b5f6451e74 Returns an error for a key with a '/' 2015-03-31 21:08:06 -06:00
Ryan Uber fa7414e276 testutil: Use HTTPAddr 2015-03-19 17:03:07 -07:00
Ryan Uber 78f9f53bf1 testutil: exposing the API address from the test server 2015-03-19 17:03:06 -07:00
Ryan Uber 37f6301856 testutil: initial pass at moving test server harness into testutil 2015-03-19 17:03:06 -07:00