1
0
Fork 0

250 Commits (master)

Author SHA1 Message Date
Philip O'Toole 07d2ba01e4 go mod updates 2 years ago
Philip O'Toole 74f24c2bf1 Bootstrapping needs ForceAttemptHTTP2
Fix unit test to check for this.
2 years ago
Philip O'Toole 3e84139290 Default to mutual TLS off for node-to-node 2 years ago
Philip O'Toole 27839b53f7 ABL 2 years ago
Philip O'Toole 72b47fa19b Simpler logic 2 years ago
Philip O'Toole 89c3dfaa2e Force Joiner to use HTTP/2 2 years ago
Philip O'Toole ba39227c93 Move to a single cert-key pair for nodes 2 years ago
Philip O'Toole 54e649c341 More TLS unit test fixes 2 years ago
Philip O'Toole 673fd8cade More use of central TLS config 2 years ago
Philip O'Toole 2005d94ad7 go mod updates 2 years ago
Philip O'Toole 60ef0a86b8 Final tweaks 2 years ago
Philip O'Toole 9e710edc99 More suitable file name 2 years ago
Philip O'Toole 2e56d22526 RemoveNode cluster-level unit test 2 years ago
Philip O'Toole 98575d727b Start adding remote remove node
More testing, including unit testing, required.
2 years ago
Philip O'Toole bfc35eaf7c
Simplify reap command line flags (#1118)
Simplify reap command line flags
2 years ago
Philip O'Toole e74bfc182a Use new Encoder everywhere 2 years ago
Philip O'Toole 36f97bdb55 Better logging for failure-to-join 2 years ago
Philip O'Toole 62e229d266 Improve comments 2 years ago
Philip O'Toole f7c6ce6696 Bootstrapping doesn't need bootstrap-expect
It's the Store object that needs it.
2 years ago
Philip O'Toole 65cd556549 Fix remote-load error handling
Error from remote node was being dropped.
2 years ago
Philip O'Toole ec0750a4c2
Update service.go 2 years ago
Philip O'Toole e57270d36c Fix up unit tests 2 years ago
Philip O'Toole c8d521e628 Fix cluster service with 8-byte lengths 2 years ago
Philip O'Toole 0e44835346 Move to 8-byte proto lengths for cluster comms
This is a longstanding issue that needs to be fixed.
2 years ago
Philip O'Toole dbca70898b Refactor cluster client 2 years ago
Philip O'Toole 06e098e41a Mostly better logging 2 years ago
Philip O'Toole b0f17b86c7 Notified node checks address resolution
If a non-resolvable address is passed to the Store, and then Store then
adds that to the config, it can result in a cluster that seems to have
insufficient members (since the remote node can't be contacted). This
may trigger a new leader election.
2 years ago
Philip O'Toole 9ff03d3028 Client-level unit testing of Load 2 years ago
Philip O'Toole 0f140d092e Merge remote-tracking branch 'origin' into load-forwarding 2 years ago
Philip O'Toole 43e8bbfd95 Remove noisy error from log 2 years ago
Philip O'Toole 44b7eb96a0 Remove extraneous formatter 2 years ago
Philip O'Toole 3bfe2ccdcc Nicer logging during joining 2 years ago
Philip O'Toole d2590ca646 Initial proto work for load forwarding 2 years ago
Philip O'Toole 78f3bb13c3 No need to jitter during init 2 years ago
Philip O'Toole 8a69aa53aa HTTP-level unit testing of remote backup 2 years ago
Philip O'Toole 16a0b41321 Better errors 2 years ago
Philip O'Toole 1827c6eec5 Compress backups before transmission between nodes 2 years ago
Philip O'Toole 34c9914148 WIP -- unit test passing 2 years ago
Philip O'Toole 6ab718df2d Better name 2 years ago
Philip O'Toole e492c5f5f0 More Backup-forwarding WIP 2 years ago
Philip O'Toole 1049e41b6c WIP before moving to proto backup model 2 years ago
Philip O'Toole 1f362a27e9 Shorter boot cycle
It's pretty slow on k8s.
2 years ago
Philip O'Toole 045de6fd57 More NO_CREDS use 2 years ago
Philip O'Toole 7ccfbd93b2 Move to top-level use of cluster.Credentials 2 years ago
Philip O'Toole 3afa2ce80a Stick with simple proto
The proto was not well designed in the first place, but it's better to
deal with it as-is, and wait until another major release to fix it.
2 years ago
Neal Harrington f750f78558 Remove test logs 2 years ago
Neal Harrington e4a810d7ea Treat error from rpc response as a first class object, delineate error types a bit, use this data to check auth when forward from http 2 years ago
Neal Harrington c0b1b6c762 write some tests, make them pass 2 years ago
Neal Harrington 563cbda013 remove some println statements 2 years ago
Neal Harrington 8921ee002e Clean up unncessary conditional. Add explicit auth/ tests for empty credentials/anonymous case 2 years ago
Neal Harrington 7cceb822a4 First things 2 years ago
Philip O'Toole d9b2e0b2fa WIP creds forwarding 2 years ago
Philip O'Toole 44230c98b5 Allow configurable cluster-connect timeout
Fixes https://github.com/rqlite/rqlite/issues/1042
2 years ago
Philip O'Toole 1cc0a40274 More fixes for https://github.com/rqlite/rqlite/issues/1029 2 years ago
Philip O'Toole 569ff39bac Handle more connection errors
Fix https://github.com/rqlite/rqlite/issues/1029
2 years ago
Philip O'Toole e5a8a209e0 Don't resolve any addresses
This makes working with systems like Kubernetes difficult. rqlite should
probably never have worked liked this. If IP addresses are still
perferred they can be passed in explicitly as command line arguments.
3 years ago
Philip O'Toole e1aeb9a664
Refactor join code with Joiner type (#986)
Refactor join code with Joiner type
3 years ago
Philip O'Toole bba69d6300
Add support for DNS-based autoclustering (#979)
New disco-bootstrapping hybrid to autoclustering, which uses DNS A Records to find nodes.
3 years ago
Philip O'Toole e4fed0cee3
Add bootstrap-expect (#974)
Add cluster-boostrap
3 years ago
Philip O'Toole ca7e6e98ff Stop using deprecated protobuf package 3 years ago
Philip O'Toole 860999951d
Enhance Authentication and Authorization system (#940) 3 years ago
chermehdi 3bfcbffc37 Fix typos and Grammar issues 3 years ago
Philip O'Toole 4f92d91a63 Use correct MIME media type for JSON
https://www.ietf.org/rfc/rfc4627.txt

https://github.com/rqlite/rqlite/issues/933
3 years ago
Philip O'Toole 1fe335869d Unit test increased cluster response size 3 years ago
Philip O'Toole 3f039a9b3a Don't truncate cluster response length 3 years ago
Philip O'Toole 7e81fa88b6 ABL 3 years ago
Philip O'Toole 6b7318d188 Set missing connection timeouts 3 years ago
Philip O'Toole 955f2302c4 Conn, not PoolConn
It's already in the pool package.
3 years ago
Philip O'Toole 38d5fc42b0 Add timeout control to GetNodeAPIAddr 3 years ago
Philip O'Toole 40eaf6be24 Typo and CHANGELOG 3 years ago
Philip O'Toole 246f7fbb65 Ensure client local hostname works 3 years ago
Philip O'Toole 9aecafedbe Cluster client resolves advertised local address
Also, improve HTTP stats.
3 years ago
Philip O'Toole a8d436e944 Improve stats 3 years ago
Philip O'Toole d90ea2e6b1 Service Node API requests locally if possible 3 years ago
Philip O'Toole 39615983d4 Merge branch 'master' of github.com:rqlite/rqlite into conn-pool-2 3 years ago
Philip O'Toole 711f6664f9 Service can return HTTP API URL 3 years ago
Philip O'Toole 5613edd887 Fix connection pool stats
Also HTTP should read its own Raft address locally.
3 years ago
Philip O'Toole 3a70db5150 Long-lived connections in cluster service
Needed now that we're using connection pooling. Unit tests pass.
3 years ago
Philip O'Toole c8483d2ec5 Use connection pool with Cluster Execute and Query 3 years ago
Philip O'Toole ac53893673 GetNodeAPI uses connection pool 3 years ago
Philip O'Toole 312e44e57d Add Connection Pool for GetNodeAPIAddr 3 years ago
Philip O'Toole 25a51534da Fix comments 3 years ago
Philip O'Toole 5479a13aa1 Better variable names 3 years ago
Philip O'Toole 6e17295913 Group network-related params together 3 years ago
Philip O'Toole 0b8beb6a5d Implmenet Request Forwarding timeout support 3 years ago
Philip O'Toole 90a16403ff Comments 3 years ago
Philip O'Toole 82067cdec1 Client to Service Execute unit test 3 years ago
Philip O'Toole 1ceb59d8f3 Client to Service Execute unit test 3 years ago
Philip O'Toole d503db616e Better modeling with oneof 3 years ago
Philip O'Toole 9dbaa51296 Proper service-client testing 3 years ago
Philip O'Toole 1f56b5372f cluster package unit tests passing 3 years ago
Philip O'Toole bffce00c26 Add missing client.go 3 years ago
Philip O'Toole 796ef147f7 Hook in explicit Cluster Dialer 3 years ago
Philip O'Toole 281c454fc2 Refactor into distinct cluster client type 3 years ago
Philip O'Toole ab0968644f More error handling 3 years ago
Philip O'Toole f101b2afdd Check conn write errors 3 years ago
Philip O'Toole 697132a6ee Remove metadata from Join operations
It's no longer needed.
3 years ago
Philip O'Toole 4fd5555c41 ABL 3 years ago
Philip O'Toole 497ee77625 More Mux instrumentation 3 years ago
Philip O'Toole 0d533dfa4c Some cleanup 3 years ago
Philip O'Toole be7198f550 Go Doc 3 years ago
Philip O'Toole 2cef5679b7 rqlited starts and stops fine 3 years ago
Philip O'Toole cbc2a686db Instrument Cluster service 3 years ago
Philip O'Toole 0ab519f6dc Test cluster service with TLS Mux 3 years ago
Philip O'Toole 0c53748636 Unit test mux with TLS transport 3 years ago
Philip O'Toole 4218df64dd Start TLS testing of service 3 years ago
Philip O'Toole f4639b2caf Defer conn close 3 years ago
Philip O'Toole f2947f84c4 Basic Cluster service in place 3 years ago
Philip O'Toole e934630a58 Basic cluster RPC service 3 years ago
osx1260@163.com d9cffbad1e update: go run fmt 4 years ago
osxlinux 03e616d1f7 fix: Optimize the Conversation from O\'Toole 4 years ago
osx1260@163.com 9d5a9c69f4 fix: run go fmt 4 years ago
osxlinux 3ba5e31fb2 feat: Support to specify the source IP when you are in a complex network environment 4 years ago
Philip O'Toole 181c176e06 Revert "Merge pull request #697 from rqlite/hosts-not-ips"
This reverts commit 522e38849d, reversing
changes made to 89f325edd8.
4 years ago
Philip O'Toole f96c443a9c Do not use resolved address in join request
It's not clear why this code was put in place in the first place, but it
may not be necessary.
4 years ago
Philip O'Toole 32a7625e69 Unit test zero join attempts 4 years ago
Philip O'Toole 3f0182c8e8 Make num join attempts and interval configurable 4 years ago
Philip O'Toole 81f5f6faf1 Add support for non-voting nodes
A non-voting node doesn't participate in Raft consensus, but does
subscribe to the committed log entries originating with the leader.
This means a non-voting node keeps up-to-date with the state machine,
without impacting write-latency. These non-voting nodes can provide
read scalability for the cluster.
5 years ago
Philip O'Toole 9d595e2ead ABL 5 years ago
Philip O'Toole f57ace7da2 Broadcast Store meta via standard consensus
With this change the cluster metadata (arbitrary key-value data associated with each node) is now broadcast across the cluster using the standard consensus mechanism. Specifically the use case for this metadata is to allow all nodes know the HTTP API address of all other nodes, for the purpose of redirecting requests to the leader.

This change removed the need for multiplexing two logical connections
over the single Raft TCP connection, which greatly simplifies the
networking code generally.

Original PR https://github.com/rqlite/rqlite/pull/434
5 years ago
Philip O'Toole e376812907 Add method to Store that returns leader ID
With the advent of Raft IDs, this distinction matters.
5 years ago
Philip O'Toole 8a0e1ce8f0 Move to Hashicorp Raft v1 5 years ago
Philip O'Toole 33f6f6bf8e Move EnsureHTTPS into http module 5 years ago
Philip O'Toole 329e50ffbb Update comment re HTTP retry 5 years ago
Philip O'Toole de379a883c When joining try HTTPS if HTTP fails 5 years ago
Zac Medico f01e6b1b0a
Server -http-ca-cert and -node-ca-cert options
The -http-ca-cert and -node-ca-cert options allow the user to specify
trusted X.509 root CA certificates as an alternative to the
-http-no-verify and -node-no-verify options. This behavior is analogous
to the rqlite client -ca-cert option.
5 years ago
Philip O'Toole 7bd54944f3 More package-level GoDoc 7 years ago
Philip O'Toole acaa014b49 Merge pull request #286 from rqlite/fix_http_help
Tweak help output
8 years ago
Philip O'Toole 25255c3680 Explicitly don't follow redirects 8 years ago
Philip O Toole 1225885aa5 Tighten a join test further 8 years ago
Philip O Toole 61ab3138ae Tweak redirect join test 8 years ago
Philip O Toole 6d82757994 Better join logging 8 years ago
Philip O Toole 5c8fb9f575 Add some logging to join code 8 years ago
Philip O Toole 4f7a04e1d9 Sleep and retry, if join fails 8 years ago
Philip O'Toole dadea674f3 More unit test of join functionality 8 years ago
Philip O'Toole 8f9a26ed7b Add initial, more complex, join functions
Also, remove questionable check of join and disco.
8 years ago
Philip O Toole bf2047b45b 'go lint' fixes 8 years ago
Philip O'Toole fac48629bc Start initial integration of mux (#109)
Integrate TCP mux with cluster and store

This change allows any node, including followers, to use the Raft log to make changes to a cluster-wide state.
9 years ago
Philip O Toole aef17f6a52 Listener is actually a Transport 9 years ago
Philip O Toole 57880acc58 Better names for cluster package files 9 years ago
Philip O'Toole bd14a0aa9e Test cluster service contacting leader 9 years ago
Philip O'Toole 84e534ab34 Simply wait for response from cluster during tests 9 years ago
Philip O'Toole 60103f1d24 Correct typo in error message 9 years ago
Philip O Toole 2fee305a89 'go vet' fixes 9 years ago
Philip O Toole 5ce4f4d0a5 'go fmt' fixes 9 years ago
Philip O Toole d5e3889ac8 Unit test setting peers on cluster service 9 years ago
Philip O Toole f50dc9a533 More cluster package testing 9 years ago
Philip O Toole d3ec6856c9 Start fleshing out tests 9 years ago
Philip O'Toole 20f5e3b298 Error check remote operations 9 years ago
Philip O'Toole 26545006ee Add initial cluster service package 9 years ago