248 Commits

Author SHA1 Message Date
wangkechun
059b9d36d7 fix fmt str 2017-02-25 22:53:25 +08:00
Asim Aslam
71d717a06d strip doc.go files 2016-12-14 15:41:48 +00:00
Asim
c289f6acaa Make use of consul 0.7 deregister field. Now auto reaps dead services 2016-11-25 11:23:37 +01:00
chriss
fabdd4a704 Remove consul token helper method.
A Consul config struct can be passed using the `Config` helper making this helper redundant.
2016-11-21 16:16:24 +00:00
Asim
f9709ffa6e ensure the code does not panic 2016-11-18 07:30:50 +00:00
chriss
8a25723fe0 Set consul token via registry options.
Optionally configure a token to use with the consul client.
2016-11-18 00:07:12 +00:00
chriss
3d7187f405 Add the ability to pass consul client config via registry options.
This can be used when you need to configure the consul client to use a specific configuration (E.G to pass a Token if consul is using ACL policies)
2016-11-17 23:24:14 +00:00
Jelmer Snoeck
e59f7a7ace
ConsulRegistry: use health checks to select nodes.
Consul sees a healthcheck that is in the warning state as a "failed"
node. This means that when we ask Consul for services that are passing,
it would not return nodes that have warning healthchecks.

In the cache, we only check on critical to skip for nodes. This makes
the cache out of sync with the non-cache implementation.

This patch reworks the non-cache implementation to ask for all nodes
(even unhealthy ones) and does the same check as within the cache, skip
nodes that have critical healthchecks.

