caddy/modules/caddyhttp/reverseproxy
Matt Holt ab0455922a
reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470)
* reverseproxy: Begin refactor to enable dynamic upstreams

Streamed here: https://www.youtube.com/watch?v=hj7yzXb11jU

* Implement SRV and A/AAA upstream sources

Also get upstreams at every retry loop iteration instead of just once
before the loop. See #4442.

* Minor tweaks from review

* Limit size of upstreams caches

* Add doc notes deprecating LookupSRV

* Provision dynamic upstreams

Still WIP, preparing to preserve health checker functionality

* Rejigger health checks

Move active health check results into handler-specific Upstreams.

Improve documentation regarding health checks and upstreams.

* Deprecation notice

* Add Caddyfile support, use `caddy.Duration`

* Interface guards

* Implement custom resolvers, add resolvers to http transport Caddyfile

* SRV: fix Caddyfile `name` inline arg, remove proto condition

* Use pointer receiver

* Add debug logs

Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2022-03-06 17:43:39 -07:00
..
fastcgi fastcgi: Set SERVER_PORT to 80 or 443 depending on scheme (#4572) 2022-03-02 11:24:16 -07:00
addresses.go reverseproxy: Refactor dial address parsing, augment command parsing (#4616) 2022-03-05 16:34:19 -07:00
admin.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
caddyfile.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
command.go reverseproxy: Refactor dial address parsing, augment command parsing (#4616) 2022-03-05 16:34:19 -07:00
healthchecks.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
hosts.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
httptransport.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
reverseproxy.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
selectionpolicies_test.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
selectionpolicies.go reverseproxy: fix hash selection policy (#4137) 2021-04-29 10:52:22 -06:00
streaming_test.go ci: Use golangci's github action for linting (#3794) 2020-11-22 14:50:29 -07:00
streaming.go reverseproxy: Incorporate latest proxy changes from stdlib (#4266) 2021-08-12 10:48:24 -06:00
upstreams.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00