5f1f7d904f 
					 
					
						
						
							
							Merge branch 'upstream'  
						
						
						
						
					 
					
						2020-09-20 14:24:11 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						79136c16d1 
					 
					
						
						
							
							add marker flag for sync  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-20 14:20:42 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						78c4a8e9ff 
					 
					
						
						
							
							add grpc streaming test  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-20 14:15:26 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb33535995 
					 
					
						
						
							
							use own fork  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 18:27:29 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						0fda1710d8 
					 
					
						
						
							
							client/grpc: fix stream closed bug ( #2009 )  
						
						... 
						
						
						
						* client/grpc: fix stream closed bug
* client/grpc: don't use dial context for the stream 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						7ef834f0a8 
					 
					
						
						
							
							Revert "grpc: avoid allocations for each message ( #1939 )" ( #1941 )  
						
						... 
						
						
						
						This reverts commit 2a23224d911b0aeccf0614afb937a18ad7d59bca. 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4cb6fca7e9 
					 
					
						
						
							
							grpc: avoid allocations for each message ( #1939 )  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						5756f43f12 
					 
					
						
						
							
							cleanup client/selector/lookup ( #1937 )  
						
						... 
						
						
						
						* cleanup client/selector/lookup
* add mdns router, remove registry from client
* fix roundtripper
* remove comment
* fix compile issue
* fix mucp test
* fix api router 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						14743471af 
					 
					
						
						
							
							return a micro error on lookup failure  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						1003b968cf 
					 
					
						
						
							
							embed grpc server stream and client so they can be accessed ( #1916 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						6cb3fad421 
					 
					
						
						
							
							Fix proxy being overriden by default addresses ( #1886 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						d31f820705 
					 
					
						
						
							
							client: add proxy option ( #1885 )  
						
						... 
						
						
						
						* client: add proxy option
* client: add WithProxy CallOption
* use address option
* ProxyAddress => Proxy 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						046db9e178 
					 
					
						
						
							
							v3 refactor ( #1868 )  
						
						... 
						
						
						
						* Move to v3
Co-authored-by: Ben Toogood <bentoogood@gmail.com > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						a384632c93 
					 
					
						
						
							
							client/grpc: fix error panic ( #1860 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						26e3c83c2d 
					 
					
						
						
							
							make LookupRoute exported ( #1850 )  
						
						... 
						
						
						
						* make LookupRoute exported
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* add missing file
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						456d0c25f6 
					 
					
						
						
							
							client/grpc: dont use codec for raw bytes payload ( #1847 )  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						cb2fc6e24d 
					 
					
						
						
							
							client/{grpc,rpc}: fix previous breaking change with CallFunc (router.Route vs registry.Node) ( #1781 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						fa9c531ad9 
					 
					
						
						
							
							client: add select options ( #1786 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						422fd980e9 
					 
					
						
						
							
							Deprecate client/selector ( #1767 )  
						
						... 
						
						
						
						* client/{grpc,rpc}: depricate selector (wip)
* {client,cmd}: remove client/selector
* deprecate client/selector
* router/static: fix lookup
* config/cmd: add support for legacy static selector flag
* config/cmd: add support for legacy dns selector flag 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						ea93f93b18 
					 
					
						
						
							
							selector: use custom domain ( #1760 )  
						
						... 
						
						
						
						* util/wrapper: improve auth errors
* client: add network call option
* client/selector: add domain select option
* client/grpc: pass network option to selector 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						9683d38d19 
					 
					
						
						
							
							Apply wrappers to gRPC streams ( #1675 )  
						
						... 
						
						
						
						* Add wrappers to grpc streams
* Fix typo 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						ace96191fe 
					 
					
						
						
							
							force codec on call not on dial ( #1599 )  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						a928fc196e 
					 
					
						
						
							
							Auth Client Wrapper  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						750b6d4733 
					 
					
						
						
							
							broker: add publish context ( #1590 )  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						e9db13acab 
					 
					
						
						
							
							Add network proxying ( #1556 )  
						
						... 
						
						
						
						* Add network proxying
* go fmt 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						dfd784d4fa 
					 
					
						
						
							
							Set authorization header on grpc stream  
						
						
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e0f64db92c 
					 
					
						
						
							
							minimize allocations ( #1472 )  
						
						... 
						
						
						
						* server: minimize allocations on re-register
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server: stop old instance before Init()
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* client/grpc: fix allocations in protobuf marshal
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* codec/json: fix allocations in protobuf marshal
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* remove stop from init
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* codec/grpc: expose MaxMessageSize
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* codec: use buffer pool
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* metadata: minimize reallocations
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* util/wrapper: use metadata helper
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* registry/cache: move logs to debug level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server: move logs to debug level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server: cache service only when Advertise is ip addr
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server: use metadata.Copy
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:53 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						1a06552877 
					 
					
						
						
							
							Further Refactoring  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						5a443abaf1 
					 
					
						
						
							
							add stream timeout option which defaults to 0 ( #1456 )  
						
						... 
						
						
						
						* add stream timeout option which defaults to 0
* fix option 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						f03cb96217 
					 
					
						
						
							
							Fallback to service token  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						cd1f6fcdc2 
					 
					
						
						
							
							ServicePrivileges => ServiceToken  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						c5e30c0e6e 
					 
					
						
						
							
							Fixes for CLI login  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						84a7cab60b 
					 
					
						
						
							
							WithServicePrivileges => ServicePrivileges  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Ben Toogood 
							
						 
					 
					
						
						
							
						
						21a246ad02 
					 
					
						
						
							
							Service => Service Auth  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Socket 
							
						 
					 
					
						
						
							
						
						d5a54ecfa4 
					 
					
						
						
							
							grpc pool should check state ( #1435 )  
						
						... 
						
						
						
						Co-authored-by: huangshaojie <huangshaojie@corp.netease.com > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						3ae8bc25f2 
					 
					
						
						
							
							Add ContextWithToken ( #1407 )  
						
						... 
						
						
						
						* Add ContextWithToken
* Tidying up BearerScheme
Co-authored-by: Ben Toogood <ben@micro.mu > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1969a92b6e 
					 
					
						
						
							
							client/grpc: remove json-iterator usage ( #1387 )  
						
						... 
						
						
						
						* minimize external deps and binary size
* if user wants json-iterator codec it must be used in server and
  client code. so best to use it via go-plugins
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						84a19c5dff 
					 
					
						
						
							
							grpc client/server fixes ( #1355 )  
						
						... 
						
						
						
						* grpc client/server fixes
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0e1d8c4e47 
					 
					
						
						
							
							client/grpc: unwrap error after call ( #1352 )  
						
						... 
						
						
						
						Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						284a4ee0a3 
					 
					
						
						
							
							grpc client error fix ( #1351 )  
						
						... 
						
						
						
						Co-authored-by: Ben Toogood <ben@micro.mu > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						4f5a19bf30 
					 
					
						
						
							
							Fix Auth Headers ( #1324 )  
						
						... 
						
						
						
						Co-authored-by: Ben Toogood <ben@micro.mu > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						d0c0366e0c 
					 
					
						
						
							
							add websocket streaming to api rpc handler ( #1326 )  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						42e9cc97e8 
					 
					
						
						
							
							Implement config singleton ( #1268 )  
						
						... 
						
						
						
						* Implement config singleton
* Pass token in grpc request headers
* Refactor BearerScheme
* Fix typo 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cb22a88ba3 
					 
					
						
						
							
							various fixes ( #1267 )  
						
						... 
						
						
						
						* logger: remove Panic log level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server/grpc: add missing Unlock in Subscribe error
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server: minor code change
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server/grpc: extend test suite with pub/sub testing
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server/grpc: fix invalid check and allow subscriber error to be returned
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* server/grpc: add pubsub tests
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* client/grpc: check for nil req/rsp
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						301bb127ce 
					 
					
						
						
							
							add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and othe… ( #1261 )  
						
						... 
						
						
						
						* add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and other things
* fix wrapper panic 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						2430925ea3 
					 
					
						
						
							
							Refactor auth: add token and store implementations ( #1230 )  
						
						... 
						
						
						
						* Refactor auth: add token and memory implementations
* Fix typo
* Remove memory auth (implemented already by the store implementation), revert default to noop
* Add grpc header
* Global Config
* config/global => util/config
* Rename package to remove confict
* Tweak
* Improve Error Handling 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						144014db34 
					 
					
						
						
							
							allocations improvements and tunnel fixes ( #1248 )  
						
						... 
						
						
						
						* reduce allocations in tunnel code
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* another allocation fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* allocate maps with len if it known
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* allocate key for send once
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								Asim Aslam 
							
						 
					 
					
						
						
							
						
						f91ec84d59 
					 
					
						
						
							
							secure the grpc client ( #1215 )  
						
						... 
						
						
						
						* secure the grpc client
* make compile
* Add system cert pool
* Revert manually adding ca certs
* Tweak comment
Co-authored-by: ben-toogood <bentoogood@gmail.com > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b00167520c 
					 
					
						
						
							
							fixes for safe conversation and avoid panics ( #1213 )  
						
						... 
						
						
						
						* fixes for safe convertation
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* fix client publish panic
If broker connect returns error we dont check it status and use
it later to publish message, mostly this is unexpected because
broker connection failed and we cant use it.
Also proposed solution have benefit - we flag connection status
only when we have succeseful broker connection
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org >
* api/handler/broker: fix possible broker publish panic
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org > 
						
						
					 
					
						2020-09-18 16:32:52 +03:00 
						 
				 
			
				
					
						
							
							
								ben-toogood 
							
						 
					 
					
						
						
							
						
						5b60299d47 
					 
					
						
						
							
							Ignore gRPC Proxy ( #1205 )  
						
						
						
						
					 
					
						2020-09-18 16:32:52 +03:00