open-consul/website/content/docs
John Murret 700c693b33
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
..
agent adding config for request_limits (#15531) 2022-12-13 13:09:55 -07:00
api-gateway docs: remaining agentless docs updates (#15455) 2022-11-18 11:33:02 -06:00
architecture docs: Consul Dataplane updates for v.1.14.0 (#15384) 2022-11-17 17:04:29 -06:00
concepts Spacing and title fixes 2022-09-16 10:28:32 -05:00
connect feat(ingress-gateway): support outlier detection of upstream service for ingress gateway (#15614) 2022-12-13 11:51:37 -05:00
consul-vs-other Update dns-tools-compare.mdx (#15287) 2022-11-08 16:29:22 -05:00
discovery docs: Correct a typo in checks.mdx (#15426) 2022-12-02 08:22:32 -08:00
dynamic-app-config Update website/content/docs/dynamic-app-config/watches.mdx 2022-10-11 09:35:24 -05:00
ecs Peering Mesh Gateway Updates for GA (#15344) 2022-11-14 15:03:17 -05:00
enterprise Remove mention of enterprise license form (#15752) 2022-12-09 14:02:25 -08:00
guides website: content updates for developer (#14419) 2022-09-14 17:45:42 -05:00
install Fixed broken links referring to tutorials running as local agent (#14954) 2022-10-11 13:01:29 -07:00
integrate Mergimg 2022-10-11 10:10:00 -05:00
internals Spacing and title fixes 2022-09-16 10:28:32 -05:00
intro website: fix broken links (#14943) 2022-10-11 09:58:52 -05:00
k8s Fixing CLI instructions so that the installing a cluster that is embedded in the mac instructions is moved outside of the tabbed instructions. (#15736) 2022-12-10 18:21:45 +00:00
lambda Remove the connect.enable_serverless_plugin agent configuration option (#15710) 2022-12-08 14:46:42 -05:00
nia Update enterprise license link 2022-10-18 10:52:50 -07:00
release-notes docs: Update Consul K8s Release Notes to mention updates to Cluster Peering (#15573) 2022-11-28 13:26:56 -08:00
security docs: Update acl-tokens.mdx (#15607) 2022-11-29 16:20:39 -05:00
troubleshoot Spacing and title fixes 2022-09-16 10:28:32 -05:00
upgrading Remove the connect.enable_serverless_plugin agent configuration option (#15710) 2022-12-08 14:46:42 -05:00
index.mdx website: content updates for developer (#14419) 2022-09-14 17:45:42 -05:00