Commit Graph

158 Commits

Author SHA1 Message Date
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
talwai e6e842d9e7 Add DogStatsd configuration 2015-11-11 14:30:36 -05:00
Diptanu Choudhury c4b85010fb Implemented Docker health checks 2015-10-26 10:23:57 -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 def8c6087d Fixes config merge fn for disabling coordinates and adds it to JSON. 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 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 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 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
Dale Wijnand c5168e1263 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
Ryan Uber cda2bf6975 agent: atlas_endpoint is configurable 2015-08-27 11:08:01 -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
Armon Dadgar c8fb9ab369 agent: Adding new VerifyHostname config 2015-05-11 15:13:58 -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
Ryan Uber 94f0834d8f agent: allow configuring the stats prefix 2015-05-03 16:46:20 -07: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
Armon Dadgar 760bbd14a5 agent: Do not expose AtlasToken or AtlasACLToken 2015-02-18 15:15:02 -08:00
Armon Dadgar 7ddf87eb54 agent: Rename AtlasCluster to AtlasInfrastructure 2015-02-18 15:12:15 -08:00
Armon Dadgar 524bfccc5a agent: Adding atlas_join configuration 2015-02-18 15:12:14 -08:00
Armon Dadgar 5713006297 agent: Adding new Atlas configs 2015-02-18 15:12:14 -08:00
arnaud briche de96094cb0 - add proper parsing of CheckType.Timeout from string 2015-02-02 15:29:42 +07:00
Armon Dadgar 14d55cb40a Merge pull request #622 from hashicorp/f-sockets
Unix domain sockets
2015-01-21 16:30:03 -08:00
Ryan Uber 27de0adf3b agent: support multiple checks per service 2015-01-20 21:48:42 -08:00
Ryan Uber 9fe1b68f26 agent: use squash mapstructure tag to properly decode embedded structs 2015-01-20 21:10:58 -08:00
Ryan Uber c669a17fa6 agent: use interface for file permissions 2015-01-20 18:53:18 -08:00
Ryan Uber c01277725a agent: beginning socket user/group/mode support as discussed in #612 2015-01-20 13:44:27 -08:00
Ryan Uber ad19c0afc2 agent: beginning refactor 2015-01-16 00:45:03 -08:00
Jeff Mitchell 9bd66c70e5 Ensure a socket is created for permissions adjustment tests and fix some
items pointed out in the code review

This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-15 14:33:44 +00:00
Jeff Mitchell f88536f192 Remove unnecessary ClientListenerAddr function. Rework config test functions to be cleaner. Start of runtime tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell 4838beec4e Tests for populateUnixSocket. Still need to write tests for the other major function, and basic socket listening tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell 400eadd671 RPC and HTTP interfaces fully generically-sockified so Unix is supported.
Client works for RPC; will honor CONSUL_RPC_ADDR. HTTP works via consul/api;
honors CONSUL_HTTP_ADDR.

The format of a Unix socket in configuration data is:
"unix://[/path/to/socket];[username or uid];[gid];[mode]"

Obviously, the user must have appropriate permissions to create the socket
file in the given path and assign the requested uid/gid. Also note that Go does
not support gid lookups from group name, so gid must be numeric. See
https://codereview.appspot.com/101310044

When connecting from the client, the format is just the first part of the
above line:
"unix://[/path/to/socket]"

This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Evan Broder b5e1de165b Add "only_passing" option to DNS config
This excludes nodes from DNS results if their healthchecks are in any
non-passing state, not just if they're critical.
2015-01-10 13:17:11 +01:00
Ryan Uber 26d6ae0386 Merge pull request #576 from hashicorp/f-verify-config
agent: reject config with invalid options
2015-01-05 14:51:28 -08:00
Ryan Uber d9136d3411 agent: use mapstructure's Metadata.Unused to detect extraneous config 2015-01-05 14:41:19 -08:00
Ryan Uber 25fb18b1cf agent: reject config with invalid options 2015-01-05 12:30:03 -08:00
Emil Hessman db23a3f0e9 add ability to specify response headers on the HTTP API
Add an config object that allows adding HTTP header response fields to every
HTTP API response.

