203 Commits

Author SHA1 Message Date
Brandon Philips
76da437f29 bump(github.com/coreos/raft): ef3280ce54f60fff98a72012f547ed2b3415841f 2014-02-07 11:19:23 -08:00
Brandon Philips
468a68c96c feat(server): make the RetryInterval of PeerServer tunable
For tests and other environments it would be nice to be able to tune how
long to sleep between retries.
2014-02-06 22:10:09 -08:00
Brian Waldon
63fa35c99f refactor(tls): clarify & simplify tls configuration 2014-02-06 21:15:38 -08:00
Brandon Philips
1c91c167fc feat(config): remove the info file
The info file was meant to help the user from accidently making a
mistake but often times it just confuses people:

https://github.com/coreos/etcd/issues/356
https://github.com/coreos/etcd/issues/531
https://github.com/coreos/etcd/issues/318

Lets remove the info file for this next release.
2014-02-05 16:20:50 -08:00
Brandon Philips
40021ab72e bump(github.com/coreos/go-etcd): 526d936ffe75284ca80290ea6386f883f573c232 2014-02-05 09:27:39 -08:00
Brandon Philips
f56965b1c0 refactor(config): make config its own package
Refactor config into its own package. Trying to tease the config from
the server so that all of the control surfaces are exposed in the Server
for easier testing.
2014-02-05 09:27:39 -08:00
Brandon Philips
72b393ca53 Merge pull request #519 from philips/fixup-server-tls-client-config
fix(server): fix client certificate verification
2014-02-03 17:33:45 -08:00
Brandon Philips
13b6c1e684 chore(*): make everything use goven
for i in github.com/BurntSushi/toml github.com/coreos/go-etcd/etcd github.com/coreos/go-log/log github.com/gorilla/context github.com/rcrowley/go-metrics bitbucket.org/kardianos/osext github.com/coreos/go-systemd/journal github.com/coreos/raft code.google.com/p/goprotobuf/proto ; do goven  -copy -rewrite $i; done
2014-02-01 23:44:18 -08:00
Brandon Philips
ea8a353545 chore(*): gofmt everything 2014-02-01 23:44:10 -08:00
Brandon Philips
0fa6d38574 fix(server): fix client certificate verification
In d0c4916fe9b2afaa273a2a7bc9782321a866ab9f the TLS CA Certificate
verification broke.

This was bisected using the following basic test:

```
./bin/etcd -f -name machine0 -data-dir machine0 -ca-file=/tmp/ca/ca.crt -cert-file=/tmp/ca/server.crt -key-file=/tmp/ca/server.key.insecure
```

And in another window doing

```
curl --key /tmp/ca/server2.key.insecure  --cert /tmp/ca/server2.crt -k -L https://127.0.0.1:4001/v2/keys/foo -XPUT -d value=bar -v
```

Before merging this PR there are a few things that need to be fixed up:

1) Tests for client certs both positive and negative
2) Refactor (or at least documentation of) the TLSConfig types
2014-01-31 16:56:15 -08:00
Brian Waldon
2fe22f1890 refactor(servers): emit http.Handlers from *Server 2014-01-22 11:17:58 -08:00
Brian Waldon
089021ca6d refacotor(transporter): make TLS config explicit 2014-01-22 11:17:58 -08:00
Brian Waldon
f158dfcd77 refactor(peerserver): Remove PeerServerConfig.Path 2014-01-22 11:17:58 -08:00
Brian Waldon
a7d9efa900 refactor(server): Remove ServerConfig struct 2014-01-22 11:17:58 -08:00
Brian Waldon
0abd860f7e refactor(server): drop Serve code; rename cors object
* server/cors.go renamed to http/cors.go
* all CORS code removed from Server and PeerServer
* Server and PeerServer fulfill http.Handler, now passed to http.Serve
* non-HTTP code in PeerServer.Serve moved to PeerServer.Start
2014-01-22 11:17:57 -08:00
Brian Waldon
5c3a3db2d8 refactor(server): treat Server as an http.Handler 2014-01-22 11:17:57 -08:00
Brian Waldon
a2ee620394 refactor(raft): init raft transporter & server in main 2014-01-22 11:17:56 -08:00
Brian Waldon
7bd4d05a38 refactor(peer-server): move listener init out of peer_server.go 2014-01-22 11:17:41 -08:00
Brian Waldon
d0c4916fe9 refactor(server): move listener init out of server.go 2014-01-22 11:17:26 -08:00
Brian Waldon
91fc6aabd2 chore(gofmt): Run gofmt 2014-01-22 11:17:26 -08:00
Brian Waldon
c0ff8f6026 chore(imports): Shift around some imports 2014-01-22 11:17:26 -08:00
Brian Waldon
a93d60be90 refactor(cors): Break apart CORS data and middleware 2014-01-22 11:17:26 -08:00
Brian Waldon
c47760382e refactor(Server): Use a config struct in Server 2014-01-22 11:17:25 -08:00
Brian Waldon
9c8a23c333 refactor(PeerServer): Use a config struct in PeerServer 2014-01-22 11:17:03 -08:00
Brian Waldon
7eaad5c8e0 feat(metrics): enable some metrics; push to graphite
* -trace flag controls whether or not to enable metrics-gathering
  and the /debug/* HTTP endpoints
* -graphite-host flag controls where metrics should be sent
* timer.ae.handle metric tracks execution time of AppendEntriesRequest
2014-01-20 15:39:36 -08:00
Brian Waldon
32df6f92fc fix(peer): Pass peer server timeouts through factory
The peer's heartbeat and election timeouts are needed to build
the transporter in the factory method.
2014-01-14 09:18:03 -08:00
Brian Waldon
b0cdf73565 feat(logging): Add VeryVeryVerbose opt to control raft trace info
Set very_very_verbose=true in a config file or use the -vvv CLI
option to get raft trace logs in addition to etcd debug logs.
2014-01-10 11:45:04 -08:00
Ben Johnson
c7536ff5e1 Add Tuning section to README. 2013-12-18 16:40:29 -07:00
Ben Johnson
8442e7a0dc Timeout refactor. 2013-12-07 14:35:31 -07:00
Neil Dunbar
a06f5e74af Merge remote-tracking branch 'upstream/master' into feature-parametric-timeout
Conflicts:
	Dockerfile
	server/usage.go
	tests/server_utils.go
2013-12-06 10:13:33 +00:00
Brian Waldon
e7839e8c57 fix(etcd): Fix forced config reset
When a server name or a data directory were not provided, the
reset functionality would fail to clear out config files from
the appropriate place. This calcualtes the default server name
and data directory before reset is called.
2013-12-05 13:26:31 -08:00
Neil Dunbar
46f8a354d1 Added the ability to specify heartbeat and election timeouts as
config parameters.
2013-12-04 16:58:44 +00:00
Brandon Philips
04711ecde5 fix(etcd): fixup the name and data dir guessing
- Only generate the name from a hostname if the data dir is not
  specified and the name is not specified

- Only guess the data dir from Name if the data dir wasn't already
  specified
2013-11-27 12:20:26 -08:00
Brandon Philips
7c07810958 fix(etcd): remove duplicate DataDir setup
In the refactor of the configuration and flags I think that we
accidently placed this logic twice. The side effect is that we always
ended up with a `.etcd` directory.
2013-11-26 10:22:39 -06:00
Xiang Li
8a0496cfae bump deps 2013-11-22 08:59:24 -08:00
Ben Johnson
ea6b11bbf6 Config clean up and usage messaging. 2013-11-20 10:52:01 -07:00
Ben Johnson
8952c1bd42 Merge branch 'master' of https://github.com/coreos/etcd into clean-up-config
Conflicts:
	etcd.go
2013-11-19 08:28:46 -07:00
Ben Johnson
cba2611c68 Renamed configuration parameters. 2013-11-15 00:13:32 -05:00
Xiang Li
516f249403 fix create folder before write info file 2013-11-14 20:00:44 -08:00
Brandon Philips
eecd9f7e35 feat(etcd): create unique directory on no-flag case
Tell etcd to store the log and configuration into directory in the
pattern of `${machineName}.etcd` if no directory is specified.
2013-11-13 10:16:02 -08:00
Brandon Philips
6a074d4f6f chore(*.go): add copyright notice 2013-11-08 14:04:15 -08:00
Xiang Li
51f57629f9 Merge pull request #281 from xiangli-cmu/fix-snapshot
fix snapshot
2013-11-03 21:10:53 -08:00
Brandon Philips
c10653ae0c feat(etcd): use hostname as machine name
by default I don't want etcd to require parameters so people can rapidly
try it out. Try to use the hostname as the name instead.
2013-10-31 15:16:28 -07:00
Xiang Li
9d0de611a7 feat add snapCount parameter 2013-10-30 17:36:15 -07:00
Ben Johnson
bc0e07bca2 Add tiered configuration. 2013-10-21 21:37:25 -06:00
Ben Johnson
dcef04b796 Add v2 unit tests. 2013-10-17 21:52:15 -06:00
Brandon Philips
7670c85d70 feat(server): export ReleaseVersion
releaseVersion is needed in etcd.go to print it out in the -version
flag.
2013-10-16 17:29:53 -07:00
Brandon Philips
f998a19c3d feat(etcd): add version flag
print the version and exit, very simple :)

Conflicts:
	etcd.go
2013-10-16 17:29:53 -07:00
Ben Johnson
7416d2fdcc Mostly working. 2013-10-12 23:39:34 -06:00
Ben Johnson
8670e1b7aa Refactored. 2013-10-12 15:56:43 -06:00