Commit Graph

1067 Commits

Author SHA1 Message Date
Sean Chittenden c470553b6b Factor out duplicate functions into a lib package
Consolidate code duplication and tests into a single lib package.  Most of these functions were from various **/util.go functions that couldn't be imported due to cyclic imports.  The consul/lib package is intended to be a terminal node in an import DAG and a place to stash various consul-only helper functions.  Pulled in hashicorp/go-uuid instead of consolidating UUID access.
2016-01-29 16:57:45 -08:00
Nate Brown 541a98c9c7 Option to disable hostnames from telemetry 2016-01-29 13:44:48 -08:00
Ryan Slade 37c7a0e006 Updated invalid check error message.
Added some of the newer reasons this error could have occured.
2016-01-28 11:02:00 +02:00
James Phillips 0fcdd37107 Fixes the static asset generator for new pkg path, updates assets. 2016-01-15 10:21:42 -08:00
Seth Vargo dc9131a732 Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
James Phillips b21ef7330f Merge pull request #1592 from hashicorp/b-reap
Adds support for the reap lock.
2016-01-13 09:37:54 -08:00
James Phillips d22fe5ba62 Adds support for the reap lock. 2016-01-12 21:10:25 -08:00
Matt McCoy f8a6b6db83 Add consul agent help for advertise-wan 2016-01-11 14:27:54 -05:00
James Phillips df361afed5 Merge pull request #1550 from hashicorp/f-devmode
Add a `-dev` mode for easy prototyping
2016-01-05 10:01:41 -08:00
Philippe M. Chiasson e308bc3733 remove address splitting 2016-01-05 11:49:40 -05:00
Philippe M. Chiasson 6f316138d3 Move logged client IP to the end of the log message 2015-12-30 15:39:34 -05:00
Philippe M. Chiasson 8e938d4d38 Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs 2015-12-30 15:38:30 -05:00
Ryan Uber f37c0facbe agent: enable ui for dev mode 2015-12-26 20:39:42 -05:00
Ryan Uber ce4cf8a542 consul: dev mode works 2015-12-26 20:19:36 -05:00
Ryan Uber b04510f934 agent: update assetfs output 2015-12-24 22:21:34 -05:00
Ryan Uber 52ad989405 agent: static UI is configurable 2015-12-24 22:21:34 -05:00
Ryan Uber 86f76205aa agent: initial web assets 2015-12-24 22:21:34 -05:00
Ryan Uber a262115679 agent: compile web assets into consul binary 2015-12-24 22:21:34 -05:00
Philippe M. Chiasson b8f8861d97 Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs 2015-12-22 14:55:18 -05:00
James Phillips 4dd7a5fbaa Adds a Bool helper function. 2015-12-22 10:43:32 -08:00
James Phillips d71036c4f0 Moves logger down where it's used for reaping. 2015-12-22 10:29:55 -08:00
James Phillips e1d456a079 Changes sense of option to "reap" and uses nil for "not set". 2015-12-22 10:28:10 -08:00
James Phillips 1e4aa28c9d Adds child process reaping when Consul is running as PID 1. 2015-12-21 21:47:35 -08:00
James Phillips 874d491ade Converts the DNS metric to a gauge which gives us a count and a time. 2015-12-21 18:25:09 -08:00
James Phillips 9e0ac674c3 Adds telemetry on number of DNS queries served, per-agent. 2015-12-21 17:01:28 -08:00
WangFenjin dcecbf4653 Fix typo 2015-12-08 17:45:01 +08:00
James Phillips b87aeec4e1 Removes the GOMAXPROCS warnings which are obsolete for Go 1.5+. 2015-11-25 17:59:16 -08:00
Philippe M. Chiasson 396df9a0c1 Add client ip to http access logs
Fixes #1447
2015-11-24 15:06:33 -05:00
James Phillips 23536f2b97 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 573f48ed3d Breaks up huge HTTP endpoint functions. 2015-11-17 09:16:04 -08:00
James Phillips a364a02da6 Avoids taking the length again when parsing DNS queries. 2015-11-17 08:40:47 -08:00
James Phillips a1e02996e5 Moves conversion of nil slices up to HTTP layer for prepared queries. 2015-11-15 17:06:00 -08:00
James Phillips 267c352c6d Adds a test to make sure a stale retry terminates. 2015-11-15 17:06:00 -08:00
James Phillips e6ccf5b9ed Returns a 404 from a get or execute of a nonexistent query. 2015-11-15 17:06:00 -08:00
James Phillips c9ef552385 Plumbs the service name back and uses agent-specific TTL settings as a fallback. 2015-11-15 17:06:00 -08:00
James Phillips cad6938474 Adds unit tests for prepared queries and DNS, using existing tests for equivalence. 2015-11-15 17:06:00 -08:00
James Phillips f9c91479ef Adds DNS support for prepared queries (needs tests). 2015-11-15 17:06:00 -08:00
James Phillips 38daaea503 Adds a slightly more flexible mock system so we can test DNS. 2015-11-15 17:06:00 -08:00
James Phillips 978fb443a7 Adds a note about obfuscating query name/ID from the logs. 2015-11-15 17:06:00 -08:00
James Phillips 124410b66c Adds an HTTP endpoint for prepared queries. 2015-11-15 17:06:00 -08:00
James Phillips a33e35fcce Moves DNS over to new shuffle and filter functions. 2015-11-15 17:06:00 -08:00
James Phillips 763d5ea8a7 Fixes nil slices from HTTP endpoints.
These would manifest in the HTTP output as Javascript nulls instead of
empty lists, so we had unintentionally changed the interface while
porting to the new state store. We added code to each HTTP endpoint to
convert nil slices to empty ones so they JSON-ify properly, and we added
tests to catch this in the future.
2015-11-14 21:05:37 -08:00
James Phillips a384baf671 Merge pull request #1293 from talwai/master
Add options to send telemetry to DogStatsD
2015-11-13 09:51:50 -08:00
talwai 01ccad69a1 Kill unused import in command.go 2015-11-13 11:14:15 -05:00
James Phillips 67408fe477 Fixes unit test fail due to expected truncated message. 2015-11-12 18:16:44 -08:00
talwai e6e842d9e7 Add DogStatsd configuration 2015-11-11 14:30:36 -05:00
James Phillips 9107521c17 Fixes a go vet finding. 2015-10-29 12:47:20 -07:00
James Phillips eb4bfa3411 Prevents agents from considering Raft information when doing sync checks. 2015-10-28 14:32:00 -07:00
James Phillips c1305a08ea Makes the version upshift code look at the correct version field. 2015-10-27 14:44:34 -07:00
Diptanu Choudhury 3b5eefb713 Merge pull request #1343 from hashicorp/f-docker-check
Docker Support for Consul Health Checks
2015-10-26 21:00:48 -07:00
Diptanu Choudhury fb0cae7320 Forcing the Env variable to empty while testing the default shell logic 2015-10-26 20:35:13 -07:00
Diptanu Choudhury 9070d12b2f Added a test for selecting shell from env 2015-10-26 20:21:50 -07:00
Diptanu Choudhury 8af6ac8f16 Making an explicit check to test whether a check is of type Monitor 2015-10-26 19:52:32 -07:00
Diptanu Choudhury f8a03508ad Fixed the tests 2015-10-26 18:20:02 -07:00
Diptanu Choudhury 15ff470a79 Added a test to check if we are properly truncating docker exec outputs 2015-10-26 18:06:55 -07:00
Diptanu Choudhury 709b518d03 Added a test for exit code 1 with docker exec 2015-10-26 16:58:09 -07:00
Diptanu Choudhury c8c08586f0 Fixed the Fake Docker client to simulate Exec start failures 2015-10-26 16:54:51 -07:00
Diptanu Choudhury fd6d57ccac Not adding the docker check if we couldn't create the client 2015-10-26 16:45:12 -07:00
Diptanu Choudhury 210b968037 Making sure the script is not empty if it's a docker check 2015-10-26 16:27:48 -07:00
Diptanu Choudhury 0a657b2602 Updated the comment for CheckType 2015-10-26 15:28:13 -07:00
Diptanu Choudhury 2276ebc978 Collect and truncate the output from docker exec 2015-10-26 15:19:35 -07:00
Diptanu Choudhury 0de0abcaec Defaulting to Monitor check 2015-10-26 15:02:23 -07:00
Diptanu Choudhury d2bd1b0c3f Extracted the logic of figuring out the shell and fixing the logic to find out if the check is a Docker check 2015-10-26 15:00:34 -07:00
Diptanu Choudhury f445318732 Added some tests for docker check 2015-10-26 12:59:40 -07:00
James Phillips b50b0a8526 Merge pull request #1296 from hashicorp/f-fast-sync
agent: remove an N^2 check. See #1265
2015-10-26 11:37:52 -07:00
Diptanu Choudhury d478fa9470 Marking the state of a service as critical if the Docker Daemon doesn't respond while running checks 2015-10-26 11:16:11 -07:00
Diptanu Choudhury b35836fdad Adding a debug log to indicate the exit code of failed check 2015-10-26 10:35:51 -07:00
Diptanu Choudhury 1b1518512c Registering the Exec with Docker Daemon everytime the check is invoked 2015-10-26 10:23:57 -07:00
Diptanu Choudhury c4b85010fb Implemented Docker health checks 2015-10-26 10:23:57 -07:00
James Phillips 2a51d55ce3 Runs go fmt (sorts new go-cleanhttp imports). 2015-10-23 17:14:35 -07:00
James Phillips b91e2d3a97 Completes rebase of network coordinates to new memdb. 2015-10-23 15:23:01 -07:00
James Phillips aea2194ce3 Makes the default protocol 2 and lets 3 interoperate with 2. 2015-10-23 15:23:01 -07:00
James Phillips baa223ab4a Runs go fmt after latest rebase. 2015-10-23 15:23:01 -07:00
James Phillips 8e67c37398 Adds a test for the `DisableCoordinate` config. 2015-10-23 15:23:01 -07:00
James Phillips 3f11bfaea4 Adds coordinate of agent to self endpoint. 2015-10-23 15:23:01 -07:00
James Phillips a74bdcba49 Moves sorting up into coordinate endpoint HTTP handlers. 2015-10-23 15:23:01 -07:00
James Phillips 0e7d5871c5 Installs a friendly handler for coordinate endpoints when coordinates are disabled. 2015-10-23 15:23:01 -07:00
James Phillips def8c6087d Fixes config merge fn for disabling coordinates and adds it to JSON. 2015-10-23 15:23:01 -07:00
James Phillips a2bcef00a0 Adds endpoints for raw network coordinates. 2015-10-23 15:23:01 -07:00
James Phillips fecd639b02 Changes ?near=self to a safer ?near=_agent, which is also clearer about what it does. 2015-10-23 15:23:01 -07:00
James Phillips ee1cf1e13b Adds distance sorting to health endpoint. Cleans up unit tests. 2015-10-23 15:23:01 -07:00
James Phillips 1724b9a6be Adds a magic "self" node name to distance queries. 2015-10-23 15:23:01 -07:00
James Phillips 59b710894d Adds tests for HTTP interface. Removes a stray mark. 2015-10-23 15:23:01 -07:00
James Phillips b63909cf67 Adds coordinate sorting support to catalog queries for nodes and service nodes. 2015-10-23 15:23:01 -07:00
James Phillips d7bac0e808 Turns down the coordinate sync rate a bit more. 2015-10-23 15:23:01 -07:00
James Phillips 9ba9a708f6 Scales coordinate sends to hit a fixed aggregate rate across the cluster. 2015-10-23 15:23:01 -07:00
James Phillips d8b8a3719f Simplifies the batching function and adds some comments. 2015-10-23 15:23:01 -07:00
James Phillips f71c79c53f Does some small cleanups based on PR feedback.
* Holds coordinate updates in map and gets rid of the update channel.
* Cleans up config variables a bit.
2015-10-23 15:23:01 -07:00
James Phillips 1222772452 Hardens Consul from bad coordinates from other nodes. 2015-10-23 15:23:01 -07:00
James Phillips acb0dce829 Moves batching down into the state store and changes it to fail-fast.
* A batch of updates is done all in a single transaction.
* We no longer need to get an update to kick things, there's a periodic flush.
* If incoming updates overwhelm the configured flush rate they will be dumped with an error.
2015-10-23 15:23:01 -07:00
James Phillips b6c31bdf2f Flips the sense of the coordinate enable option. 2015-10-23 15:23:01 -07:00
James Phillips 9c069c5031 Removes one more WAN leftover. 2015-10-23 15:23:01 -07:00
James Phillips edb9a119e2 Does a clean up pass on the Consul side. 2015-10-23 15:23:01 -07:00
James Phillips ac4185b888 Merges config changes after rebase. 2015-10-23 15:23:01 -07:00
Derek Chiang 139c9240ea Address comments 2015-10-23 15:23:01 -07:00
Derek Chiang 840474f170 Add a test case 2015-10-23 15:23:01 -07:00
Derek Chiang 23c08aeeb4 Use IndexedCoordinate instead 2015-10-23 15:23:01 -07:00
Derek Chiang 530e73212a Some fixes 2015-10-23 15:23:01 -07:00
Derek Chiang 2ef802b8b3 Fix a comment 2015-10-23 15:23:01 -07:00
Derek Chiang b2cff43bb5 Complete logic for sending coordinates 2015-10-23 15:23:01 -07:00
Derek Chiang 66b210afcb Some fixes 2015-10-23 15:23:01 -07:00
Derek Chiang b5bbe2bcfa Adding tests and stuff 2015-10-23 15:23:01 -07:00
Armon Dadgar d035dbd43b Merge pull request #1318 from daveadams/f-http-header-token
Allow specifying Consul token in an HTTP request header
2015-10-22 13:33:47 -07:00
Jeff Mitchell 9267f956a2 Update cleanhttp repo location 2015-10-22 14:14:22 -04:00
Jeff Mitchell 06bb9d5f36 Use cleanhttp to get rid of DefaultTransport 2015-10-22 10:47:50 -04:00
David Adams 5f175add40 Add HTTP request header X-Consul-Token
Add support for an X-Consul-Token HTTP request header to specify the
token with which this request should be fulfilled. The header would have
precedence over the responding Agent's default token, but would have
lower precedence than a token specified in the query string.
2015-10-19 11:26:01 -05:00
James Phillips 263c7e3fd3 Deletes the old state store and all its accoutrements. 2015-10-15 14:59:09 -07:00
James Phillips bcdabe4606 Knocks out the Raft indexes before doing compare. 2015-10-15 14:59:09 -07:00
James Phillips cbcd977a39 Gets new structs changes to compile, adds some corner case handling and extra unit tests. 2015-10-15 14:59:09 -07:00
Ryan Uber b46f878747 Merge pull request #1309 from hashicorp/f-remove-migrate
Removes consul-migrate for 0.6
2015-10-15 14:50:19 -07:00
Jeff Mitchell 9cddc187b5 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
Ryan Uber aba1b26015 agent: consolidates data dir checker 2015-10-15 14:21:35 -07:00
Ryan Uber 8bc51eb237 agent: test mdb dir protection 2015-10-15 14:15:41 -07:00
Ryan Uber 2a7609d6bc agent: remove migrator, refuse to start if mdb dir found 2015-10-15 14:15:08 -07:00
Armon Dadgar 0b77960349 agent: remove an N^2 check. See #1265 2015-10-12 20:30:11 -07:00
Michael Puncel a94589ad67 Add http method to log output 2015-10-02 18:33:06 -07:00
James Phillips 26eadcd95c Merge pull request #1235 from wuub/master
fix conflict between handleReload and antiEntropy critical sections
2015-09-17 07:28:39 -07:00
Wojciech Bederski 9a1b52171f panic when unbalanced localState.Resume() is detected 2015-09-17 11:32:08 +02:00
Dale Wijnand c5168e1263 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
James Phillips b25797a808 Merge pull request #1187 from sfncook/enable_tag_drift_03
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi 8d733b7fca remove various typos 2015-09-11 12:29:54 -07:00
Wojciech Bederski 4cd1b09ad7 make Pause()/Resume()/isPaused() behave more like a semaphore
see: https://github.com/hashicorp/consul/issues/1173 #1173