Each specified header is added to every response from all HTTP API endpoints.
Each individual endpoint may overwrite the specified header, which makes sure
that Consul headers such as 'X-Consul-Index' is enforced by the API.
2014-12-28 19:17:08 +01:00
Ryan Uber 42bad4af80 agent: fixup all check definitions from json config 2014-11-30 18:27:37 -08:00
Armon Dadgar dd41c69389 Merge pull request #478 from amalaviy/https
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Atin Malaviya b4424a1a50 Moved TLS Config stuff to tlsutil package 2014-11-18 11:03:36 -05:00
Atin Malaviya 46178dbb37 Change names to StartJoinWan, RetryJoinWan etc 2014-11-17 17:14:59 -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
Atin Malaviya df8d099f49 Add start-wan-join, retry-wan-join and related configuration options and commandline options 2014-11-14 10:56:39 -05:00
Armon Dadgar 982b177e69 Support old recursor config for backwards compatibility 2014-11-03 11:28:21 -08:00
foostan 4d8f1c2133 Add multiple recursor definition support 2014-11-01 04:26:26 +09:00
Ryan Uber 97ba2703f1 agent: add support for multiple checks and config mixing 2014-10-26 13:11:25 -07:00
Alexander Simmerl ad4598959e Add multiple service definition support
This change-set adds another key to the configuration decoding called
`services`, which is expected to be a list of service definitions. It
follows the established convention of only allowing one of the keys:
`service`, `check`, `services`. For every entry in the list it calls
the corresponding decode method and appends it to the Servics of the
resulting Config.

While a similar result could be achieved with changing the Services
member of the Config struct to have named mapstruct tag it lacks the
proper time conversions provided by DecodeServiceDefinition.
2014-10-23 22:50:40 -04:00
Armon Dadgar 2c1add1c67 Merge pull request #396 from ryanuber/f-retry-join
agent: Retry failed joins on agent start
2014-10-13 10:46:10 -07:00
Ryan Uber f476166fe4 agent: merge RetryInterval in config merger 2014-10-12 10:54:53 -07:00
Ryan Uber 0266592205 agent: first pass at join retry 2014-10-12 10:50:15 -07:00
Alex Wheeler a805e17b9c Adding support for enabling the DNS truncate flag for UDP queries. 2014-09-30 15:15:36 -04:00
Armon Dadgar 9c16ce0cae agent: Fixing config merge issue 2014-09-02 14:49:31 -07:00
Armon Dadgar a1591d21d7 agent: Support for checkpoint 2014-09-02 14:23:43 -07:00
Armon Dadgar 55c695493b agent: Address overrides. Fixes #301 and #253 2014-09-02 12:47:40 -07:00
Armon Dadgar 10c276dae6 agent: Adding address configurations 2014-09-02 12:42:14 -07:00
Armon Dadgar 47e30adf13 agent: statsd support. Fixes #247 2014-09-02 11:26:17 -07:00
Armon Dadgar 0cc1f8d42b agent: Adding remote exec configuration 2014-09-01 14:46:21 -07:00
Armon Dadgar f82a38ab12 agent: First pass at agent-based watches 2014-08-21 13:09:13 -07:00
Armon Dadgar d36fcd2357 agent: Changing to use nested JSON for watches 2014-08-21 11:52:36 -07:00
Armon Dadgar d72158b71b agent: Adding watches config 2014-08-19 14:29:01 -07:00
Armon Dadgar ca6a8aef55 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar 0838ed0475 agent: Changing ACL config names 2014-08-18 15:46:20 -07:00
Armon Dadgar 489772eda3 agent: Adding new ACL flags 2014-08-18 15:46:20 -07:00
Nelson Elhage 95f3ebcb43 While we're at it, make statsite_addr work at all. 2014-07-10 18:16:47 -07:00
Armon Dadgar 80b86c9ee9 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Robert Xu 31c392813c Add expect bootstrap '-expect=n' mode.
This allows for us to automatically bootstrap a cluster of nodes after
'n' number of server nodes join. All servers must have the same 'n' set, or
they will fail to join the cluster; all servers will not join the peer set
until they hit 'n' server nodes.

