You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sure we can kill a server and boot the next version super easy with docker and fly.
But NATS is often your control plane and so you MUST have the Cluster working at all times.
And you have to have each NATS Server tell Its Clients to go find another NATS Server cause in 10 minutes I am upgrading...
So its has to be a red green staggered upgrade of the cluster.
Thats why they have lame duck properties in NATS Server; to help do this male duck dance.
I think with Fly and NATS CLI from your laptop, the flow can be done.
Yes, its not exactly GitOps, but a decent way to get the thing working and to easily debug it.
After its working an Origin NATS Server ( Aka Syndic ) can talk over the same NATS protocol, to dos the same thing that is done from a laptop. So now Its more GitOps.
The following code I have not tried and it way too complex for now reason at all too.
But just slapping it here for now as a reference to come back to later.
fly is a really great platform to test this out on.
https://docs.nats.io/running-a-nats-service/nats_admin/lame_duck_mode
Why ?
Sure we can kill a server and boot the next version super easy with docker and fly.
But NATS is often your control plane and so you MUST have the Cluster working at all times.
And you have to have each NATS Server tell Its Clients to go find another NATS Server cause in 10 minutes I am upgrading...
So its has to be a red green staggered upgrade of the cluster.
Thats why they have lame duck properties in NATS Server; to help do this male duck dance.
I think with Fly and NATS CLI from your laptop, the flow can be done.
Yes, its not exactly GitOps, but a decent way to get the thing working and to easily debug it.
The Fly CLI and NATS CLI can be added to the Taskfile, like here: https://github.com/starfederation/datastar/blob/develop/Taskfile.yml#L14
After its working an Origin NATS Server ( Aka Syndic ) can talk over the same NATS protocol, to dos the same thing that is done from a laptop. So now Its more GitOps.
The following code I have not tried and it way too complex for now reason at all too.
But just slapping it here for now as a reference to come back to later.
https://github.com/nabbar/golib/blob/master/test/test-nats/main.go#L114
https://github.com/nabbar/golib/blob/master/nats/configPart.go#L214
The text was updated successfully, but these errors were encountered: