ServiceWeaver / weaver-kube

Run Service Weaver applications on vanilla Kubernetes.
Apache License 2.0
61 stars 19 forks source link

add rollout support to weaver kube #32

Closed rgrandl closed 1 year ago

rgrandl commented 1 year ago

In the current implementation, with weaver kube you have to pause the world when you want to rollout a new version of the app.

In this PR we enable rolling upgrades, a deployment strategy that is supported by Kubernetes.

In the near future, we might want to provide integration with argo rollouts (or something else) to enable blue/green and canary deployments.

Main changes:

Drawbacks of this approach (things that might not work):

For now, in all our examples we have a simple listener exported by main. So we can restrict to be only one listener exported by main, and this might cover most of the scenarios. However, how to handle listeners across versions is something to think about.