Armon Dadgar
97a737b1ee
consul: Pulling in ACLs
2014-08-18 15:46:21 -07:00
Armon Dadgar
7cbb2225af
consul: Adding ACL endpoint
2014-08-18 15:46:21 -07:00
Armon Dadgar
a8063457f8
consul: ACL setting passthrough
2014-08-18 15:46:20 -07:00
Armon Dadgar
ce9de56469
consul: Defer serf handler until initialized. Fixes #254 .
2014-07-22 09:36:58 -04:00
Armon Dadgar
746449ffed
Merge pull request #233 from nelhage/tls-no-subjname
...
Restore the 0.2 TLS verification behavior.
2014-07-01 13:41:00 -07:00
Nelson Elhage
d174cbe7f4
Restore the 0.2 TLS verification behavior.
...
Namely, don't check the DNS names in TLS certificates when connecting to
other servers.
As of golang 1.3, crypto/tls no longer natively supports doing partial
verification (verifying the cert issuer but not the hostname), so we
have to disable verification entirely and then do the issuer
verification ourselves. Fortunately, crypto/x509 makes this relatively
straightforward.
If the "server_name" configuration option is passed, we preserve the
existing behavior of checking that server name everywhere.
No option is provided to retain the current behavior of checking the
remote certificate against the local node name, since that behavior
seems clearly buggy and unintentional, and I have difficulty imagining
it is actually being used anywhere. It would be relatively
straightforward to restore if desired, however.
2014-06-28 13:32:42 -07:00
Armon Dadgar
924e4bc7f1
Rename Expect to BootstrapExpect. Fixes #223 .
2014-06-19 17:08:55 -07:00
Robert Xu
7b456a6d6d
Minor cleanup to logic and testsuite.
...
Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 18:47:05 -04:00
Robert Xu
bc4a4fe09b
Utilise new raft.SetPeers() method, move expect logic to leader.go.
...
This way, we don't use EnableSingleMode, nor cause chaos adding peers.
Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 12:03:30 -04: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
93f4eb0a0f
consul: Start RPC before Raft, wait to accept connecitons
2014-06-11 10:17:58 -07:00
Armon Dadgar
938371ee40
consul: start RPC after fully initialized. Fixes #160
2014-06-11 09:46:44 -07:00
Armon Dadgar
ab4e3de185
consul: Avoid network for server RPC. Fixes #148 .
2014-06-10 19:12:36 -07:00
Armon Dadgar
b144633815
consul: Gossip the build using Serf
2014-06-06 15:36:40 -07:00
Armon Dadgar
3874498374
Merge pull request #173 from hashicorp/f-agent-self
...
Add `/v1/agent/self` and return local agent config
2014-05-29 11:18:19 -07:00
Armon Dadgar
22f548c338
consul: Provide logger to yamux
2014-05-28 16:32:25 -07:00
Armon Dadgar
d1ebf83e39
consul: Add new protocol version for yamux
2014-05-28 16:32:24 -07:00
Armon Dadgar
d737a2204a
consul: Pass protocol version for leader forwarding
2014-05-28 16:32:24 -07:00
Armon Dadgar
f16d13213c
consul: remove explicit leave, use reconciliation
2014-05-28 16:32:24 -07:00
Armon Dadgar
3a854b5952
consul: Store the protocol version for a server
2014-05-28 16:32:24 -07:00
Armon Dadgar
2457293dce
consul: Pool client connections, support for yamux connections
2014-05-28 16:32:24 -07:00
William Tisäter
d0e447d29b
Add `/v1/agent/self` and return local agent config
2014-05-27 01:15:33 +02:00
Armon Dadgar
de309057ff
Support rejoin after leave. Fixes #110 .
2014-05-21 12:32:24 -07:00
Armon Dadgar
f2b2a68a55
consul: First pass at Session RPC endpoints
2014-05-20 16:25:29 -07:00
Armon Dadgar
e08ca71559
consul: Disable conflict resolution. See #97 .
2014-05-16 14:11:53 -07:00
Armon Dadgar
1611d986d6
consul: Avoid name conflict on WAN ring. Fixes #158 .
2014-05-16 14:07:53 -07:00
Armon Dadgar
03a98ed1d7
consul: Remove RPC client tracking. Fixes #149 .
2014-05-14 17:34:24 -07:00
Armon Dadgar
888ce89b91
consul: Fixing for upstream API changes
2014-05-01 18:11:36 -07:00
Armon Dadgar
7098807583
consul: Rename Misc RPC to Internal
2014-04-30 23:43:59 -04:00
Armon Dadgar
4761ad73b2
consul: Adding Misc RPC endpoint
2014-04-30 23:43:58 -04:00
Armon Dadgar
2c45bd6fe9
consul: Expose runtime stats for debugging
2014-04-29 10:55:42 -07:00
Armon Dadgar
2dd0d80274
consul: Increase DB size on 64bit systems. Fixes #81 .
2014-04-28 17:07:59 -07:00
Armon Dadgar
b4ae24db02
consul: Clear peer set on leave. Fixes #69
2014-04-23 11:39:45 -07:00
Armon Dadgar
efa972057e
consul: Update to use raft-mdb package
2014-04-19 13:31:56 -07:00
Armon Dadgar
7884439b7c
consul: Ensure Raft also uses TLS connections
2014-04-07 15:06:59 -07:00
Armon Dadgar
1ab9a4ad53
consul: Enable incoming TLS connections to server
2014-04-07 15:06:59 -07:00
Armon Dadgar
f68d3160d2
consul: Server initializes pool with TLS settings
2014-04-07 15:06:59 -07:00
Armon Dadgar
47ad40a925
consul: Adding KVS RPC endpoint
2014-03-31 14:15:49 -07:00
Armon Dadgar
80439376cf
consul: Should not clear the peer set
2014-03-25 14:57:00 -07:00
Armon Dadgar
32e500e012
consul: Set maximum raft log size to 128MB
2014-03-25 13:29:15 -07:00
Armon Dadgar
cd6842ff6b
consul: Add tags for consul protocol versions
2014-03-09 15:46:03 -07:00
Armon Dadgar
2a8d998968
consul: Adding protocol version numbers
2014-03-09 15:18:36 -07:00
Armon Dadgar
ad2d5752c9
consul: Peg Serf proto version to 3
2014-03-05 15:32:59 -08:00
Armon Dadgar
1b1cb3be11
consul: Passthrough the Serf Stats()
2014-02-23 18:08:58 -08:00
Armon Dadgar
2362b397fa
consul: Adding Stats() method to get various debugging information
2014-02-23 16:37:33 -08:00
Armon Dadgar
800975200a
consul: Increase network timeout value
2014-02-22 11:13:59 -08:00
Armon Dadgar
e54d8f6c07
consul: Reduce the number of raft snapshots we keep
2014-02-22 10:57:22 -08:00
Armon Dadgar
5e790b02a9
If not in bootstrap mode, clear the raft peerset
2014-02-21 15:21:27 -08:00
Armon Dadgar
5d8783148b
consul: Only add ourself to the peerset if we are in bootstrap mode
2014-02-20 16:27:14 -08:00
Armon Dadgar
421c4d6933
consul: Do not replay events on serf join
2014-02-20 16:27:03 -08:00
Armon Dadgar
889297dc99
consul: Adding telemetry
2014-02-20 15:16:26 -08:00
Armon Dadgar
d7b3174804
consul: ConnPool multiplexes a single connection instead of using multiple
2014-02-05 16:19:05 -08:00
Armon Dadgar
697d9e7ed8
consul: Cleanup the FSM, running out of file handles
2014-02-05 11:00:10 -08:00
Armon Dadgar
231bbb1bd5
consul: Log state store errors
2014-02-03 15:21:56 -08:00
Armon Dadgar
fe0efdfa75
consul: Update for serf 0.4
2014-01-30 13:13:29 -08:00
Armon Dadgar
28a9598c91
Preventing multiple nodes in bootstrap mode from adding each other as Raft peers
2014-01-20 13:56:29 -10:00
Armon Dadgar
01c73ee9ae
change isConsulServer to parse flags
2014-01-20 13:39:07 -10:00
Armon Dadgar
cf29019545
Simplify Raft peer adds using only reconciliation
2014-01-10 12:55:55 -08:00
Armon Dadgar
4c992a88c1
Log cleanup
2014-01-10 11:06:11 -08:00
Armon Dadgar
c0029c6967
First pass at Serf reconciliation
2014-01-09 15:49:09 -08:00
Armon Dadgar
679dae613e
Retain reference to RPC endpoints
2014-01-09 15:30:36 -08:00
Armon Dadgar
d781e29d7c
Cleanup
2014-01-09 11:33:23 -08:00
Armon Dadgar
7b4f7ca6b6
Testing the health endpoints
2014-01-08 14:23:52 -08:00
Armon Dadgar
4b2be68cc9
Allow for more cached connections
2013-12-31 17:43:56 -08:00
Armon Dadgar
93dac80a86
Adding support for advertise address
2013-12-31 16:45:13 -08:00
Armon Dadgar
caf3a847e6
Guard against a bad advertise address
2013-12-31 14:00:25 -08:00
Armon Dadgar
b468519698
Changing the Join interfaces to match Serf
2013-12-30 12:20:17 -08:00
Armon Dadgar
9a2d3c144a
Adding a bootstrap flag to allow single server raft
2013-12-24 16:48:07 -08:00
Armon Dadgar
682a986ae8
Do not leave raft pool if we are the only member
2013-12-24 12:36:50 -08:00
Armon Dadgar
39d9e3e78f
More HTTP endpoints
2013-12-23 16:20:51 -08:00
Armon Dadgar
9e7feea454
Setup logging for Raft properly
2013-12-23 15:30:45 -08:00
Armon Dadgar
c3866c9516
Ensure local server is always a raft peer
2013-12-23 11:50:58 -08:00
Armon Dadgar
862a838ff1
Adding time based reaping to ConnPool
2013-12-19 15:42:17 -08:00
Armon Dadgar
b0d6c443da
Server also implements ConsulRPC interface
2013-12-19 15:18:25 -08:00
Armon Dadgar
ee7f13b205
Refactor ensurePath to util
2013-12-19 14:18:55 -08:00
Armon Dadgar
108df68d3d
Guard against accessing slices that may have contents changed
2013-12-18 16:40:32 -08:00
Armon Dadgar
4abc881adc
Switch Raft from SQLite to MDB
2013-12-18 16:23:17 -08:00
Armon Dadgar
d4476e3df6
Track remote consul servers
2013-12-11 16:24:34 -08:00
Armon Dadgar
3b8888bdc8
consul: starting work on some RPC layers
2013-12-11 14:04:44 -08:00
Armon Dadgar
148607ac88
consul: working on fsm state
2013-12-10 17:00:48 -08:00
Armon Dadgar
808e23bbd4
consul: Adding method to force remove failed nodes
2013-12-10 14:42:29 -08:00
Armon Dadgar
29d0f901dc
consul: Adding LANMembers and WANMembers
2013-12-10 13:17:54 -08:00
Armon Dadgar
207171f264
consul: Adding tons of shit, leave test
2013-12-09 16:05:15 -08:00
Armon Dadgar
dbc9eeb8a7
consul: store the peerstore
2013-12-09 15:29:01 -08:00
Armon Dadgar
500927cbb1
consul: Leave does a RemovePeer RPC call
2013-12-09 15:01:42 -08:00
Armon Dadgar
1a9a51c5c2
consul: Adding Raft rpc endpoint
2013-12-09 14:49:07 -08:00
Armon Dadgar
a2eb514206
consul: gossip role includes rpc addr
2013-12-09 14:30:16 -08:00
Armon Dadgar
8f2d9f9b0d
consul: RaftLayer does not use ConnPool
2013-12-09 14:25:59 -08:00
Armon Dadgar
06306ad66f
consul: close raft transport before layer
2013-12-09 14:20:56 -08:00
Armon Dadgar
e780255dd4
consul: sharing the RPC layer between Consul/Raft
2013-12-09 13:13:40 -08:00
Armon Dadgar
47b2b357a4
consul: Adding leave function
2013-12-09 12:10:27 -08:00
Armon Dadgar
2ad674677c
consul: adding connection pool
2013-12-09 12:09:57 -08:00
Armon Dadgar
9e8cdb6c7a
consul: Add+test JoinLAN/JoinWAN
2013-12-06 17:18:09 -08:00
Armon Dadgar
41b3ca7da9
consul: refactor into more files
2013-12-06 16:54:33 -08:00
Armon Dadgar
310eb2f506
consul: Basic RPC framework
2013-12-06 16:35:13 -08:00
Armon Dadgar
b8bc9d2027
consul: Rename to LAN/WAN instead of Local/Remote
2013-12-06 16:05:26 -08:00
Armon Dadgar
7fbd8ba370
consul: adding basic skeleton
2013-12-06 15:43:07 -08:00