Commit Graph

179 Commits (a14a7130dc02e9d9f943fad97009e1f86ef7532b)

Author SHA1 Message Date
Ryan Uber c958824bb6 agent: use squash mapstructure tag to properly decode embedded structs 2015-01-20 21:10:58 -08:00
Ryan Uber b1dae530d4 agent: use interface for file permissions 2015-01-20 18:53:18 -08:00
Ryan Uber 21dd95d9af agent: beginning socket user/group/mode support as discussed in #612 2015-01-20 13:44:27 -08:00
Ryan Uber 4675cdf01c agent: beginning refactor 2015-01-16 00:45:03 -08:00
Jeff Mitchell 9fcea08dbb 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 0cc009c480 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 8362e3e9eb 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 11a3ce0bdd 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 ee6d59d4dd 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 db3c502dcc 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 42ace3a6b5 agent: use mapstructure's Metadata.Unused to detect extraneous config 2015-01-05 14:41:19 -08:00
Ryan Uber b8740b62da agent: reject config with invalid options 2015-01-05 12:30:03 -08:00
Emil Hessman cb764c35e5 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 81d4e5cfd4 agent: fixup all check definitions from json config 2014-11-30 18:27:37 -08:00
Armon Dadgar 6be29e17c2 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 f1f8c88228 Moved TLS Config stuff to tlsutil package 2014-11-18 11:03:36 -05:00
Atin Malaviya 0904c651a8 Change names to StartJoinWan, RetryJoinWan etc 2014-11-17 17:14:59 -05:00
Atin Malaviya f4fd8453ed 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 5b41170f47 Add start-wan-join, retry-wan-join and related configuration options and commandline options 2014-11-14 10:56:39 -05:00
Armon Dadgar cd936793ad Support old recursor config for backwards compatibility 2014-11-03 11:28:21 -08:00
foostan 35b006d884 Add multiple recursor definition support 2014-11-01 04:26:26 +09:00
Ryan Uber 28f31a8dd8 agent: add support for multiple checks and config mixing 2014-10-26 13:11:25 -07:00
Alexander Simmerl 461c1e18a5 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 bee5fe280c 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 6d75fc8fb2 agent: merge RetryInterval in config merger 2014-10-12 10:54:53 -07:00
Ryan Uber 7c91c08457 agent: first pass at join retry 2014-10-12 10:50:15 -07:00
Alex Wheeler 6cac440a8d Adding support for enabling the DNS truncate flag for UDP queries. 2014-09-30 15:15:36 -04:00
Armon Dadgar a8b66666f5 agent: Fixing config merge issue 2014-09-02 14:49:31 -07:00
Armon Dadgar d04880cc60 agent: Support for checkpoint 2014-09-02 14:23:43 -07:00
Armon Dadgar e86c5b2627 agent: Address overrides. Fixes #301 and #253 2014-09-02 12:47:40 -07:00
Armon Dadgar cc728a1345 agent: Adding address configurations 2014-09-02 12:42:14 -07:00
Armon Dadgar 98acc0a908 agent: statsd support. Fixes #247 2014-09-02 11:26:17 -07:00
Armon Dadgar 89f258ca2e agent: Adding remote exec configuration 2014-09-01 14:46:21 -07:00
Armon Dadgar 4b547a43d0 agent: First pass at agent-based watches 2014-08-21 13:09:13 -07:00
Armon Dadgar e877753162 agent: Changing to use nested JSON for watches 2014-08-21 11:52:36 -07:00
Armon Dadgar 5ee737b8d4 agent: Adding watches config 2014-08-19 14:29:01 -07:00
Armon Dadgar cae4b421a3 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar 9cd9a6bcc4 agent: Changing ACL config names 2014-08-18 15:46:20 -07:00
Armon Dadgar 7e5fdeb64b agent: Adding new ACL flags 2014-08-18 15:46:20 -07:00
Nelson Elhage f3b9fcb49a While we're at it, make statsite_addr work at all. 2014-07-10 18:16:47 -07:00
Armon Dadgar 924e4bc7f1 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Robert Xu c60fd0542a 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 961a00c496 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Armon Dadgar 82c27cb902 agent: Adding SyslogFacility configuration 2014-06-11 10:18:19 -07:00
Armon Dadgar 87373787e2 agent: Fixing merge of CheckUpdateInterval 2014-06-09 21:34:19 -07:00
Armon Dadgar 1b53664879 agent: Allow CheckUpdateInterval to be zero 2014-06-09 12:46:10 -07:00
Armon Dadgar 971d093283 agent: Adding new CheckUpdateInterval config 2014-06-09 12:13:14 -07:00
Armon Dadgar d60f6892ca agent: Testing DNSConfig parsing 2014-06-08 16:02:16 -07:00
Armon Dadgar 4c6309d22b agent: Adding DNS more configuration 2014-06-08 16:02:16 -07:00
Armon Dadgar 42e3729a7c agent: Add version to info output 2014-06-06 14:40:22 -07:00
Armon Dadgar 753cec4cfa agent: Omit certains keys from the /self endpoint 2014-05-29 11:24:37 -07:00
Armon Dadgar de309057ff Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 0836a222bf agent: syslog support. Fixes #105. 2014-05-21 12:06:03 -07:00
Carlos Diaz-Padron 60ef5a8a12 Add flag to agent to write pid file 2014-05-05 23:39:18 -04:00
Armon Dadgar 2605b8e27c agent: Adding UiDir config param 2014-04-30 23:43:56 -04:00
Tarrant 32da5b2de0 When mangaling JSON to parse durations do a case insensitive key lookup 2014-04-24 19:56:55 -07:00
Armon Dadgar a8d9fefdfe agent: Adding support for -join flag. Fixes #33. 2014-04-11 16:59:16 -07:00
Armon Dadgar 8dd1e51bae agent: Simplifying configs 2014-04-11 15:46:55 -07:00
Armon Dadgar 922014530f agent: First pass at improving flags 2014-04-11 15:22:35 -07:00
Armon Dadgar 592953309e agent: Passthrough of TLS configurations 2014-04-07 15:07:00 -07:00
Armon Dadgar 30307f877b agent: Add backwards compatibility hack for old 'tag' definitions 2014-04-03 14:22:43 -07:00
Armon Dadgar 528053c7a3 agent: adding EnableDebug config 2014-03-19 17:49:57 -07:00
Armon Dadgar ffca4f5544 agent: Support protocol version setting 2014-03-09 15:57:03 -07:00
Armon Dadgar dca8c79576 agent: Adding support for statsite telemetry 2014-02-20 14:59:54 -08:00
Armon Dadgar d64fda8d45 agent: Adding tests for config parsing 2014-02-07 11:49:51 -08:00
Armon Dadgar 1a5158212c agent: First pass at parsing service and check definition 2014-02-03 15:15:35 -08:00
Armon Dadgar 46e3075344 Adding AEConfig and some methods to scale timing 2014-01-15 12:17:40 -10:00
Armon Dadgar 29fe144b5b Support DNS recursion and TCP queries 2014-01-03 15:43:35 -08:00
Armon Dadgar 71e85cea72 Adding a DNS domain config 2014-01-02 15:50:52 -08:00
Armon Dadgar 423ffaecc5 Adding basic DNS framework 2014-01-02 13:12:05 -08:00
Armon Dadgar 93dac80a86 Adding support for advertise address 2013-12-31 16:45:13 -08:00
Armon Dadgar f193ed5a88 Ensure lexical ordering for config files 2013-12-27 14:49:35 -08:00
Armon Dadgar 9a2d3c144a Adding a bootstrap flag to allow single server raft 2013-12-24 16:48:07 -08:00
Armon Dadgar 3c7a06bb80 Add Datacenter to output 2013-12-24 12:22:50 -08:00
Armon Dadgar a820848fbf Remove useless config 2013-12-23 13:46:50 -08:00
Armon Dadgar 469245a06d Working on Agent HTTP interface 2013-12-23 11:38:51 -08:00
Armon Dadgar 8caf0034db Working on the agent 2013-12-20 16:39:32 -08:00
Armon Dadgar aeccadd217 Filling in Agent basics 2013-12-20 15:33:13 -08:00
Armon Dadgar 289e1c598b Agent skeleton 2013-12-19 17:14:46 -08:00