If the raft commit index is not empty, '-expect=n' does nothing because it
thinks you've already bootstrapped.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 91373968a8 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Armon Dadgar 648429288e agent: Adding SyslogFacility configuration 2014-06-11 10:18:19 -07:00
Armon Dadgar 4909c74175 agent: Fixing merge of CheckUpdateInterval 2014-06-09 21:34:19 -07:00
Armon Dadgar 99ac4dc1bb agent: Allow CheckUpdateInterval to be zero 2014-06-09 12:46:10 -07:00
Armon Dadgar c99e6e082c agent: Adding new CheckUpdateInterval config 2014-06-09 12:13:14 -07:00
Armon Dadgar af83293f13 agent: Testing DNSConfig parsing 2014-06-08 16:02:16 -07:00
Armon Dadgar 8f6708653f agent: Adding DNS more configuration 2014-06-08 16:02:16 -07:00
Armon Dadgar 39cdecb5d0 agent: Add version to info output 2014-06-06 14:40:22 -07:00
Armon Dadgar 1ac127b73e agent: Omit certains keys from the /self endpoint 2014-05-29 11:24:37 -07:00
Armon Dadgar 5fa10c912e Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 9f2631f383 agent: syslog support. Fixes #105. 2014-05-21 12:06:03 -07:00
Carlos Diaz-Padron e0d477896a Add flag to agent to write pid file 2014-05-05 23:39:18 -04:00
Armon Dadgar 47f6cef91d agent: Adding UiDir config param 2014-04-30 23:43:56 -04:00
Tarrant 73a9c1389e When mangaling JSON to parse durations do a case insensitive key lookup 2014-04-24 19:56:55 -07:00
Armon Dadgar 32eb65316f agent: Adding support for -join flag. Fixes #33. 2014-04-11 16:59:16 -07:00
Armon Dadgar 738310bff0 agent: Simplifying configs 2014-04-11 15:46:55 -07:00
Armon Dadgar 2663b28f3a agent: First pass at improving flags 2014-04-11 15:22:35 -07:00
Armon Dadgar d1308446c3 agent: Passthrough of TLS configurations 2014-04-07 15:07:00 -07:00
Armon Dadgar d99ac77b84 agent: Add backwards compatibility hack for old 'tag' definitions 2014-04-03 14:22:43 -07:00
Armon Dadgar 69065eea70 agent: adding EnableDebug config 2014-03-19 17:49:57 -07:00
Armon Dadgar 46a2c37852 agent: Support protocol version setting 2014-03-09 15:57:03 -07:00
Armon Dadgar 981e58e8e9 agent: Adding support for statsite telemetry 2014-02-20 14:59:54 -08:00
Armon Dadgar 728342b537 agent: Adding tests for config parsing 2014-02-07 11:49:51 -08:00
Armon Dadgar 2553c7b963 agent: First pass at parsing service and check definition 2014-02-03 15:15:35 -08:00
Armon Dadgar 177a91c3f9 Adding AEConfig and some methods to scale timing 2014-01-15 12:17:40 -10:00
Armon Dadgar e2e844a70b Support DNS recursion and TCP queries 2014-01-03 15:43:35 -08:00
Armon Dadgar 13028a43f7 Adding a DNS domain config 2014-01-02 15:50:52 -08:00
Armon Dadgar d292e08bb2 Adding basic DNS framework 2014-01-02 13:12:05 -08:00
Armon Dadgar ce79f27364 Adding support for advertise address 2013-12-31 16:45:13 -08:00