open-consul/agent/consul
Matt Keeler 8431c5f533
Add support for implementing new requests with protobufs instea… (#6502)
* Add build system support for protobuf generation

This is done generically so that we don’t have to keep updating the makefile to add another proto generation.

Note: anything not in the vendor directory and with a .proto extension will be run through protoc if the corresponding namespace.pb.go file is not up to date.

If you want to rebuild just a single proto file you can do so with: make proto-rebuild PROTOFILES=<list of proto files to rebuild>

Providing the PROTOFILES var will override the default behavior of finding all the .proto files.

* Start adding types to the agent/proto package

These will be needed for some other work and are by no means comprehensive.

* Add ability to resolve/fixup the agentpb.ACLLinks structure in the state store.

* Use protobuf marshalling of raft requests instead of msgpack for protoc generated types.

This does not change any encoding of existing types.

* Removed structs package automatically encoding with protobuf marshalling

Instead the caller of raftApply that wants to opt-in to protobuf encoding will have to call `raftApplyProtobuf`

* Run update-vendor to fixup modules.txt

Nothing changed as far as dependencies go but the ordering of modules in that file depends on the time they are first seen and its not alphabetical.

* Rename some things and implement the structs.RPCInfo interface bits

agentpb.QueryOptions and agentpb.WriteRequest implement 3 of the 4 RPCInfo funcs and the new TargetDatacenter message type implements the fourth.

* Use the right encoding function.

* Renamed agent/proto package to agent/agentpb to prevent package name conflicts

* Update modules.txt to fix ordering

* Change blockingQuery to take in interfaces for the query options and meta

* Add %T to error output.

* Add/Update some comments
2019-09-20 14:37:22 -04:00
..
authmethod acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
autopilot Remove failed nodes from serfWAN (#6028) 2019-06-28 12:40:07 -05:00
discoverychain connect: generate the full SNI names for discovery targets in the compiler rather than in the xds package (#6340) 2019-08-19 13:03:03 -05:00
fsm connect: generate the full SNI names for discovery targets in the compiler rather than in the xds package (#6340) 2019-08-19 13:03:03 -05:00
prepared_query Allow ignoring checks by ID when defining a PreparedQuery. Fixes #3727. 2018-04-10 14:04:16 +01:00
state Add support for implementing new requests with protobufs instea… (#6502) 2019-09-20 14:37:22 -04:00
acl.go acl: allow service deregistration with node write permission (#5217) 2019-06-27 14:24:34 +02:00
acl_authmethod.go acl: a role binding rule for a role that does not exist should be ignored (#5778) 2019-05-03 14:22:44 -05:00
acl_authmethod_test.go acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
acl_client.go acl: adding Roles to Tokens (#5514) 2019-04-26 14:49:12 -05:00
acl_endpoint.go Fixed nil check for token (#6179) 2019-07-19 07:48:11 -04:00
acl_endpoint_legacy.go acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
acl_endpoint_test.go add nil pointer check for pointer to ACLToken struct (#6407) 2019-08-27 11:23:28 -04:00
acl_replication.go Implement Mesh Gateways 2019-07-01 16:28:30 -04:00
acl_replication_legacy.go acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
acl_replication_legacy_test.go Implement Mesh Gateways 2019-07-01 16:28:30 -04:00
acl_replication_test.go Merge branch 'master' into release/1-6 2019-07-12 14:51:25 -07:00
acl_replication_types.go Simplified code in various places (#6176) 2019-07-20 09:37:19 -04:00
acl_server.go acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
acl_test.go acl: allow service deregistration with node write permission (#5217) 2019-06-27 14:24:34 +02:00
acl_token_exp.go acl: tokens can be created with an optional expiration time (#5353) 2019-04-26 14:47:51 -05:00
acl_token_exp_test.go acl: adding support for kubernetes auth provider login (#5600) 2019-04-26 14:49:25 -05:00
auto_encrypt.go revert commits on master (#6413) 2019-08-27 17:45:58 -04:00
auto_encrypt_endpoint.go tls: auto_encrypt enables automatic RPC cert provisioning for consul clients (#5597) 2019-06-27 22:22:07 +02:00
auto_encrypt_endpoint_test.go revert commits on master (#6413) 2019-08-27 17:45:58 -04:00
auto_encrypt_test.go make sure auto_encrypt has private key type and bits 2019-08-26 13:09:50 +02:00
autopilot.go Remove failed nodes from serfWAN (#6028) 2019-06-28 12:40:07 -05:00
autopilot_oss.go Update to use a consulent build tag instead of just ent (#5759) 2019-05-01 11:11:27 -04:00
autopilot_test.go Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
catalog_endpoint.go New Cache Types (#5995) 2019-06-24 14:11:34 -04:00
catalog_endpoint_test.go connect: remove managed proxies (#6220) 2019-08-09 15:19:30 -04:00
client.go tls: auto_encrypt enables automatic RPC cert provisioning for consul clients (#5597) 2019-06-27 22:22:07 +02:00
client_serf.go Call RemoveServer for reap events (#5317) 2019-03-04 09:19:35 -05:00
client_test.go sdk: add freelist tracking and ephemeral port range skipping to freeport 2019-09-17 14:30:43 -05:00
config.go sdk: add freelist tracking and ephemeral port range skipping to freeport 2019-09-17 14:30:43 -05:00
config_endpoint.go Ensure that config entry writes are forwarded to the primary DC (#6339) 2019-08-20 12:01:13 -04:00
config_endpoint_test.go Ensure that config entry writes are forwarded to the primary DC (#6339) 2019-08-20 12:01:13 -04:00
config_replication.go Implement config entry replication (#5706) 2019-04-26 13:38:39 -04:00
config_replication_test.go Add integration test for central config; fix central config WIP (#5752) 2019-05-01 16:39:31 -07:00
connect_ca_endpoint.go revert commits on master (#6413) 2019-08-27 17:45:58 -04:00
connect_ca_endpoint_test.go revert commits on master (#6413) 2019-08-27 17:45:58 -04:00
consul_ca_delegate.go Move connect CA provider to separate package 2018-06-14 09:42:15 -07:00
coordinate_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
coordinate_endpoint_test.go Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
discovery_chain_endpoint.go connect: generate the full SNI names for discovery targets in the compiler rather than in the xds package (#6340) 2019-08-19 13:03:03 -05:00
discovery_chain_endpoint_test.go connect: generate the full SNI names for discovery targets in the compiler rather than in the xds package (#6340) 2019-08-19 13:03:03 -05:00
enterprise_client_oss.go Update to use a consulent build tag instead of just ent (#5759) 2019-05-01 11:11:27 -04:00
enterprise_server_oss.go agent: handleEnterpriseLeave (#6453) 2019-09-11 11:01:37 +02:00
filter.go txn: add ACL enforcement/validation to new txn ops 2018-12-12 10:04:10 -08:00
filter_test.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
flood.go Add segment addr field to tags for LAN flood joiner 2017-08-30 11:58:29 -07:00
health_endpoint.go Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
health_endpoint_test.go Implement data filtering of some endpoints (#5579) 2019-04-16 12:00:15 -04:00
helper_test.go Implement Mesh Gateways 2019-07-01 16:28:30 -04:00
intention_endpoint.go Include a content hash of the intention for use during replication 2019-07-01 16:28:30 -04:00
intention_endpoint_test.go Implement Mesh Gateways 2019-07-01 16:28:30 -04:00
internal_endpoint.go Merge Consul OSS branch 'master' at commit 8f7586b339dbb518eff3a2eec27d7b8eae7a3fbb 2019-08-13 02:00:43 +00:00
internal_endpoint_test.go Merge Consul OSS branch 'master' at commit 8f7586b339dbb518eff3a2eec27d7b8eae7a3fbb 2019-08-13 02:00:43 +00:00
issue_test.go Moves the FSM into its own package. 2017-11-29 18:36:53 -08:00
kvs_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
kvs_endpoint_test.go Simplified code in various places (#6176) 2019-07-20 09:37:19 -04:00
leader.go server: if inserting bootstrap config entries fails don't silence the errors (#6256) 2019-08-01 23:07:11 -05:00
leader_connect.go Store primaries root in secondary after intermediate signature (#6333) 2019-08-30 11:38:46 -04:00
leader_connect_test.go Store primaries root in secondary after intermediate signature (#6333) 2019-08-30 11:38:46 -04:00
leader_test.go server: if inserting bootstrap config entries fails don't silence the errors (#6256) 2019-08-01 23:07:11 -05:00
merge.go Takes the skip out of the client check. 2017-09-06 17:05:40 -07:00
merge_test.go Skips unique node ID check for old versions of Consul. 2017-09-05 22:57:29 -07:00
operator_autopilot_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
operator_autopilot_endpoint_test.go Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
operator_endpoint.go pkg refactor 2017-06-10 18:52:45 +02:00
operator_raft_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
operator_raft_endpoint_test.go sdk: add freelist tracking and ephemeral port range skipping to freeport 2019-09-17 14:30:43 -05:00
prepared_query_endpoint.go Improve Connect with Prepared Queries (#5291) 2019-02-04 09:36:51 -05:00
prepared_query_endpoint_test.go Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
raft_rpc.go agent: move conn pool for muxed connections into separate pkg 2017-06-21 05:42:39 +02:00
replication.go Move ctx and cancel func setup into the Replicator.Start (#6115) 2019-07-12 10:10:48 -04:00
replication_test.go Move ctx and cancel func setup into the Replicator.Start (#6115) 2019-07-12 10:10:48 -04:00
rpc.go Add support for implementing new requests with protobufs instea… (#6502) 2019-09-20 14:37:22 -04:00
rpc_test.go Add fmt and vet (#5671) 2019-04-25 12:26:33 -04:00
rtt.go Added Coordinate.Node rpc endpoint and client api method 2017-10-26 19:16:40 -07:00
rtt_test.go Fix more unstable tests in agent and command 2018-09-12 14:49:27 +01:00
segment_oss.go Update to use a consulent build tag instead of just ent (#5759) 2019-05-01 11:11:27 -04:00
serf_test.go pkg refactor 2017-06-10 18:52:45 +02:00
server.go sdk: add freelist tracking and ephemeral port range skipping to freeport 2019-09-17 14:30:43 -05:00
server_lookup.go Simplified code in various places (#6176) 2019-07-20 09:37:19 -04:00
server_lookup_test.go More cleanup from code review 2017-08-30 12:31:36 -05:00
server_oss.go connect: expose an API endpoint to compile the discovery chain (#6248) 2019-08-02 15:34:54 -05:00
server_serf.go Allow forwarding of some status RPCs (#6198) 2019-07-25 14:26:22 -04:00
server_test.go sdk: add freelist tracking and ephemeral port range skipping to freeport 2019-09-17 14:30:43 -05:00
session_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
session_endpoint_test.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
session_timers.go address review comments 2017-07-07 09:22:34 +02:00
session_timers_test.go rpc: refactor sessionTimers and fix racy tests 2017-07-07 09:22:34 +02:00
session_ttl.go agent: transfer leadership when establishLeadership fails (#5247) 2019-06-19 14:50:48 +02:00
session_ttl_test.go agent: transfer leadership when establishLeadership fails (#5247) 2019-06-19 14:50:48 +02:00
snapshot_endpoint.go New ACLs (#4791) 2018-10-19 12:04:07 -04:00
snapshot_endpoint_test.go Flaky test overhaul (#6100) 2019-07-12 09:52:26 -06:00
stats_fetcher.go Clean up StatsFetcher work when context is exceeded (#6086) 2019-07-12 08:23:28 -06:00
stats_fetcher_test.go Flaky test overhaul (#6100) 2019-07-12 09:52:26 -06:00
status_endpoint.go Allow forwarding of some status RPCs (#6198) 2019-07-25 14:26:22 -04:00
status_endpoint_test.go Allow forwarding of some status RPCs (#6198) 2019-07-25 14:26:22 -04:00
txn_endpoint.go fix typos reported by golangci-lint:misspell (#5434) 2019-03-06 11:13:28 -06:00
txn_endpoint_test.go txn: add tests for RPC endpoint 2018-12-12 10:04:10 -08:00
util.go Filter out left/leaving serf members when determining if new AC… (#6332) 2019-08-16 10:34:18 -04:00
util_test.go Filter out left/leaving serf members when determining if new AC… (#6332) 2019-08-16 10:34:18 -04:00