Frank Schroeder
3865f14a25
agent: simplify agent creation
...
This patch creates an agent with just a config struct
and allows for other fields to be set as required.
2017-05-31 00:29:23 +02:00
Frank Schroeder
82650f73e3
agent: move http/dns endpoints into agent
...
Move the HTTP and DNS endpoints into the agent and control
their lifespan via the agent.
This removes the requirement to manage HTTP and DNS servers
indpendent of the agent since the agent is mostly useless
without an endpoint and the endpoints without the agent.
2017-05-31 00:29:23 +02:00
Frank Schroeder
8ad66f4bea
agent: support custom check id and name
...
This patch adds support for a custom check id and name when
registering a service.
This is achieved by adding a CheckID and a Name field to the
CheckType structure which is used to register checks with a
service and when returning health check definitions.
CheckDefinition is a superset of CheckType which duplicates
some of the fields of CheckType. This patch decouples these
two structures by removing the embedding of CheckType in
CheckDefinition.
Fixes #3047
2017-05-17 20:17:08 +02:00
Frank Schroeder
ad40a855bd
agent: move isAddrANY to separate package
2017-05-15 22:44:43 +02:00
Frank Schroeder
e2c37b47ee
agent: Replace client/server with delegate interface
...
This patch adds a new internal interface clientServer
which defines the common methods of consul.Client and
consul.Server. This allows to replace the following
code
if a.server != nil {
a.server.do()
} else {
a.client.do()
}
with
a.delegate.do()
In case a specific type is required a type check can
be performed:
if srv, ok := a.delegate.(*consul.Server); ok {
srv.doSrv()
}
2017-05-15 18:35:38 +02:00
Frank Schroeder
8ad52ee9b5
agent: Disallow :: and [::] as service address
2017-05-09 17:56:15 +02:00
Frank Schroeder
73a31b9bfe
agent: Disallow 0.0.0.0 as service address
...
Fixes #2961
2017-05-09 17:56:15 +02:00
Frank Schroeder
84d6ac2d51
api: Return empty list instead of nil
2017-04-28 15:00:08 -07:00
Frank Schroeder
3e00e36f41
golint: Untangle if blocks with return in else
2017-04-25 09:26:13 -07:00
Frank Schroeder
d7e23857ad
golint: No stutter
2017-04-25 09:26:13 -07:00
Frank Schroeder
cf3ec1cf5c
golint: Rename fields and structs
2017-04-25 09:26:13 -07:00
Frank Schroeder
5a3961f31f
golint: Replace a += 1 with a++
2017-04-25 09:26:13 -07:00
Frank Schroeder
eddb1af603
Remove duplicate constants
...
This patch removes duplicate internal copies of constants in the structs
package which are also defined in the api package. The api.KVOp type
with all its values for the TXN endpoint and the api.HealthXXX constants
are now used throughout the codebase.
This resulted in some circular dependencies in the testutil package
which have been resolved by copying code and constants and moving the
WaitForLeader function into a separate testrpc package.
2017-04-20 09:54:49 -07:00
Frank Schroeder
ee5b06a231
Use fmt.Fprint/Fprintf/Fprintln
...
Used the following rewrite rules:
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b, c, d))) -> fmt.Fprintf(resp, a, b, c, d)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b, c))) -> fmt.Fprintf(resp, a, b, c)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b))) -> fmt.Fprintf(resp, a, b)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a))) -> fmt.Fprint(resp, a)' *.go
gofmt -w -r 'resp.Write([]byte(a + "\n")) -> fmt.Fprintln(resp, a)' *.go
gofmt -w -r 'resp.Write([]byte(a)) -> fmt.Fprint(resp, a)' *.go
2017-04-20 09:02:59 -07:00
Seth Vargo
0170a28ec9
Use new APIs
2017-03-23 18:48:13 -04:00
Kyle Havlovitz
52d6fd831e
Add support for setting node metadata fields
2017-01-05 14:10:26 -08:00
James Phillips
03f40116f4
Adds complete ACL coverage for non-utility agent endpoints.
...
This is a checkpoint - we need to complete some unit tests for agent/acl.go.
2016-12-14 14:53:40 -08:00
James Phillips
01b6766099
Adds complete ACL support for agent utility endpoints.
2016-12-14 11:12:55 -08:00
Kyle Havlovitz
bd69c6d871
Add reload/leave http endpoints ( #2516 )
2016-11-30 13:29:42 -05:00
Kyle Havlovitz
338e36cc5d
Add logWriter to agent Create() method
2016-11-28 18:36:26 -05:00
Kyle Havlovitz
124f907063
Add monitor http endpoint
2016-11-28 18:36:26 -05:00
James Phillips
a48463f100
Removed bad error message for health check status.
2016-08-17 17:54:09 -07:00
James Phillips
4a3d7db24f
Adds ability to deregister a service based on critical check state longer than a timeout.
2016-08-16 01:00:26 -07:00
James Phillips
bd5e5bf19c
Adds consul info data into /v1/agent/self endpoint.
2016-07-20 15:12:26 -07:00
Sean Chittenden
63adcbd5ef
Revert "Move `structs.CheckID` to a new top-level package, `types`."
...
This reverts commit 2bbd52e3b44ff1b60939a8400264d534662d6d51.
2016-06-07 16:59:02 -04:00
Sean Chittenden
cbb945e76a
Move `structs.CheckID` to a new top-level package, `types`.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
f5ab25163e
Move `structs.CheckID` to a new top-level package, `types`.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
ddbe64a8c8
Float a type balloon. Some strings are square pegs in round holes.
...
This experiment was brought about because of variable naming
confusion where name and checkIDs were interchanged. Gave CheckID
an Qualified Type Name and chased downstream changes.
2016-06-07 16:59:02 -04:00
James Phillips
f46fa33278
Tweaks formatting of inline output messages.
2016-03-02 19:47:00 -08:00
James Phillips
7ebad899da
Adds a new PUT-based TTL check update endpoint.
2016-03-02 17:54:01 -08:00
Ryan Slade
dd98602bd7
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
660da92152
Makes the default protocol 2 and lets 3 interoperate with 2.
2015-10-23 15:23:01 -07:00
James Phillips
f9da231a1c
Adds coordinate of agent to self endpoint.
2015-10-23 15:23:01 -07:00
Ryan Uber
125d7fd4ee
agent: thread tokens through for maintenance mode
2015-09-10 11:43:59 -07:00
Armon Dadgar
8d86290ebf
Fixing merge conflict
2015-05-11 16:48:10 -07:00
Ryan Uber
2b62f2f172
agent: use an additional parameter for passing tokens
2015-05-04 17:48:05 -07:00
Ryan Uber
442933650e
agent: safer read methods for tokens
2015-04-28 11:53:53 -07:00
Ryan Uber
bebb5d9641
agent: add service/check token methods to reduce invasiveness
2015-04-27 22:01:01 -07:00
Ryan Uber
bfb27d18cd
agent: initial pass threading through tokens for services/checks
2015-04-27 18:33:46 -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
Ryan Uber
6ce6d2d806
agent: write API's on /v1/agent block for anti-entropy
2015-02-20 19:43:33 -08:00
Ryan Uber
8b0fe52be2
agent/http: fix service registration with nil checks value
2015-01-23 18:50:51 -08:00
Ryan Uber
61d17e65f5
agent: prevent duplicate error messages for maintenance api
2015-01-21 13:28:26 -08:00
Ryan Uber
f00b5b542e
agent: support passing ?reason= for custom notes field values on maintenance checks
2015-01-21 12:21:57 -08:00
Ryan Uber
9c69dc05fb
agent: use strconv.ParseBool for parsing maintenance enable flag
2015-01-21 09:53:31 -08:00
Ryan Uber
2a7211cd5d
agent: support adding multiple checks during service registration from the API
2015-01-20 21:48:45 -08:00
Ryan Uber
674be58e55
agent: support multiple checks per service
2015-01-20 21:48:42 -08:00
Ryan Uber
7748c62d09
agent: node maintenance mode works
2015-01-16 15:38:13 -08:00
Ryan Uber
9ee1e6e858
agent: maintenance mode api's are idempotent
2015-01-16 15:37:52 -08:00
Ryan Uber
35c10a902f
agent: test http endpoints for maintenance mode
2015-01-16 15:37:51 -08:00