open-consul/agent/consul/state
Paul Banks 92fe8c8e89 Add Proxy Upstreams to Service Definition (#4639)
* Refactor Service Definition ProxyDestination.

This includes:
 - Refactoring all internal structs used
 - Updated tests for both deprecated and new input for:
   - Agent Services endpoint response
   - Agent Service endpoint response
   - Agent Register endpoint
     - Unmanaged deprecated field
     - Unmanaged new fields
     - Managed deprecated upstreams
     - Managed new
   - Catalog Register
     - Unmanaged deprecated field
     - Unmanaged new fields
     - Managed deprecated upstreams
     - Managed new
   - Catalog Services endpoint response
   - Catalog Node endpoint response
   - Catalog Service endpoint response
 - Updated API tests for all of the above too (both deprecated and new forms of register)

TODO:
 - config package changes for on-disk service definitions
 - proxy config endpoint
 - built-in proxy support for new fields

* Agent proxy config endpoint updated with upstreams

* Config file changes for upstreams.

* Add upstream opaque config and update all tests to ensure it works everywhere.

* Built in proxy working with new Upstreams config

* Command fixes and deprecations

* Fix key translation, upstream type defaults and a spate of other subtele bugs found with ned to end test scripts...

TODO: tests still failing on one case that needs a fix. I think it's key translation for upstreams nested in Managed proxy struct.

* Fix translated keys in API registration.
≈

* Fixes from docs
 - omit some empty undocumented fields in API
 - Bring back ServiceProxyDestination in Catalog responses to not break backwards compat - this was removed assuming it was only used internally.

* Documentation updates for Upstreams in service definition

* Fixes for tests broken by many refactors.

* Enable travis on f-connect branch in this branch too.

* Add consistent Deprecation comments to ProxyDestination uses

* Update version number on deprecation notices, and correct upstream datacenter field with explanation in docs
2018-10-10 16:55:34 +01:00
..
acl.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
acl_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
autopilot.go Move autopilot to a standalone package 2017-12-11 16:45:33 -08:00
autopilot_test.go Move autopilot to a standalone package 2017-12-11 16:45:33 -08:00
catalog.go Display more information about check being not properly added when it fails (#4405) 2018-08-14 17:45:33 +01:00
catalog_test.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
connect_ca.go Add tests for the built in CA's state store table 2018-06-14 09:42:06 -07:00
connect_ca_test.go Use provider state table for a global serial index 2018-06-14 09:42:15 -07:00
coordinate.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
coordinate_test.go Fill out the tests around coordinate/node functionality 2017-10-31 15:36:44 -07:00
delay.go Spelling (#3958) 2018-03-19 16:56:00 +00:00
delay_test.go pkg refactor 2017-06-10 18:52:45 +02:00
graveyard.go pkg refactor 2017-06-10 18:52:45 +02:00
graveyard_test.go pkg refactor 2017-06-10 18:52:45 +02:00
index_connect.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
index_connect_test.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
intention.go Fix hot loop in cache for RPC returning zero index. 2018-06-25 12:25:37 -07:00
intention_test.go Fix hot loop in cache for RPC returning zero index. 2018-06-25 12:25:37 -07:00
kvs.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
kvs_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
prepared_query.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
prepared_query_index.go pkg refactor 2017-06-10 18:52:45 +02:00
prepared_query_index_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
prepared_query_test.go Add agent.segment interpolation to prepared queries 2017-08-30 11:58:29 -07:00
schema.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
schema_test.go pkg refactor 2017-06-10 18:52:45 +02:00
session.go Creates a registration mechanism for schemas. 2017-11-29 18:36:52 -08:00
session_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
state_store.go agent/consul/state: CARoot structs and initial state store 2018-06-14 09:41:49 -07:00
state_store_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
tombstone_gc.go Sheds monotonic time info so tombstone GC bins work properly. 2017-11-29 10:34:24 -08:00
tombstone_gc_test.go Sheds monotonic time info so tombstone GC bins work properly. 2017-11-29 10:34:24 -08:00
txn.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
txn_test.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00