Add scale to zero plugin #4
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Adding the stz controller into the websocket pathway! It's likely unnecessary with the total volume of data flowing through the webrtc conn but it's ~free and guarantees the browser instance won't be standby'es while the connection is up
Integrating is just adding the following lines to the
neko.yaml:Testing
TL;DR
This PR introduces a
scaletozeroplugin to reduce resource consumption by scaling services down when not in use. It also upgrades the server's Go version to 1.25.Why we made these changes
To reduce operational costs and resource footprint by automatically scaling services to zero when there are no active user sessions. The Go version was upgraded to stay current with language improvements and security updates.
What changed?
Added
scaletozeroPlugin:scaletozero.enabledconfiguration flag inneko.yaml.Build & Dependencies:
server/Dockerfileandserver/Dockerfile.bookworm.go.modandgo.sumto reflect the new Go version and dependency changes.Validation
The following manual tests were performed:
nekobase image with the changes.neko.yamlto enable the plugin:nekoservice, verifying that scaling was re-enabled on shutdown.Description generated by Mesa. Update settings