-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic Module Updates #53
Comments
I would like I think Station Core is the best place to implement this auto-update logic - this way, both Station Core and Station Desktop instances will pick up the updates. We should think a bit more about the update sequence and edge cases:
|
Agree that this should be solved at Core level, and eventually move to Zinnia. For the first version I think we can just always run the latest SPARK version that can be fetched. If it can't be fetched, retry in the next cycle. If it can't start, upgrade once a new version is available. We don't want people to run outdated versions anyway. We can then use community feedback to steer addition of new features. |
@bajtos I'm happy to take this one, if you want take it let's discuss |
Go for it! 🚀
Do you want to keep shipping some version of a module bundled inside Station Core, or do you expect Station Core do download all modules when it's started for the first time? If Station Core is shipped without modules, then we may need to add extra handling for the following error case:
A few more things to consider:
|
I'm thinking no. Since we always want to run the latest versions of modules, if it can't get the latest version we should consider the node not functional. A functional node is one that is able to keep itself updated.
This could be an activity event! Just like when Core or Zinnia aren't able to run.
Updating Zinnia or Bacalhau isn't a pain point atm, therefore I'm voting to add this later.
It will end up in a broken state yeah. I think this means we need to ship Desktop/Core updates with new Zinnia versions before updating the module, so that when their installations break we can tell users they need to update the version. I think this is fine - until we add auto updates for Zinnia too.
It will just fail. I think we need to ensure that Zinnia scripts throwing uncaught errors will create appropriate activity events, so that this error is visible to the user. |
Wouldn't you say that operators will notice (no earnings) and this incentivise updates instead? I view this as a positive side effect.
SGTM! Treat Zinnia like a browser, and perform feature detection. |
I would love to say that! This is what I see in the data:
I guess you are right that people noticed they were not receiving new rewards and upgraded their Station Core to v16.3.0 to earn again. |
Currently, when we make an update to the Spark module, we need to ship a new version of Station. This is acceptable while we have one module running on Station, but becomes unacceptable at 2+ modules as there would be an endless stream of new Station apps to download.
Station should listen out for updates to individual modules and then fetch the latest and start running it, without a new version of Station needing to be deployed.
E.g.
Tasks
There's not going to be any downgrade mechanism for the first implementation. We always want users to run the latest versions of every module.
The text was updated successfully, but these errors were encountered: