open-consul/agent/structs
Andrew Stucki 3fe148891b
APIGateway HTTPRoute scaffolding (#15859)
* Stub Config Entries for Consul Native API Gateway (#15644)

* Add empty InlineCertificate struct and protobuf

* apigateway stubs

* new files

* Stub HTTPRoute in api pkg

* checkpoint

* Stub HTTPRoute in structs pkg

* Simplify api.APIGatewayConfigEntry to be consistent w/ other entries

* Update makeConfigEntry switch, add docstring for HTTPRouteConfigEntry

* Add TCPRoute to MakeConfigEntry, return unique Kind

* proto generated files

* Stub BoundAPIGatewayConfigEntry in agent

Since this type is only written by a controller and read by xDS, it doesn't need to be defined in the `api` pkg

* Add RaftIndex to APIGatewayConfigEntry stub

* Add new config entry kinds to validation allow-list

* Add RaftIndex to other added config entry stubs

* fix panic

* Update usage metrics assertions to include new cfg entries

* Regenerate proto w/ Go 1.19

* Run buf formatter on config_entry.proto

* Add Meta and acl.EnterpriseMeta to all new ConfigEntry types

* Remove optional interface method Warnings() for now

Will restore later if we wind up needing it

* Remove unnecessary Services field from added config entry types

* Implement GetMeta(), GetEnterpriseMeta() for added config entry types

* Add meta field to proto, name consistently w/ existing config entries

* Format config_entry.proto

* Add initial implementation of CanRead + CanWrite for new config entry types

* Add unit tests for decoding of new config entry types

* Add unit tests for parsing of new config entry types

* Add unit tests for API Gateway config entry ACLs

* Return typed PermissionDeniedError on BoundAPIGateway CanWrite

* Add unit tests for added config entry ACLs

* Add BoundAPIGateway type to AllConfigEntryKinds

* Return proper kind from BoundAPIGateway

* Add docstrings for new config entry types

* Add missing config entry kinds to proto def

* Update usagemetrics_oss_test.go

* Use utility func for returning PermissionDeniedError

* Add BoundAPIGateway to proto def

Co-authored-by: Sarah Alsmiller <sarah.alsmiller@hashicorp.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Add APIGateway validation

* Fix comment

* Add additional validations

* Add cert ref validation

* Add protobuf definitions

* Tabs to spaces

* Fix up field types

* Add API structs

* Move struct fields around a bit

* EventPublisher subscriptions for Consul Native API Gateway (#15757)

* Create new event topics in subscribe proto
* Add tests for PBSubscribe func
* Make configs singular, add all configs to PBToStreamSubscribeRequest
* Add snapshot methods
* Add config_entry_events tests
* Add config entry kind to topic for new configs
* Add unit tests for snapshot methods
* Start adding integration test
* Test using the new controller code
* Update agent/consul/state/config_entry_events.go
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Check value of error
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Add controller stubs for API Gateway (#15837)

* update initial stub implementation

* move files, clean up mutex references

* Remove embed, use idiomatic names for constructors

* Remove stray file introduced in merge

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>

* Initial server-side and proto defs

* drop trailing whitespace

* Add APIGateway validation (#15847)

* Add APIGateway validation

* Fix comment

* Add additional validations

* Add cert ref validation

* Add protobuf definitions

* Tabs to spaces

* Fix up field types

* Add API structs

* Move struct fields around a bit

* APIGateway InlineCertificate validation (#15856)

* Add APIGateway validation

* Add additional validations

* Add protobuf definitions

* Tabs to spaces

* Add API structs

* Move struct fields around a bit

* Add validation for InlineCertificate

* Fix ACL test

* APIGateway BoundAPIGateway validation (#15858)

* Add APIGateway validation

* Fix comment

* Add additional validations

* Add cert ref validation

* Add protobuf definitions

* Tabs to spaces

* Fix up field types

* Add API structs

* Move struct fields around a bit

* Add validation for BoundAPIGateway

* drop trailing whitespace

* APIGateway TCPRoute validation (#15855)

* Add APIGateway validation

* Fix comment

* Add additional validations

* Add cert ref validation

* Add protobuf definitions

* Tabs to spaces

* Fix up field types

* Add API structs

* Move struct fields around a bit

* Add TCPRoute normalization and validation

* Address PR feedback

* Add forgotten Status

* Add some more field docs in api package

* Fix test

* Fix bad merge

* Remove duplicate helpers

* Fix up proto defs

* Fix up stray changes

* remove extra newline

---------

Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Sarah Alsmiller <sarah.alsmiller@hashicorp.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
2023-02-01 07:59:49 -05:00
..
aclfilter Ensure that NodeDump imported nodes are filtered (#15356) 2022-11-14 12:35:20 -07:00
acl.go Remove legacy acl tokens (#15947) 2023-01-27 09:17:07 -06:00
acl_cache.go acl: gRPC login and logout endpoints (#12935) 2022-05-04 17:38:45 +01:00
acl_cache_test.go acl: gRPC login and logout endpoints (#12935) 2022-05-04 17:38:45 +01:00
acl_oss.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
acl_test.go Remove legacy acl tokens (#15947) 2023-01-27 09:17:07 -06:00
auto_encrypt.go tls: auto_encrypt enables automatic RPC cert provisioning for consul clients (#5597) 2019-06-27 22:22:07 +02:00
autopilot.go Switch to using the external autopilot module 2020-11-09 09:22:11 -05:00
autopilot_oss.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
catalog.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
catalog_oss.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
check_definition.go feat: windows service health checks 2022-06-07 18:27:14 +01:00
check_definition_test.go feat: windows service health checks 2022-06-07 18:27:14 +01:00
check_type.go feat: windows service health checks 2022-06-07 18:27:14 +01:00
config_entry.go Add extension validation on config save and refactor extensions. (#16110) 2023-01-30 15:35:26 -06:00
config_entry_discoverychain.go Add support for configuring Envoys route idle_timeout (#14340) 2022-11-29 17:43:15 -05:00
config_entry_discoverychain_oss.go Add `Targets` field to service resolver failovers. (#14162) 2022-08-15 09:20:25 -04:00
config_entry_discoverychain_oss_test.go Update the structs and discovery chain for service resolver redirects to cluster peers. (#14366) 2022-08-29 09:51:32 -04:00
config_entry_discoverychain_test.go Native API Gateway Config Entries (#15897) 2023-01-18 22:14:34 +00:00
config_entry_export_oss_test.go Rename `PeerName` to `Peer` on prepared queries and exported services (#14854) 2022-10-04 14:46:15 -04:00
config_entry_exports.go Rename `PeerName` to `Peer` on prepared queries and exported services (#14854) 2022-10-04 14:46:15 -04:00
config_entry_exports_test.go Rename `PeerName` to `Peer` on prepared queries and exported services (#14854) 2022-10-04 14:46:15 -04:00
config_entry_gateways.go Add a server-only method for updating ConfigEntry Statuses (#16053) 2023-01-27 14:34:11 -05:00
config_entry_gateways_test.go Match route and listener protocols when binding (#16057) 2023-01-27 09:41:03 -05:00
config_entry_inline_certificate.go Native API Gateway Config Entries (#15897) 2023-01-18 22:14:34 +00:00
config_entry_inline_certificate_test.go Native API Gateway Config Entries (#15897) 2023-01-18 22:14:34 +00:00
config_entry_intentions.go peering, state: account for peer intentions (#13443) 2022-06-16 10:27:31 -07:00
config_entry_intentions_oss.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
config_entry_intentions_test.go peering, state: account for peer intentions (#13443) 2022-06-16 10:27:31 -07:00
config_entry_mesh.go Update xds generation for peering over mesh gws 2022-10-03 12:42:27 -06:00
config_entry_mesh_oss.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
config_entry_mesh_test.go Update xds generation for peering over mesh gws 2022-10-03 12:42:27 -06:00
config_entry_oss.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
config_entry_oss_test.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
config_entry_routes.go APIGateway HTTPRoute scaffolding (#15859) 2023-02-01 07:59:49 -05:00
config_entry_routes_test.go Native API Gateway Config Entries (#15897) 2023-01-18 22:14:34 +00:00
config_entry_status.go Native API Gateway Config Entries (#15897) 2023-01-18 22:14:34 +00:00
config_entry_test.go Add extension validation on config save and refactor extensions. (#16110) 2023-01-30 15:35:26 -06:00
connect.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
connect_ca.go Update intermediate pki mount/role when reconfiguring Vault provider 2022-09-13 15:42:26 -07:00
connect_ca_test.go add root_cert_ttl option for consul connect, vault ca providers (#11428) 2021-11-02 11:02:10 -07:00
connect_oss.go re-run gofmt on 1.17 (#11579) 2021-11-16 12:04:01 -06:00
connect_proxy_config.go [OSS] feat: access logs for listeners and listener filters (#15864) 2022-12-22 15:18:15 -05:00
connect_proxy_config_oss.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
connect_proxy_config_test.go [OSS] feat: access logs for listeners and listener filters (#15864) 2022-12-22 15:18:15 -05:00
deep-copy.sh perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
discovery_chain.go extensions: refactor serverless plugin to use extensions from config entry fields (#15817) 2022-12-19 12:19:37 -08:00
discovery_chain_oss.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
envoy_extension.go Add extension validation on config save and refactor extensions. (#16110) 2023-01-30 15:35:26 -06:00
errors.go Special case the error returned when we have a Raft leader but are not tracking it in the ServerLookup (#9487) 2021-01-04 14:05:23 -05:00
federation_state.go wan federation via mesh gateways (#6884) 2020-03-09 15:59:02 -05:00
identity.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
intention.go Add SourcePeer fields to relevant Intentions types (#13390) 2022-06-08 13:24:10 -04:00
intention_oss.go Manual Structs fixup 2022-04-05 14:51:10 -07:00
intention_test.go Add SourcePeer fields to relevant Intentions types (#13390) 2022-06-08 13:24:10 -04:00
operator.go Switch to using the external autopilot module 2020-11-09 09:22:11 -05:00
peering.go Bring back parameter ServerExternalAddresses in GenerateToken endpoint (#15267) 2022-11-08 14:55:18 -06:00
prepared_query.go Rename `PeerName` to `Peer` on prepared queries and exported services (#14854) 2022-10-04 14:46:15 -04:00
prepared_query_test.go structs: add two cache completeness tests types that implement cache.Request 2021-05-31 16:54:41 -04:00
protobuf_compat.go Regenerate files according to 1.19.2 formatter 2022-10-24 16:12:08 -04:00
service_definition.go peering: Make Upstream peer-aware (#12900) 2022-04-29 18:12:51 -04:00
service_definition_test.go bulk rewrite using this script 2022-01-20 10:46:23 -06:00
snapshot.go agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
structs.deepcopy.go add extensions for local service to GetExtensionConfigurations (#15871) 2022-12-22 10:03:33 -08:00
structs.go Protobuf Modernization (#15949) 2023-01-11 09:39:10 -05:00
structs_ext_test.go Protobuf Modernization (#15949) 2023-01-11 09:39:10 -05:00
structs_filtering_test.go [OSS] feat: access logs for listeners and listener filters (#15864) 2022-12-22 15:18:15 -05:00
structs_oss.go Ensure that NodeDump imported nodes are filtered (#15356) 2022-11-14 12:35:20 -07:00
structs_oss_test.go add new entmeta stuff. 2022-04-05 14:49:31 -07:00
structs_test.go Fixup authz for data imported from peers (#15347) 2022-11-14 11:36:27 -07:00
system_metadata.go Add virtual IP generation for term gateway backed services 2022-01-12 12:08:49 -08:00
testing.go Vendor in rpc mono repo for net/rpc fork, go-msgpack, msgpackrpc. (#12311) 2022-02-14 09:45:45 -08:00
testing_catalog.go Make the mesh gateway changes to allow `local` mode for cluster peering data plane traffic (#14817) 2022-10-06 09:54:14 -04:00
testing_connect_proxy_config.go Add additional parameters to envoy passive health check config (#14238) 2022-09-01 09:59:11 -07:00
testing_intention.go Cleanup unnecessary normalizing method (#11169) 2021-09-28 15:31:12 -04:00
testing_service_definition.go Add Proxy Upstreams to Service Definition (#4639) 2018-10-10 16:55:34 +01:00
txn.go connect: intentions are now managed as a new config entry kind "service-intentions" (#8834) 2020-10-06 13:24:05 -05:00