Commit Graph

2129 Commits

Author SHA1 Message Date
John Murret e027c94b52
adding config for request_limits (#15531)
* server: add placeholder glue for rate limit handler

This commit adds a no-op implementation of the rate-limit handler and
adds it to the `consul.Server` struct and setup code.

This allows us to start working on the net/rpc and gRPC interceptors and
config logic.

* Add handler errors

* Set the global read and write limits

* fixing multilimiter moving packages

* Fix typo

* Simplify globalLimit usage

* add multilimiter and tests

* exporting LimitedEntity

* Apply suggestions from code review

Co-authored-by: John Murret <john.murret@hashicorp.com>

* add config update and rename config params

* add doc string and split config

* Apply suggestions from code review

Co-authored-by: Dan Upton <daniel@floppy.co>

* use timer to avoid go routine leak and change the interface

* add comments to tests

* fix failing test

* add prefix with config edge, refactor tests

* Apply suggestions from code review

Co-authored-by: Dan Upton <daniel@floppy.co>

* refactor to apply configs for limiters under a prefix

* add fuzz tests and fix bugs found. Refactor reconcile loop to have a simpler logic

* make KeyType an exported type

* split the config and limiter trees to fix race conditions in config update

* rename variables

* fix race in test and remove dead code

* fix reconcile loop to not create a timer on each loop

* add extra benchmark tests and fix tests

* fix benchmark test to pass value to func

* server: add placeholder glue for rate limit handler

This commit adds a no-op implementation of the rate-limit handler and
adds it to the `consul.Server` struct and setup code.

This allows us to start working on the net/rpc and gRPC interceptors and
config logic.

* Set the global read and write limits

* fixing multilimiter moving packages

* add server configuration for global rate limiting.

* remove agent test

* remove added stuff from handler

* remove added stuff from multilimiter

* removing unnecessary TODOs

* Removing TODO comment from handler

* adding in defaulting to infinite

* add disabled status in there

* adding in documentation for disabled mode.

* make disabled the default.

* Add mock and agent test

* addig documentation and missing mock file.

* Fixing test TestLoad_IntegrationWithFlags

* updating docs based on PR feedback.

* Updating Request Limits mode to use int based on PR feedback.

* Adding RequestLimits struct so we have a nested struct in ReloadableConfig.

* fixing linting references

* Update agent/consul/rate/handler.go

Co-authored-by: Dan Upton <daniel@floppy.co>

* Update agent/consul/config.go

Co-authored-by: Dan Upton <daniel@floppy.co>

* removing the ignore of the request limits in JSON.  addingbuilder logic to convert any read rate or write rate less than 0 to rate.Inf

* added conversion function to convert request limits object to handler config.

* Updating docs to reflect gRPC and RPC are rate limit and as a result, HTTP requests are as well.

* Updating values for TestLoad_FullConfig() so that they were different and discernable.

* Updating TestRuntimeConfig_Sanitize

* Fixing TestLoad_IntegrationWithFlags test

* putting nil check in place

* fixing rebase

* removing change for missing error checks.  will put in another PR

* Rebasing after default multilimiter config change

* resolving rebase issues

* updating reference for incomingRPCLimiter to use interface

* updating interface

* Updating interfaces

* Fixing mock reference

Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
2022-12-13 13:09:55 -07:00
cskh 04bf24c8c1
feat(ingress-gateway): support outlier detection of upstream service for ingress gateway (#15614)
* feat(ingress-gateway): support outlier detection of upstream service for ingress gateway

* changelog

Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
2022-12-13 11:51:37 -05:00
John Murret 348bbf60f1
Fixing CLI instructions so that the installing a cluster that is embedded in the mac instructions is moved outside of the tabbed instructions. (#15736)
* Fixing CLI instructions so that the installing a cluster that is embedded in the mac instructions is moved outside of the tabbed instructions.
Co-authored-by: boruszak <jeffrey.boruszak@hashicorp.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
2022-12-10 18:21:45 +00:00
Geoffrey Grosenbach a013696f17
Remove mention of enterprise license form (#15752)
The license form is no longer available so this recommends contacting a support representative instead.
2022-12-09 14:02:25 -08:00
Jared Kirschner 8991e116fe
docs: how to launch envoy when ACLs enabled (#15497) 2022-12-08 20:15:58 -05:00
Jeff Boruszak 8950762e35
docs: Enterprise Feature Table update (#15738)
* Table update

* Old table re-added and alphabetized

* Update website/content/docs/enterprise/index.mdx

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>

Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2022-12-08 16:49:49 -06:00
Eric Haberkorn 4268c1c25c
Remove the `connect.enable_serverless_plugin` agent configuration option (#15710) 2022-12-08 14:46:42 -05:00
Paul Glass 707ca06d79
docs: Fix go-sockaddr links (#15723) 2022-12-08 10:32:37 -06:00
David Yu 1c5d54cb29
docs: Small docs updates, peering and K8s CNI (#15702) 2022-12-07 10:08:24 -08:00
David Yu 7a759be2c5
docs: K8s CNI namespace (#15696) 2022-12-06 13:51:31 -08:00
Curt Bushko 95bcfd207d
Update consul-k8s docs based on the consul-k8s release/1.0.x branch (#15678) 2022-12-05 13:20:14 -08:00
David Yu 98cbf341ae
docs: Update Consul K8s CRDs (#15675) 2022-12-05 13:06:02 -08:00
Jeff Boruszak d16a9dc409
docs: Agentless performance clarifications (#15671)
* Requested changes
2022-12-05 12:43:15 -08:00
Evan Culver 692a6fdecf
Fix broken link to Consul Dataplane index (#15660)
The `/index` appears to result in a 404.
2022-12-03 10:17:06 -08:00
Jared Kirschner 66e28f35f1
docs: clarify Vault CA provider permissions needed (#15478) 2022-12-03 09:17:33 -05:00
James Oulman 2da843818c
docs: fix agent catalog-services caching method (#15645)
* docs: fix agent catalog-services caching method
2022-12-02 18:42:49 +00:00
am-ak d73871b5a2
docs: Correct a typo in checks.mdx (#15426)
* Update checks.mdx

Correcting a typo under  `UDP + Interval`

* Update website/content/docs/discovery/checks.mdx

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
2022-12-02 08:22:32 -08:00
skpratt 06880bd51f
update docs for exp v2 licensing changes (#15563) 2022-12-01 11:30:29 -06:00
David Yu 62e5c65e59
docs: fix typos helm install (#15625)
* fix typos helm install and small compat matrix change related to host ports not required any longer
2022-11-30 12:36:40 -08:00
James Oulman 7e78fb7818
Add support for configuring Envoys route idle_timeout (#14340)
* Add idleTimeout

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
2022-11-29 17:43:15 -05:00
Chris S. Kim 31d58014fd
docs: Update acl-tokens.mdx (#15607) 2022-11-29 16:20:39 -05:00
Conrad Kleinespel b168b5c353
Fix AWS IAM trusted identity entity_tags.<key> (#14727)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
2022-11-29 12:34:28 -08:00
David Yu 1b0e20a681
docs: typo on cluster peering k8s (#15602) 2022-11-29 11:49:54 -08:00
David Yu 54a3714543
docs: Clean up k8s cluster peering instructions (#15592) 2022-11-29 10:58:13 -08:00
cskh 7561303855
docs: clarify envoy proxy configuration (#15562)
- Specify using the service config entry to configure
  service's envoy proxy
- add missing fields in proxy.config
2022-11-28 20:33:54 -05:00
David Yu 25c4ed6ea0
docs: Fix language to describe clients previously ran on each node (#15580) 2022-11-28 14:50:48 -08:00
cskh 97c9432843
fix(peering): increase the gRPC limit to 8MB (#15503)
* fix(peering): increase the gRPC limit to 50MB

* changelog

* update gRPC limit to 8MB
2022-11-28 17:48:43 -05:00
Jeff Boruszak 73e2b96f9f
Load Balancer addition (#15583) 2022-11-28 16:48:01 -06:00
David Yu 62205d60cc
docs: Update Consul K8s Release Notes to mention updates to Cluster Peering (#15573) 2022-11-28 13:26:56 -08:00
Jeff Boruszak b856a17cbf
docs: Dataplane performance impact (#15566)
* New image + performance considerations

* Image related updates

* Update website/content/docs/connect/dataplane/index.mdx

Co-authored-by: David Yu <dyu@hashicorp.com>

Co-authored-by: David Yu <dyu@hashicorp.com>
2022-11-28 14:33:22 -06:00
Jared Kirschner 1a68dfc668
docs: add peering control plane diagrams (#15498) 2022-11-26 09:37:56 -05:00
Nitya Dhanushkodi d4ca1b5316
update docs with mesh and proxydefaults config (#15526) 2022-11-24 10:02:47 -08:00
Chris Thain 6b477ceff8
Snapshot agent docs updates (#15504) 2022-11-22 06:13:13 -08:00
Tu Nguyen 5ea70d7d83
fix typo in cluster peering docs (#15519) 2022-11-21 13:51:40 -08:00
Jared Kirschner d3dede5f8b
docs: add retry_max agent config option (#15487) 2022-11-21 16:16:56 -05:00
Jeff Boruszak ef235c7c36
ServerExternalAddresses parameter clarification (#15506) 2022-11-21 11:51:09 -06:00
Dan Stough 44097c1154
docs: revert peering API changes (#15505) 2022-11-21 12:45:51 -05:00
Derek Menteer 2703545331
Add -grpc-ca-file and -grpc-ca-path CLI info on upgrade notes. (#15500)
* Add -grpc-ca-file and -grpc-ca-path CLI info on upgrade notes.
2022-11-21 09:41:29 -06:00
Jared Kirschner 3e7e8ae9c5
Support RFC 2782 for prepared query DNS lookups (#14465)
Format:
	_<query id or name>._tcp.query[.<datacenter>].<domain>
2022-11-20 17:21:24 -05:00
Jared Kirschner f0837a2cd0
docs: remove unnecessary ent label (#15081) 2022-11-19 08:53:52 -05:00
Jared Kirschner 124e717d2d
docs: clarify TLS cipher suite config (#15203) 2022-11-19 08:53:27 -05:00
David Yu 1153779677
docs: formatting release notes (#15484) 2022-11-18 19:50:09 -08:00
David Yu fd801d7225
docs: Core 1.14 and K8s 1.0 release notes (#15416)
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
2022-11-18 18:40:54 -08:00
Jared Kirschner f80f9a60b2
docs: clarify -retry-max (#15477) 2022-11-18 18:51:28 -05:00
Dan Stough f6ebc48c4e
docs(peering): peering GA ACL updates (#15366)
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
2022-11-18 17:39:41 -05:00
Derek Menteer 9a8c47d589
Add Consul 1.14.0 known issue. (#15469)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
2022-11-18 14:59:57 -07:00
Derek Menteer 6fa8fa4fca
Fix issue with connect Envoy choosing incorrect TLS settings. (#15466)
This commit fixes a situation where the API TLS configuration
incorrectly influences the GRPC port TLS configuration for XDS.
2022-11-18 14:36:20 -06:00
Jared Kirschner c14f664399
docs: include upgrade path to 1.14 (#15463) 2022-11-18 09:56:41 -08:00
Iryna Shustava 2be8b3326c
docs: remaining agentless docs updates (#15455)
* Update servers-outside-kubernetes.mdx

* Update single-dc-multi-k8s.mdx

* update Vault data integration for snapshot agent

* update k8s health checks page

* remove all instances of controller.enabled in helm values examples

* API Gateway update

* Apply suggestions from code review

Co-authored-by: Riddhi Shah <riddhi@hashicorp.com>

* Apply suggestions from code review

* Apply suggestions from code review

* Cleaner diagram

* added change around clients to workloads

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: boruszak <jeffrey.boruszak@hashicorp.com>
Co-authored-by: Riddhi Shah <riddhi@hashicorp.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
2022-11-18 11:33:02 -06:00
trujillo-adam ab51aac7e0
Update docs for the release of Consul API Gateway v0.5 (#15015)
* added usage folder to organize use case docs for CAPIgw

* Add peer field to MeshService configuration page

* Add first pass at guide for routing to peered services

* Add exception to same-datacenter restriction for referenced Consul service

* Add example HTTPRoute referencing the MeshService as backendRef

* Add example ServiceResolver

* Add note about current ServiceResolver requirement

ServiceResolver may eventually be created implicitly by the API gateway controller, but that decision is pending.

* tweaks to the usage page for routing to peered services

* tweaks to the  description in the  configuration reference

* resolved TO-DOs from previous iteration

* Remove datacenter federation from limited support matrix

* added tolerations doc

* Remove note excluding k8s 1.24 since we now support it

* Reorder sections to maintain alphabetical sort

* Add example configuration for MeshService resource

* Adjust wording + indentation of other docs

* Use consistent "example-" prefix for resource names in example code

* reframed the tolerations documentation; STILL A WIP

* add helm chart documentation

* removed tolerations from gwcconfig configuration model reference

* Apply suggestions from code review

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

* update version to 0.5.0

* Update install.mdx

* added release notes for v.0.5.x

Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Sarah Alsmiller <sarah.alsmiller@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
2022-11-17 15:42:25 -08:00