We've noticed this issue when we deployed custom healthchecks where the
cache was acting properly, but after 1 minute we saw "None Available"
errors. This is due to the TTL expiry on the cache, which is then
followed by doing a non cached request.
2016-08-26 08:36:45 +01:00
Asim
71d64f911f make a copy of services for handle method 2016-08-24 18:37:11 +01:00
Asim
0afaaeec8d make a copy of services 2016-08-24 18:27:15 +01:00
Jelmer Snoeck
81231c0b6f
ConsulWatcher: deregister if service checks fail. 2016-08-11 15:18:50 +01:00
Asim
2d6c403992 don't close next chan, instead use exit chan 2016-07-30 11:58:10 +01:00
Asim
6aac602b31 return error when zero services in mock registry 2016-06-30 20:11:04 +01:00
Asim
1254a87286 Add package comments 2016-05-24 22:22:46 +01:00
Asim
04bc20798d Don't strip decode because its good to be backwards compatible still 2016-05-22 18:43:47 +01:00
Asim
2708f9c04b No longer need to test old encoding 2016-05-22 18:41:06 +01:00
Asim
06ee80fd0a Strip old encoding 2016-05-22 18:34:47 +01:00
Asim
e541d45f38 When the TTL flips to critical we should issue a delete event 2016-05-03 18:34:57 +01:00
Asim
d3de45409f Simplify watcher test 2016-05-01 22:30:33 +01:00
Asim
7996785195 Try a different way of testing 2016-05-01 22:05:21 +01:00
Asim
3709831d8e Watch results may be unordered 2016-05-01 21:38:22 +01:00
Asim
50eb97129e Add watcher test 2016-05-01 21:30:14 +01:00
Asim
96104aa209 Add mdns test and fix the bug it revealed 2016-05-01 21:21:15 +01:00
Asim
e14f9a0380 Add watcher.... OH YEAAA 2016-05-01 19:31:03 +01:00
Asim
59f1a9a07b Use mdns-sd service 2016-04-30 00:22:31 +01:00
Asim
ae8c948202 Use our fork of mdns with all the updates 2016-04-30 00:15:00 +01:00
Asim
c26f989bbb Fix encoding so we split across txt records 2016-04-28 18:36:59 +01:00
Asim
6c108d95b2 First attempt at mdns 2016-04-27 18:21:05 +01:00
Asim
3d3044404e Don't add to defaults in func init, just add them to cmd 2016-04-26 18:49:02 +01:00
Asim
f7c57fd4f4 Mock watcher that just blocks 2016-04-26 18:32:43 +01:00
Asim
e2855c4bc2 Fix some mapping issues while we're at it 2016-04-09 22:19:03 +01:00
Asim
9d7bd3f424 God damn you nil map 2016-04-09 21:34:45 +01:00
Asim
b3fbd36ba7 Don't re-register if the state hasn't changed 2016-04-09 21:30:31 +01:00
Asim
bfe20d81d0 More linting fun 2016-04-06 18:03:27 +01:00
Asim Aslam
c462d7776c Merge pull request #63 from micro/encoding
Fix Consul WARN issues for tags
2016-04-05 16:14:28 +01:00
Asim
17a97e2ef1 Set ver 2016-03-29 18:32:16 +01:00
Asim
cb89b2ebca update encoding test 2016-03-29 18:16:55 +01:00
Asim
61178d1b45 Update encoding to be backwards compatible. 2016-03-29 17:44:46 +01:00
Asim
0a81cb1190 unexport mock registry 2016-03-17 22:54:18 +00:00
Asim
e941796234 Add encoding that does not throw warns 2016-03-16 21:23:41 +00:00
Asim
f088074f29 Registry init 2016-03-15 22:20:21 +00:00
Asim
15db053bc6 update mock tests 2016-03-14 19:15:42 +00:00
Asim
71764564e7 Add packages for the defaults 2016-03-14 10:45:38 +00:00
Asim
ad0744a95f make the mock sliggghtly more useful 2016-02-26 00:09:06 +00:00
Asim
93b923261c Add ErrNotFound 2016-02-25 12:42:31 +00:00
Asim
146701eeaa Add some comments 2016-01-30 21:13:34 +00:00
Asim
013d1de2c4 Prefer RegisterTTL set through Init 2016-01-27 12:23:18 +00:00
Asim
61094fefe8 If TTL is nil it might bail 2016-01-27 00:32:16 +00:00
Asim
47bfdbe49e Fix mock 2016-01-27 00:18:44 +00:00
Asim
55145d08a1 Use agent service for this 2016-01-27 00:15:46 +00:00
Asim
5ec9d561a6 meh 2016-01-26 23:32:27 +00:00
Asim
ce0c5908a6 Update the watcher 2016-01-26 21:10:27 +00:00
Asim
cd13f0389f Fix this cruft 2016-01-26 20:44:29 +00:00
Asim
822cc0e5da Use ServiceID as node.ID rather than Node.... in time remove Node/Address completely 2016-01-26 20:30:05 +00:00
Asim
a6ce435a07 If secure or tlsconfig not nil then secure 2016-01-17 00:33:07 +00:00
Asim
ae2ab911ed Access tls config 2016-01-16 23:39:47 +00:00
Asim
60ee085cbc Add secure option to registry 2016-01-16 20:25:18 +00:00
Asim
8bf72a3325 Replace map[string]string with Context for extra options. map[string]string is essentially useless. Context can store anything 2016-01-06 16:25:12 +00:00
Asim
191e835aa9 Add extra options to be used by others that need them 2015-12-31 18:14:40 +00:00
Asim
be43d827c7 Add String method to all interfaces 2015-12-19 21:56:14 +00:00
Asim
d7b3765c71 Allow setting of timeout for registry 2015-12-19 18:28:08 +00:00
Asim
ed75f84584 add json tags to registry service 2015-12-15 21:02:43 +00:00
Asim
eefb9c53d4 Move to a selector package 2015-12-09 19:23:16 +00:00
Asim
a2c862dd21 Add service random 2015-12-09 12:44:38 +00:00
Asim
46905347bb unblack list when err is nil 2015-12-09 02:42:02 +00:00
Asim
f59787a906 add blacklist selector 2015-12-09 02:31:17 +00:00
Asim
9072a944e2 Add selector code 2015-12-09 00:02:45 +00:00
Asim
011a3dc9e3 Add watcher comments 2015-12-05 02:05:06 +00:00
Asim
d4f3a6070c Update the watch interface 2015-12-05 01:12:29 +00:00
Asim
04e07f4b39 Move plugins to go-plugins 2015-11-25 00:17:15 +00:00
Asim
5d88115f2a update links from myodc to micro 2015-11-20 16:17:33 +00:00
Asim
9b23729eac add default port where none is specified 2015-11-16 12:11:03 +00:00
Asim
0320fc1b55 Update registry so version is surfaced 2015-11-08 01:48:48 +00:00
Asim
3302fab644 Move kubernetes registry to myodc/go-plugins because god damnit stop breaking you.... 2015-10-27 19:08:45 +00:00
Asim
d9ae100524 Fix registry address usage 2015-10-26 20:23:57 +00:00
Asim
e2b849da29 Fix breaking build 2015-10-20 18:03:39 +01:00
Asim
975c6d4148 add kubernetes registry back since its being used... 2015-10-18 12:12:41 +01:00
Asim
1b1aa4915e Remove kubernetes registry. Add v1 of in memory registry using memberlist 2015-10-18 00:01:43 +01:00
Asim
6ab6e9725d Add endpoints in etcd 2015-10-11 16:41:55 +01:00
Asim
fcbd2acdde add endpoint data for consul registry 2015-10-11 12:05:20 +01:00
Asim
ac995ba983 update etcd registry to use github.com/coreos/etcd/client 2015-09-26 17:09:03 +01:00
Asim
e89f31730b Fix imports 2015-08-26 12:10:10 +01:00
Asim
113cc8a9cb Remove service id so nodes are also removed from catalog 2015-08-15 23:03:50 +01:00
Asim
b91af916f9 Add pub/sub to client/server and make broker more low level 2015-06-12 19:52:27 +01:00
Asim
cdf2f2cbcd Change receiver to handler, breaking change, grrr 2015-06-03 01:25:37 +01:00
Asim
09c784d294 add support for streaming requests. cleanup watcher initilisation 2015-06-01 18:55:27 +01:00
Asim
fa2c27b64f PortalIP no longer exists 2015-05-29 09:58:49 +01:00
Asim
d23e46df3a Add basic etcd registry implementation 2015-05-27 22:22:02 +01:00
Asim
36b5ca46fe Change initialisation and add metadata 2015-05-26 22:39:48 +01:00
Asim
7aa2c82ced Service and node should be structs rather than interface 2015-05-25 22:14:28 +01:00
Asim
74fd1fc989 Restructure go-micro layout and plugins 2015-05-23 20:04:16 +01:00
Asim
0e7bd77f4c Allow configurable addresses for everything 2015-05-16 00:34:02 +01:00
Asim
52f140da5f Add support for listing services, very rough 2015-04-03 00:52:49 +02:00
Asim
f2daa02256 Fix kubernetes compile issues 2015-04-03 00:30:18 +02:00
Asim
4b494966fb Add consul watcher 2015-02-14 23:00:47 +00:00
Asim
b9e50324cb Add watcher and cache for kubernetes registry 2015-02-07 23:15:35 +00:00
Asim
0e73a84857 github.com/armon/consul-api was deprecated, use official api 2015-01-19 19:37:28 +00:00
Asim
8e55cde513 First 2015-01-13 23:31:27 +00:00