open-consul/agent/consul
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
..
autopilot autopilot: don't follow the normal server removal rules for nonvoters 2018-08-14 14:24:51 -07:00
fsm Merge branch 'master' into ca-snapshot-fix 2018-08-16 13:00:54 -07:00
prepared_query
state Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
acl.go
acl_endpoint.go
acl_endpoint_test.go
acl_replication.go
acl_replication_test.go BUGFIX: Unit test relying on WaitForLeader() did not work due to wrong test (#4472) 2018-08-06 19:46:09 -04:00
acl_test.go BUGFIX: Unit test relying on WaitForLeader() did not work due to wrong test (#4472) 2018-08-06 19:46:09 -04:00
autopilot.go
autopilot_oss.go
autopilot_test.go autopilot: don't follow the normal server removal rules for nonvoters 2018-08-14 14:24:51 -07:00
catalog_endpoint.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
catalog_endpoint_test.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
client.go
client_serf.go
client_test.go
config.go connect/ca: add configurable leaf cert TTL 2018-07-16 13:33:37 -07:00
connect_ca_endpoint.go connect/ca: add Configure/GenerateRoot to provider interface 2018-09-06 19:18:59 -07:00
connect_ca_endpoint_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
consul_ca_delegate.go
coordinate_endpoint.go
coordinate_endpoint_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
enterprise_client_oss.go
enterprise_server_oss.go
filter.go
filter_test.go
flood.go
health_endpoint.go
health_endpoint_test.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
helper_test.go
intention_endpoint.go
intention_endpoint_test.go
internal_endpoint.go
internal_endpoint_test.go
issue_test.go
kvs_endpoint.go
kvs_endpoint_test.go
leader.go connect/ca: some cleanup and reorganizing of the new methods 2018-09-11 16:43:04 -07:00
leader_test.go Fix CA pruning when CA config uses string durations. (#4669) 2018-09-13 15:43:00 +01:00
merge.go
merge_test.go
operator_autopilot_endpoint.go
operator_autopilot_endpoint_test.go
operator_endpoint.go
operator_raft_endpoint.go
operator_raft_endpoint_test.go
prepared_query_endpoint.go
prepared_query_endpoint_test.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
raft_rpc.go
rpc.go [BUGFIX] Avoid returning empty data on startup of a non-leader server (#4554) 2018-08-23 12:06:39 -04:00
rpc_test.go [BUGFIX] Avoid returning empty data on startup of a non-leader server (#4554) 2018-08-23 12:06:39 -04:00
rtt.go
rtt_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
segment_oss.go
serf_test.go
server.go consul: Update buffer sizes 2018-08-08 10:26:58 -07:00
server_lookup.go
server_lookup_test.go
server_oss.go
server_serf.go do not bootstrap with non voters 2018-09-19 17:41:36 -07:00
server_test.go do not bootstrap with non voters 2018-09-19 17:41:36 -07:00
session_endpoint.go
session_endpoint_test.go Fixed more flaky tests in ./agent/consul (#4617) 2018-09-04 14:02:47 +01:00
session_timers.go
session_timers_test.go
session_ttl.go
session_ttl_test.go
snapshot_endpoint.go
snapshot_endpoint_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
stats_fetcher.go Fix stats fetcher healthcheck RPCs not being independent 2018-08-14 14:23:52 -07:00
stats_fetcher_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
status_endpoint.go
status_endpoint_test.go
txn_endpoint.go
txn_endpoint_test.go
util.go
util_test.go