FlowFuse/flowfuse

Feature: automatic stack updates

Opened this issue · 1 comments

Description

On FFC we publish new stacks at least once a month with each release. Stacks enable new features and bring fixes/security updates.

Currently, we leave it to end users to decide when to update their instances. Evidence shows it isn't something most users pay attention to - with a lot of instances running older stacks.

The proposal here is to introduce a new (optional) feature where we will automatically apply stack updates at a schedule of the user's choosing. The user can pick a regular maintenance window for their instance - for eg '3am-4am PT' - when a restart of their instance will be most convenient. During that window, if there is a stack update available, the platform will apply it.

We need to consider:

  • schedule should allow both day-of-week and time-of-day configuration (inc timezone)
  • we should provide a sensible default; eg 1am-2am GMT - configured by Admin so self-hosted customers can set their own default that is sensitive to their situation.
  • Opt-in vs opt-out considerations; how to apply retroactively to existing instances.
  • we know small instances that haven't been restarted for a long time but have had lots of modules incrementally applied sometimes have issues reinstalling all the modules on restart. That is a risk here - especially if the window is weekend/overnight.

A side-effect benefit for us will be getting to a place where a decent proportion of the NR instances on the platform are being restarted with some level of predictability. This will make the maintenance task of migrating k8s nodes easier.

I believe this feature should be available to all users.

Which customers would this be available to

Everyone - CE/Starter/Team/Enterprise

Have you provided an initial effort estimate for this issue?

I have provided an initial effort estimate

Another consideration here is for users that read the docs - These are updated each release and so the user on an old stack expects them to have access to features that they don't.

If we can update the stack the weekend after each stack update that makes it a better experience for them too.