Reasoning: somewhere during consul development Pause()/Resume() and
PauseSync()/ResumeSync() were added to protect larger changes to
agent's localState.  A few of the places that it tries to protect are:

- (a *Agent) AddService(...)      # part of the method
- (c *Command) handleReload(...)  # almost the whole method
- (l *localState) antiEntropy(...)# isPaused() prevents syncChanges()

The main problem is, that in the middle of handleReload(...)'s
critical section it indirectly (loadServices()) calls  AddService(...).
AddService() in turn calls Pause() to protect itself against
syncChanges(). At the end of AddService() a defered call to Resume() is
made.

With the current implementation, this releases
isPaused() "lock" in the middle of handleReload() allowing antiEntropy
to kick in while configuration reload is still in progress.
Specifically almost all services and probably all check are unloaded
when syncChanges() is allowed to run.

This in turn can causes massive service/check de-/re-registration,
and since checks are by default registered in the critical state,
a majority of services on a node can be marked as failing.
It's made worse with automation, often calling `consul reload` in close
proximity on many nodes in the cluster.

This change basically turns Pause()/Resume() into P()/V() of
a garden-variety semaphore. Allowing Pause() to be called multiple times,
and releasing isPaused() only after all matching/defered Resumes() are
called as well.

TODO/NOTE: as with many semaphore implementations, it might be reasonable
to panic() if l.paused ever becomes negative.
2015-09-11 18:28:06 +02:00
Wojciech Bederski 24ac26b3c1 failing test showing that nested Pause()/Resume() release too early
see: #1173 / https://github.com/hashicorp/consul/issues/1173
2015-09-11 17:52:57 +02:00
Shawn Cook 99be758411 Rename EnableTagOverride and update formatting 2015-09-11 08:35:29 -07:00
Shawn Cook f448a62826 Remove debug lines 2015-09-11 08:32:59 -07:00
Shawn Cook 2f04917261 Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03 2015-09-10 14:55:30 -07:00
Shawn Cook 8a86eee9fb Add test cases TestAgentAntiEntropy_EnableTagDrift 2015-09-10 14:08:16 -07:00
Ryan Uber 08d12e978f Merge pull request #1230 from hashicorp/f-maintfix
Respect tokens in maintenance mode
2015-09-10 12:30:07 -07:00
Ryan Uber 948bd57d6a agent: testing node/service maintenance using tokens 2015-09-10 12:08:08 -07:00
Ryan Uber e129a59316 agent: thread tokens through for maintenance mode 2015-09-10 11:43:59 -07:00
Wim 3d7c3725d8 Allow AAAA queries for nodeLookup 2015-09-08 16:54:36 +02:00
Wim 2336c6a4bd No NXDOMAIN when the answer is empty 2015-09-02 16:12:22 +02:00
Ryan Breen a013095f62 Merge pull request #1167 from railsguru/master
Add -http-port option to change the HTTP API port
2015-09-02 01:15:55 -04:00
Armon Dadgar 655666170a agent: Always enable the UI endpoints 2015-09-01 18:28:32 -07:00
Wim e97973c1e1 Limit the DNS responses after getting the NodeRecords 2015-09-01 23:23:05 +02:00
Ryan Breen 56d2fa4c17 Merge pull request #1195 from 42wim/fix-rfc2308-part2
Return SOA/NXDOMAIN when the answer is empty
2015-09-01 17:08:31 -04:00
Wim b806aceef4 Return SOA/not found when the answer is empty 2015-09-01 22:28:12 +02:00
Ryan Uber d6b71de3f4 agent: reload SCADA client if endpoint changes 2015-08-27 13:29:07 -07:00
Ryan Uber 5bd7a5f239 command: atlas endpoint can be passed 2015-08-27 11:11:05 -07:00
Ryan Uber cda2bf6975 agent: atlas_endpoint is configurable 2015-08-27 11:08:01 -07:00
Ryan Uber 00d78963bf agent: log a message when making a new scada connection 2015-08-25 21:03:16 -07:00
Ryan Uber 33cadcf925 agent: don't reload scada client if there is no config change 2015-08-25 20:43:57 -07:00
Ryan Uber 8eea77d58f agent: testing scada client creation in command 2015-08-25 20:22:22 -07:00
Ryan Uber 495cc41ba4 agent: test scada HTTP server creation 2015-08-25 18:51:04 -07:00
Ryan Uber e3cd2f2c0d agent: clean up scada connection manager 2015-08-25 18:27:07 -07:00
Ryan Uber bc96c14a6f agent: document the scada http creation func 2015-08-25 17:19:11 -07:00
Ryan Uber 1378fd93b0 agent: scada client and HTTP server are tracked separately 2015-08-25 16:59:53 -07:00
Andy Lo-A-Foe 325b54649a Remove duplicate code 2015-08-20 20:46:20 +02:00
Andy Lo-A-Foe 3d133ab78c Use Ports.HTTP directly 2015-08-20 20:27:20 +02:00
Andy Lo-A-Foe 7e2ecf6a3c Add documentation for http-port option 2015-08-20 20:19:35 +02:00
Shawn Cook 854ff1eb41 Add EnableTagDrift logic to command/agent/local.go 2015-08-18 14:03:48 -07:00
Shawn Cook 3a740ac07b Remove from command/agent/config_test.go 2015-08-18 10:42:25 -07:00
Shawn Cook f6814c89ed EnableTagDrift in NodeService struct 2015-08-18 10:34:55 -07:00
Ryan Uber 07299a61dc agent: log network address of DNS clients 2015-08-11 10:33:27 -07:00
Andy Lo-A-Foe 7a3da7db26 Add -http-port option to change the HTTP API port
This is useful when pushing consul to PaaS like
Cloud Foundry making the HTTP API easily routable.
2015-08-11 14:14:21 +02:00
Ryan Breen b13ba78651 Merge pull request #1143 from hashicorp/GH-1142
Check NXDOMAIN after filtering nodes
2015-07-29 18:56:08 -04:00
Ryan Breen 20f17a0cc8 Test for GH-1142. 2015-07-29 18:21:16 -04:00
Armon Dadgar 0a853bca2e Merge pull request #1137 from 42wim/fix-1124
Recurse when PTR answer is empty
2015-07-29 14:39:04 -07:00
Ryan Breen dbb5ad1316 Check NXDOMAIN after filtering nodes
Move the check for NXDOMAIN below the service health filter.
2015-07-29 17:16:48 -04:00
Ryan Uber 6e38497ce9 Merge pull request #1141 from hashicorp/f-travis
Try moving to newer Travis-CI infrastructure
2015-07-28 10:42:56 -07:00
Ryan Uber f48bc65e62 travis-ci: skip syslog tests for container-based travis infra 2015-07-28 09:58:43 -07:00
Wim a6734ab4b8 Recurse when PTR answer is empty 2015-07-27 23:22:36 +02:00
Armon Dadgar 2017c95d13 Merge pull request #1130 from pdf/check_socket
Add Socket check type
2015-07-27 14:21:24 -07:00
Ryan Uber 6d38027689 Merge pull request #1090 from hashicorp/f-keyring-acl
Keyring ACLs
2015-07-24 10:23:18 -07:00
Peter Fern 86edd7169c 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
Ryan Uber a339ca19a6 agent: disable ACLs for RPC client tests 2015-07-23 17:09:33 -07:00
Ryan Uber f424f94d45 agent: vet fixes 2015-07-14 11:42:51 -07:00
Ryan Uber 8e834ba976 Merge pull request #995 from 42wim/rfc2308-soa-ttl
Send SOA with negative responses (RFC2308)
2015-07-13 08:49:25 -07:00
Ryan Uber 0a09b11cba agent: testing keyring ACLs 2015-07-07 15:14:06 -06:00
Ryan Uber e764eb62bd agent: write-level keyring ACLs work 2015-07-07 10:36:51 -06:00
Ryan Uber 665551a182 agent: read-level keyring ACLs work 2015-07-07 10:30:34 -06:00
Ryan Uber 503fa1eed1 Merge pull request #1046 from hashicorp/f-event-acl
Event ACLs
2015-07-02 07:02:07 -07:00
Ryan Uber 715f69cce8 Merge pull request #1004 from i0rek/advertise_addrs
Add advertise_addrs.
2015-06-23 12:32:07 -07:00
Hans Hasselberg 4598087df3 Implement advertise_addrs for SerfLan, SerfWan and RPC.
Fixes #550.
This will make it possible to configure the advertised adresses for
SerfLan, SerfWan and RPC. It will enable multiple consul clients on a
single host which is very useful in a container environment.

