Commit Graph

147 Commits (6790930c4e7345f0f021e188558854d43e37b3f0)

Author SHA1 Message Date
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