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
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
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
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
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
James Phillips
263c7e3fd3
Deletes the old state store and all its accoutrements.
2015-10-15 14:59:09 -07:00
Dale Wijnand
c5168e1263
Fix a bunch of typos.
2015-09-15 13:22:08 +01:00
Ryan Uber
e129a59316
agent: thread tokens through for maintenance mode
2015-09-10 11:43:59 -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
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
e4f937f71d
agent: use persist/load/purge convention for function names
2015-06-08 09:35:10 -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
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
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
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
Ryan Uber
3c577a0069
agent: use an additional parameter for passing tokens
2015-05-04 17:48:05 -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
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
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
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
Ryan Uber
66d89ab4df
agent: warn and purge checks which cannot be restored from agent state
2015-03-11 16:13:31 -07:00
Armon Dadgar
60f69224ea
agent: Snapshot and restore health state on reload. Fixes #693
2015-02-17 12:00:04 -08: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
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
foostan
524cb0d0c3
Validate ServiceID/CheckID when deregistering.
2015-01-27 01:06:57 +09:00
Armon Dadgar
e5e519df4b
Merge pull request #625 from hashicorp/f-maintcmd
...
New "maint" command
2015-01-22 11:56:49 -08:00
Ryan Uber
17d2443f91
command/maint: clean up
2015-01-22 11:14:28 -08:00
Ryan Uber
fa19d09390
command/maint: display active maintenance when no args are passed
2015-01-22 10:26:17 -08: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
8c1c230ce3
agent: use const for default maintenance reason strings
2015-01-21 14:53:52 -08:00
Ryan Uber
d65f4035b9
agent: support passing ?reason= for custom notes field values on maintenance checks
2015-01-21 12:21:57 -08:00
Ryan Uber
40cfd527cb
agent: fix maintenance check ID
2015-01-21 11:03:42 -08:00
Ryan Uber
27de0adf3b
agent: support multiple checks per service
2015-01-20 21:48:42 -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
f29ea9f637
agent: maintenance logging + unique service check IDs
2015-01-16 15:38:13 -08:00
Ryan Uber
8ea9eb87ea
agent: node maintenance mode works
2015-01-16 15:38:13 -08:00
Ryan Uber
3b815cd0aa
agent: maintenance mode api's are idempotent
2015-01-16 15:37:52 -08:00
Ryan Uber
8a4a8eb023
agent: maintenance mode is persistent
2015-01-16 15:37:52 -08:00
Ryan Uber
7d4801db29
agent: test agent service maintenance mode
2015-01-16 15:37:51 -08:00
Ryan Uber
4f4eb204f6
agent: first pass at service maintenance mode
2015-01-16 15:37:51 -08:00
Ryan Uber
263614d596
agent: error if binding to existing socket file
2015-01-16 12:39:15 -08:00
Nicholas Capo
e116c03f86
command/agent: HTTP Check: Create httpClient in Start()
...
For long (>10s) interval checks the http timeout is 10s, otherwise thetimeout is the interval. This means that a check *should* return
before the next check begins.
2015-01-13 00:01:15 +00:00
Nicholas Capo
f26a79c325
command/agent: Stop HTTP checks when the check is removed
2015-01-12 22:34:39 +00:00
Nicholas Capo
f2649edcfc
command/agent: Add simple HTTP check type
...
These checks make an `HTTP GET` request every Interval to the specified URL.
The status of the service depends on the HTTP Response Code.
`200` is passing, `503` is warning and anything else is failing.
2015-01-09 16:43:24 -06:00
Ryan Uber
86bcef81b5
agent: test service and check unloading
2015-01-07 22:32:14 -08:00
Ryan Uber
770bb60af8
agent: consolidate service loading code, better logging
2015-01-07 22:01:43 -08:00
Ryan Uber
33bd157a61
agent: separate service and check loading/unloading concerns
2015-01-07 22:01:20 -08:00
Ryan Uber
dea0070a39
agent: persist service/check data using hashed service/check IDs ( fixes #573 )
2015-01-07 19:11:21 -08:00
Veres Lajos
850d5bdc32
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 23:25:06 +00:00
Ryan Uber
9e52588cec
agent: persist CheckType with health checks
2014-11-29 12:54:37 -08:00
Ryan Uber
4f14ba6326
agent: allow config reload to modify checks/services persistence
...
This change consolidates loading services and checks from both config
and persisted state into methods on the agent. As part of this, we
introduce optional persistence when calling RemoveCheck/RemoveService.
Fixes a bug where config reloads would kill persisted services/checks.
Also fixes an edge case:
1. A service or check is registered via the HTTP API
2. A new service or check definition with the same ID is added to config
3. Config is reloaded
The desired behavior (which this implements) is:
1. All services and checks deregistered in memory
2. All services and checks in config are registered first
3. All persisted checks are restored using the same logic as the agent
start sequence, which prioritizes config over persisted, and removes
any persistence files if new config counterparts are present.
2014-11-26 12:46:42 -08:00
Ryan Uber
fe119a1bd2
agent: prefer config over persisted services/checks ( #497 )
2014-11-24 19:40:53 -08:00
Ryan Uber
1f5af52e0b
agent: pass error through when writing state files
2014-11-24 01:58:39 -08:00
Ryan Uber
ce0d27caba
agent: default restored checks to critical status
2014-11-24 01:15:18 -08:00
Ryan Uber
e3c2075a9d
agent: first pass at local service and check persistence
2014-11-24 01:10:27 -08:00
Ryan Uber
c9118b53bf
agent: fix loading keyring on agent start
2014-11-19 16:37:40 -08:00
Ryan Uber
c59107f08e
command: remove -init argument from keyring, auto-persist keyrings when using agent -encrypt
2014-11-19 16:35:13 -08:00
Ryan Uber
72fc1ceead
agent: split keyring functionality out of agent.go
2014-11-19 16:32:32 -08:00
Ryan Uber
a9f3cbd7f0
command: various cleanup
2014-11-19 16:31:06 -08:00
Ryan Uber
6609cb680b
command: use separate key files for LAN/WAN
2014-11-19 16:31:06 -08:00
Ryan Uber
ee20698199
command/keys: refactor, restrict key operations to server nodes
2014-11-19 16:31:06 -08:00
Ryan Uber
a36ab53f25
agent: move keyring initialization out of agent, add -init option to keys command
2014-11-19 16:31:06 -08:00
Ryan Uber
dfdd7c4ef7
agent: fix keyring loading when config is passed off
2014-11-19 16:31:06 -08:00
Ryan Uber
3e64ed70df
agent: clean up keyring file implementation
2014-11-19 16:31:06 -08:00
Ryan Uber
2e92e19760
agent: refactor keyring loader
2014-11-19 16:31:06 -08:00
Ryan Uber
5f04ae277e
command/keys: remove key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
ccda799039
command/keys: use key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
d03ed1a9ba
agent: install key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
43a60f1424
command: basic rpc works for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
96376212ff
consul: use rpc layer only for key management functions, add rpc commands
2014-11-19 16:30:21 -08:00
Ryan Uber
208b5ae58f
command: create serf dir if it doesn't exist, document -disable-keyring arg
2014-11-19 16:30:21 -08:00
Ryan Uber
4b26566537
consul: fix json marshaling
2014-11-19 16:30:21 -08:00
Ryan Uber
8a4ed84711
consul: first pass at keyring integration
2014-11-19 16:30:20 -08:00
Ryan Uber
398179dcad
agent: pass notes field through for checks inside of service definitions. Fixes #449
2014-11-06 18:25:21 -08:00
Ryan Uber
0322bf2b7d
agent: initialize local consul service tags to fix service sync
2014-10-17 14:29:12 -07:00
Armon Dadgar
a1d2f9a3da
Merge pull request #401 from hashicorp/f-healthcheck
...
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Ryan Uber
b7a75a2314
formatting
2014-10-15 14:56:15 -07:00
Ryan Uber
ec63686416
consul: kill remaining use of HealthUnknown
2014-10-15 10:14:46 -07:00
Ryan Uber
ece81c11ac
agent: re-use ConsulServiceID from consul package
2014-10-14 15:44:11 -07:00
Ryan Uber
5e66e2ae1e
agent: auto-register the consul service on server nodes
2014-10-14 15:35:00 -07:00
Armon Dadgar
4ef9040e02
agent: remove userEventEnc type
2014-08-28 10:56:30 -07:00
Armon Dadgar
69bdeb900a
agent: Adding event ingestion
2014-08-27 17:01:10 -07:00
Armon Dadgar
1ebf074e13
agent: working on user events
2014-08-27 16:49:12 -07:00
Armon Dadgar
b1cf52db01
consul: expose UserEvent from Serf
2014-08-26 18:50:03 -07:00
Armon Dadgar
ca6a8aef55
agent: Adding ACL master token
2014-08-18 15:46:20 -07:00
Armon Dadgar
ebae394863
consul: ACL setting passthrough
2014-08-18 15:46:20 -07:00
Armon Dadgar
80b86c9ee9
Rename Expect to BootstrapExpect. Fixes #223 .
2014-06-19 17:08:55 -07:00
Armon Dadgar
e54ad5d878
Fixing merge conflict
2014-06-18 15:48:46 -07:00
Armon Dadgar
93034084ce
agent: Fixing missing copy of RejoinAfterLeave flag. #110
2014-06-18 10:32:19 -07:00
Armon Dadgar
be0554778d
agent: Fix issues with re-registration. Fixes #216
2014-06-17 16:48:19 -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
0577ec21a8
agent: Copy ServerName config
2014-06-13 11:27:44 -07:00
Armon Dadgar
b5bd20634a
consul: Gossip the build using Serf
2014-06-06 15:36:40 -07:00
Armon Dadgar
39cdecb5d0
agent: Add version to info output
2014-06-06 14:40:22 -07:00
Armon Dadgar
890d4d771f
consul: Ensure clients also implement LocalMember
2014-05-29 11:21:56 -07:00
William Tisäter
a028c3ae93
Add `/v1/agent/self` and return local agent config
2014-05-27 01:15:33 +02:00
Mitchell Hashimoto
ec547d5b99
command/agent: find proper private IP on Windows
...
/cc @armon
2014-05-15 11:27:30 -07:00
Armon Dadgar
deaf36a1d9
agent: Minor cleanups
2014-05-06 12:43:33 -07:00
Carlos Diaz-Padron
b61e854f56
Return pid file errors and fix help formatting
2014-05-06 13:04:22 -04:00
Carlos Diaz-Padron
e0d477896a
Add flag to agent to write pid file
2014-05-05 23:39:18 -04:00
Armon Dadgar
2845d24cfa
Store check output in dedicated field. Fixes #59 .
2014-04-21 16:20:22 -07:00
Armon Dadgar
b1bfd97438
agent: Adding minimum check interval. Fixes #64 .
2014-04-21 14:42:42 -07:00
Haney Maxwell
19441f5095
documentation: minor comment consistency in agent.go
2014-04-17 22:46:31 -07:00
Armon Dadgar
3b0e397851
agent: Fixing wrong port usage for server
2014-04-14 12:37:49 -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
46a2c37852
agent: Support protocol version setting
2014-03-09 15:57:03 -07:00
Armon Dadgar
a801eaadf4
agent: Adding Stats() export
2014-02-23 16:42:39 -08:00
Armon Dadgar
fb34815562
agent: adding ability to reload services and checks
2014-02-07 12:19:56 -08:00
Armon Dadgar
7534346103
agent: Adding server up callback to make state sync faster
2014-02-07 12:11:34 -08:00
Armon Dadgar
d051d9cb23
agent: Adding methods to register services and checks
2014-01-30 13:39:02 -08:00
Armon Dadgar
3d411c7680
Adding CheckMonitors and CheckTTLs to agent
2014-01-21 12:05:56 -08:00
Armon Dadgar
1ebb6db8c1
Seperate localState from Agent
2014-01-21 11:52:25 -08:00
Armon Dadgar
7a74f58141
First pass at local state + anti-entropy
2014-01-15 15:14:50 -10:00
Armon Dadgar
ce79f27364
Adding support for advertise address
2013-12-31 16:45:13 -08:00
Armon Dadgar
8727220296
Pulling in the RPC framework from serf
2013-12-30 14:42:41 -08:00
Armon Dadgar
2ba5191143
Serf API changes
2013-12-27 14:50:02 -08:00
Armon Dadgar
69ed0ec184
Adding a bootstrap flag to allow single server raft
2013-12-24 16:48:07 -08:00
Armon Dadgar
851c4c8ed1
More HTTP endpoints
2013-12-23 16:20:51 -08:00
Armon Dadgar
a0030308e7
Working on the agent
2013-12-20 16:39:32 -08:00
Armon Dadgar
0e4b5720d9
Filling in Agent basics
2013-12-20 15:33:13 -08:00
Armon Dadgar
d9a1fb02a1
Agent skeleton
2013-12-19 17:14:46 -08:00