Blue/Green with sticky sessions

I have a legacy app that doesn't support distributed session store (like redis), so we currently have it behind HAProxy (active/passive approach) in order to proceed with rolling updates.

  • We deploy the new version to the passive server
  • We set active server to drain, but still receiving the current sessions
  • All the new requests go to backup server
  • When active server is drained, we deploy the new version of the app and put it back online.

Is there a way to achieve this with Traefik? I was looking at wrr but not sure how to mix this with sticky sessions.