Hi. I was looking for an reverse proxy for a blue/green deployment strategy or even an A/B testing strategy, but as far as my understanding from the docs, I do not see a possible way to achieve this with caddy in the current state. This would require an option for session affinity independent from the load balancing strategy, as well as an option to have different weights for upstreams.
Regardless of what I want to achieve, I think the session affinity provided by the lb_policy cookie should be extracted to an gloabl load balancing option. The lb_policy cookie just selects a random upstream and sticks to this one on subsequent requests, but in my opinion, one may want to use any of the other policies for the first selection of the upstream. and stick to it afterwards.
So I think if the session cookie would be applied after selecting a host, it would be a lot more useful.
To achieve blue/green deployment and A/B testing, one would also need to have an option to specify weights to the upstreams. This could be used to distribute the requests in the A/B test ratio and could also be used for blue/green deployments by setting the weight of one upstream to 0.
What do you think, are these valid use cases for caddy and may be worth taking a look at? Or is caddy not really the right tool for this?