This option might override advertise_addr and advertise_addr_wan
depending on the configuration.

It will be configureable with advertise_addrs. Example:

{
  "advertise_addrs": {
    "serf_lan": "10.0.120.91:4424",
    "serf_wan": "201.20.10.61:4423",
    "rpc": "10.20.10.61:4424"
  }
}
2015-06-23 21:23:45 +02:00
Ryan Uber 5c9cf8cc69 agent: avoid masking errors when ACLs deny a request 2015-06-18 18:13:29 -07:00
Ryan Uber 4a95f29e03 agent: testing user event endpoint ACLs 2015-06-18 18:13:29 -07:00
Ryan Uber e6923a4832 consul: always fire events from server nodes 2015-06-18 18:13:29 -07:00
Ryan Uber 713f1781c8 agent: enforce event policy during event fire 2015-06-18 18:13:29 -07:00
Wim e70e57a0dc Send SOA with negative responses 2015-06-14 00:03:44 +02:00
Ryan Uber b7674a2d35 Merge pull request #1028 from sebastianmarkow/master
Remove unreachable error handling in AgentRPC.listen()
2015-06-12 22:28:10 -07:00
Ryan Uber b2556bd4d0 agent: testing dns when acls are in use 2015-06-12 16:01:57 -07:00
Ryan Uber 48cb636e8d agent: dns uses the configured token during queries 2015-06-12 16:01:57 -07:00
Sebastian Klatt 34611c8599
consul: Remove unreachable error handling 2015-06-12 20:21:32 +02:00
Ryan Uber 47073c87c1 agent: don't replace empty tokens in the logs, fixes #1020 2015-06-12 00:11:37 -07:00
Ryan Uber b5fff74c8a agent: fix failing test 2015-06-11 15:13:10 -07:00
Ryan Uber e4f937f71d agent: use persist/load/purge convention for function names 2015-06-08 09:35:10 -07:00
Ryan Uber 08a12ffd5b agent: test check state restoration from AddCheck 2015-06-05 17:33:34 -07:00
Ryan Uber bd448d27fe agent: check state is purged if expired 2015-06-05 16:59:41 -07:00
Ryan Uber 7d8993e0f0 agent: purge check state when checks are deregistered 2015-06-05 16:57:14 -07:00
Ryan Uber 8c9facbff0 agent: testing state persistence, recovery, and expiration 2015-06-05 16:45:05 -07:00
Ryan Uber f1eb739949 agent: first stab at persisting check state 2015-06-05 16:17:07 -07:00
Ryan Uber 7e82b3c32c agent: refactor loadChecks/loadServices, fixes a few minor bugs 2015-06-04 14:33:30 -07:00
Ryan Uber 359abdb9a8 agent: don't replace config on SIGHUP if parsing fails 2015-05-30 22:50:24 -07:00
Emil Hessman c746d218f4 command/agent: skip unix file permissions test on windows 2015-05-29 21:12:45 +02:00
Ryan Uber b5cd115795 agent: flush progress info to console during migrations 2015-05-19 18:47:44 -07:00
Anton Lindström 74dd2270af Set the User Agent for HTTP health checks 2015-05-18 19:12:10 +02:00
Ryan Uber 704f6343c3 agent: log a message when data migrations start 2015-05-12 12:58:44 -07:00
Ryan Uber 3ce3c663ad Fix tests after merge 2015-05-11 18:53:09 -07:00
Armon Dadgar 430100a0c8 Merge pull request #927 from hashicorp/f-tls
Add new `verify_server_hostname` to mitigate possibility of MITM
2015-05-11 18:15:16 -07:00
Armon Dadgar f797130228 Fixing merge conflict 2015-05-11 16:48:10 -07:00
Armon Dadgar 1952083354 agent: copy config into consul config 2015-05-11 15:16:13 -07:00
Armon Dadgar c8fb9ab369 agent: Adding new VerifyHostname config 2015-05-11 15:13:58 -07:00
Cameron Ruatta 0b9bc7d2f5 Adding documentation about specifying multiple configuration directories 2015-05-11 10:19:04 -07:00
Ryan Uber d0a28482ff agent: use service ID field to determine associated health checks during deregister 2015-05-07 15:30:01 -07:00
Ryan Uber e7b00723f4 agent: restore check status when re-registering (updating) services 2015-05-06 12:28:42 -07:00
Armon Dadgar e474e34528 Merge pull request #909 from hashicorp/f-create
Support ACL upsert behavior
2015-05-06 11:22:11 -07:00
Ryan Uber ed067fd03c agent: allow persisted services to be updated on disk 2015-05-05 22:36:45 -07:00
Ryan Uber 9acc42b86e Merge pull request #891 from hashicorp/f-token
ACL tokens for service/check registration
2015-05-05 22:17:31 -07:00
Armon Dadgar b0fb010c2d agent: Support ACL upserting 2015-05-05 19:25:10 -07:00
Armon Dadgar c457b6cb75 agent: Adding test for DNS enable_truncate 2015-05-05 14:14:41 -07:00
Armon Dadgar 0e9718247d command/agent: Lowercase DC. Fixes #761 2015-05-05 13:56:37 -07:00
Ryan Uber 3c577a0069 agent: use an additional parameter for passing tokens 2015-05-04 17:48:05 -07:00
Armon Dadgar efaed93b91 Merge pull request #816 from pepov/master
Support different advertise address for WAN gossip
2015-05-04 15:40:25 -07:00
Armon Dadgar bcaca06650 Merge pull request #902 from hashicorp/f-stats-prefix
Allow configuring the stats prefix
2015-05-04 15:19:47 -07:00
Armon Dadgar 9498aa9a78 Merge pull request #862 from hashicorp/f-recurse-cname
Return all CNAME's during service DNS resolution
2015-05-04 15:19:13 -07:00
Ryan Uber 94f0834d8f agent: allow configuring the stats prefix 2015-05-03 16:46:20 -07:00
Ryan Uber 2496a70452 agent: more tests 2015-04-28 13:06:02 -07:00
Ryan Uber 67e9a04f48 agent: restore tokens for services and checks in config 2015-04-28 12:44:46 -07:00
Ryan Uber 802b4793df agent: backwards compat for persisted services from pre-0.5.1 2015-04-28 12:18:41 -07:00
Ryan Uber f069db21e3 agent: safer read methods for tokens 2015-04-28 11:53:53 -07:00
Ryan Uber 54b5f17629 agent: test coverage loading service/check tokens from persisted files 2015-04-27 22:46:01 -07:00
Ryan Uber 23eab5ebcc agent: fix deadlock reading tokens from state 2015-04-27 22:26:03 -07:00
Ryan Uber 75d182296f agent: add service/check token methods to reduce invasiveness 2015-04-27 22:01:01 -07:00
Ryan Uber 30f6f1142e agent: persist tokens from API registrations 2015-04-27 19:01:02 -07:00
Ryan Uber 545f3db3fe agent: initial pass threading through tokens for services/checks 2015-04-27 18:33:46 -07:00
artushin 68cb8fda58 remove config 2015-04-24 09:51:40 -05:00
artushin 88bfdd45ef use existing randomStagger 2015-04-23 17:08:17 -05:00
artushin 1ebc1cf916 add CheckUpdateStagger to MergeConfig 2015-04-23 16:56:20 -05:00
artushin 1e13acba68 adding check_update_stagger 2015-04-23 16:27:42 -05:00
Ryan Uber cd65aaa2e0 agent: re-work DNS tests to not rely on the external network 2015-04-14 12:52:26 -07:00
Ryan Uber ed4de526f1 agent: pass through CNAME types for service resolution 2015-04-14 12:52:26 -07:00
Ryan Uber 05194033f8 agent: Add test for CNAME recursion 2015-04-14 12:52:26 -07:00
Ryan Uber 34fc9a37fd agent: parse raw query URL to avoid closing the request body early 2015-04-13 17:31:53 -07:00
Ryan Uber adbc5c92c6 agent: hide tokens from logs and monitor 2015-04-12 11:17:31 -07:00
Ryan Mills 370853d7ff 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
Ryan Uber 1fad389f23 agent: Don't attempt migration on new server 2015-04-10 19:41:09 -07:00
Ryan Uber 8ebee678cc Merge pull request #857 from hashicorp/f-boltdb
Raft uses BoltDB
2015-04-10 18:30:07 -07:00
Ryan Uber 8af963348c agent: handle nil node services in anti-entropy 2015-04-10 11:15:31 -07:00
Ryan Uber 4f4f5fa7d5 command: automatically migrate raft data on start 2015-04-09 23:00:20 -07:00
Ryan Uber c3820b4c28 agent: fix anti-entropy check sync 2015-04-09 10:40:05 -07:00
Ryan Uber a49fe8931a agent: test anti-entropy sync 2015-04-08 12:36:53 -07:00
Ryan Uber 80a6d7caca agent: anti-entropy sync services/checks if they don't exist in the catalog 2015-04-08 12:21:01 -07:00
Ryan Uber 4d950f91cb agent: fix dns test 2015-04-01 10:58:05 -07:00
Matt Good 755522fa48 Remove unnecessary DNS test entry
By using the startup callbacks, the DNS test entry is not needed to check that
the server is alive.
2015-03-31 16:50:44 -07:00
Matt Good f5d27daf63 Use DNS server startup callbacks
Simplify waiting for the DNS server to start with the newer "NotifyStartedFunc"
callback.
2015-03-31 16:48:48 -07:00
pepov 8da6d4f065 add and test -advertise-wan cli flag 2015-03-28 16:08:19 +01:00
pepov 0a04003e16 add AdvertiseAddrWan to TestMergeConfig and use different values for Addr values in b than in a 2015-03-28 16:08:19 +01:00
pepov e66301ab99 Add configuration option to specify a separate address for advertising on the wan 2015-03-28 16:08:19 +01:00
Michael Fraenkel c00c4ebaaa Support SesionTTLMin configuration
- Allow setting SessionTTLMin
- Validate on the Server
2015-03-27 05:13:57 -07:00
Johannes 'fish' Ziemke 78cde71a22 Add -domain command line flag to agent
This makes it possible to configure the domain on the command line
additionally to the config file.
2015-03-20 16:05:41 +01:00
Ryan Uber 589a4cc4c7 agent: disable HTTP keepalives for checks 2015-03-15 13:30:50 -07:00
Ryan Uber 66d89ab4df agent: warn and purge checks which cannot be restored from agent state 2015-03-11 16:13:31 -07:00
Ryan Uber 9441b46116 Merge pull request #723 from hashicorp/f-agent-block
Block until service/check sync is attempted from /v1/agent API's
2015-02-23 10:56:41 -08:00
Ryan Uber f7d1397bba command: clarify -recursor agent arg 2015-02-23 09:33:45 -08:00
Mohammad Zolfaghari fec46d0559 Support multiple recursor flag 2015-02-21 10:15:52 +03:30
Ryan Uber 4f4b4b0f3e agent: write API's on /v1/agent block for anti-entropy 2015-02-20 19:43:33 -08:00
Ryan Uber a9f23a9154 agent: Better warning for keyring with -encrypt option. Fixes #718. 2015-02-19 18:51:42 -08:00
Ryan Breen 53afd77e2d s/data center/datacenter/g 2015-02-19 17:45:47 -05:00
Armon Dadgar d6e76e5dd4 agent: Cleanup a comment 2015-02-18 16:54:44 -08:00
Armon Dadgar aadec620ff agent: Fixing blocking queries on internal endpoints 2015-02-18 15:15:02 -08:00
Armon Dadgar a446fbd098 agent: Enable UI endpoints for SCADA 2015-02-18 15:15:02 -08:00
Armon Dadgar 760bbd14a5 agent: Do not expose AtlasToken or AtlasACLToken 2015-02-18 15:15:02 -08:00
Armon Dadgar 1738a6b171 agent: Updating for new client API 2015-02-18 15:15:02 -08:00
Armon Dadgar 0c2951c5f9 agent: Test ACL token resolution 2015-02-18 15:12:15 -08:00
Armon Dadgar 8fb86d14ab agent: Adding SCADA tests 2015-02-18 15:12:15 -08:00
Armon Dadgar 6ee6f67695 agent: Use AtlasACLToken 2015-02-18 15:12:15 -08:00
Armon Dadgar 7ddf87eb54 agent: Rename AtlasCluster to AtlasInfrastructure 2015-02-18 15:12:15 -08:00
Armon Dadgar 269153705b agent: Fixing setup of SCADA HTTP listener 2015-02-18 15:12:15 -08:00
Armon Dadgar d9f95e2983 agent: Fixing panic on shutdown 2015-02-18 15:12:15 -08:00
Armon Dadgar 75849d643e agent: Provide auto-join metadata to SCADA 2015-02-18 15:12:14 -08:00
Armon Dadgar 524bfccc5a agent: Adding atlas_join configuration 2015-02-18 15:12:14 -08:00
Armon Dadgar b714144685 agent: SCADA HTTP integration 2015-02-18 15:12:14 -08:00
Armon Dadgar 948f9a0d00 agent: SCADA HTTP listener 2015-02-18 15:12:14 -08:00
Armon Dadgar 08895ce325 agent: Starting SCADA integration 2015-02-18 15:12:14 -08:00
Armon Dadgar 49d11e37f7 agent: Adding Atlas CLI flags 2015-02-18 15:12:14 -08:00
Armon Dadgar 5713006297 agent: Adding new Atlas configs 2015-02-18 15:12:14 -08:00
Armon Dadgar 60f69224ea agent: Snapshot and restore health state on reload. Fixes #693 2015-02-17 12:00:04 -08:00
artushin ed2837d7d5 oops. DefaultTransport being used. 2015-02-12 10:11:22 -06:00
artushin 4cbf3a037a close idle connections after stopping http checks to service 2015-02-11 18:29:51 -06:00
Ryan Uber 60dd1a073e agent: clarify the valid characters for dns 2015-02-09 09:59:27 -08:00
Ryan Uber 5da078f989 agent: warn on service tags with invalid chars 2015-02-09 09:30:06 -08:00
Ryan Uber fe80d28664 agent: Warn on dns-incompatible characters during service registration. Fixes #683. 2015-02-09 09:23:17 -08:00
lalyos 865e97c340 fixing version numbers RCs should be labeled x.x.x-rcx
see conversation with ryanuber: https://github.com/hashicorp/go-checkpoint/issues/2#issuecomment-73199209
2015-02-09 08:17:30 +01:00
Ryan Uber d1854d1d91 agent: fix test case examples 2015-02-05 23:29:04 -08:00
Ryan Uber e6858f158a Merge pull request #654 from arnaudbriche/http-check-timeout
Configurable CheckHTTP timeout
2015-02-05 23:03:39 -08:00
arnaud briche 49a9836be3 - add tests for CheckHTTP with new timeout parameter && CheckType.Timeout parsing 2015-02-02 15:30:44 +07:00
arnaud briche de96094cb0 - add proper parsing of CheckType.Timeout from string 2015-02-02 15:29:42 +07:00
Ryan Uber 029a6025aa agent: http checks work inside of service definitions 2015-01-29 12:11:42 -08:00
Ryan Uber 6ecca376e4 agent: pass locally configured token during remote exec 2015-01-29 10:42:46 -08:00
arnaud briche 4d105487a8 - add Timeout field to CheckType and CheckHTTP to make http request timeout configurable by the client 2015-01-29 13:37:48 +07:00
Ryan Uber 9efda655a1 agent: test service/check deletion with empty ID 2015-01-27 21:47:59 -08:00
foostan a75b727391 Validation ServiceID/CheckID when deleting in deleteService() in local.go 2015-01-27 18:11:57 +09:00
foostan 99659e9014 Add tests to remove service/check without an ID 2015-01-27 18:10:56 +09:00
foostan 524cb0d0c3 Validate ServiceID/CheckID when deregistering. 2015-01-27 01:06:57 +09:00
Ryan Uber dd0c9dfbbc agent/http: fix service registration with nil checks value 2015-01-23 18:50:51 -08:00
Ryan Uber 068c4137cb agent/http: clean up socket setup 2015-01-23 17:57:04 -08:00
Ryan Uber adb3bd4c5e agent: make check tests more reliable 2015-01-23 16:07:20 -08:00
Ryan Uber 26c9d96ccb agent: error from KVS endpoint if incompatible flags are passed. Fixes #432 2015-01-23 12:48:39 -08:00
Ryan Uber 15de24c844 agent: more lenient dns response test 2015-01-22 15:31:12 -08:00
Armon Dadgar e5e519df4b Merge pull request #625 from hashicorp/f-maintcmd
New "maint" command
2015-01-22 11:56:49 -08:00