release 0.2.0#127
Merged
Merged
Conversation
Servers now persist an immutable runtime snapshot in the DB: configuration plus install script. New servers resolve blueprint/software only at creation time. Node config list and per-server config fetch now read from the server snapshot, so deleted blueprints no longer break normal daemon sync for newly created servers. Install script endpoints also read from the stored server snapshot. Legacy rows without snapshots get a compatibility fallback: if their blueprint still exists, Protocube rebuilds and persists the snapshot on first access.
Fix an issue where ReplaceValue strings loaded from stored config patches were marshaled as unquoted JSON, causing config patch unmarshaling to fail after restart. This prevented protocube from loading servers from the database and completing startup.
- Update ServerData to include software ID, version, image, and limits - Update S4J to handle new values returned in the server data response - Update vSLS to use software ID, version, image, and limits from ServerData instead of the blueprint - Remove version fetcher from vSLS - Rename BuildServerSnapshot to BuildServerConfiguration - Move BuildServerConfiguration into configuration.go - Move mergeBlueprintState to blueprint/helpers.go and rename to MergeState - Move MergeLimits, ValidateLimits, and CopyLimits to environment/helpers.go - Move GetServerConfiguration into server.go and convert it to a Server method - Rename ServerConfigurationResponse to ServerConfiguration on both Protocube and the daemon Don’t attempt to reconstruct a server’s runtime configuration (ServerConfiguration) if it cannot be loaded. Instead, validate it, and if it is invalid, log an error and let the user handle it manually. This situation should only occur if database rows were modified directly. The EnsureServerSnapshot logic added unnecessary boilerplate to HTTP handlers, and it’s preferable to keep the code simple rather than account for an unlikely edge case.
… the delete command if force is set force on the kill and stop commands was left over from the old way vSLS handled server registration where vSLS only tracked servers that it created and removed them if they stopped running
Track install phase, installer container metadata, exit state, failure reason, timestamps, and recent logs from the daemon. Expose install state through daemon and Protocube APIs so clients can query install progress without talking to the daemon directly. Allow io_weight 0 to omit Docker blkio weight for local Docker/WSL testing environments that do not support io.weight.
remove changes by Dani
Keep install info responses focused on lifecycle metadata only. Route installer log visibility through the existing server logs endpoint, and record the install lock owner so servers waiting on shared base installation can surface the active installer logs.
Add warmup and post-warmup install-script fields with defaults and validation. Run daemon-owned warmup after install using lifecycle phases, online signal matching, timeout/retry policy, graceful shutdown, and post-warmup execution.
Add parser coverage for warmup defaults, explicit warmup fields, and invalid failure policies. Add daemon warmup tests for defaulting, retry attempt semantics, and startup signal matching.
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.32 to 1.5.33. - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.32...v_1.5.33) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.33 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#103) Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.32 to 1.5.33. - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.32...v_1.5.33) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.33 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.github.retrooper:packetevents-velocity](https://github.com/retrooper/packetevents) from 2.11.2 to 2.12.1. - [Release notes](https://github.com/retrooper/packetevents/releases) - [Changelog](https://github.com/retrooper/packetevents/blob/2.0/CHANGELOG.md) - [Commits](retrooper/packetevents@v2.11.2...v2.12.1) --- updated-dependencies: - dependency-name: com.github.retrooper:packetevents-velocity dependency-version: 2.12.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.21.3 to 2.21.4. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.21.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.33 to 1.5.34. - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.33...v_1.5.34) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.34 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#109) Bumps [com.github.retrooper:packetevents-velocity](https://github.com/retrooper/packetevents) from 2.12.1 to 2.12.2. - [Release notes](https://github.com/retrooper/packetevents/releases) - [Changelog](https://github.com/retrooper/packetevents/blob/2.0/CHANGELOG.md) - [Commits](retrooper/packetevents@v2.12.1...v2.12.2) --- updated-dependencies: - dependency-name: com.github.retrooper:packetevents-velocity dependency-version: 2.12.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.github.retrooper:packetevents-velocity](https://github.com/retrooper/packetevents) from 2.12.1 to 2.12.2. - [Release notes](https://github.com/retrooper/packetevents/releases) - [Changelog](https://github.com/retrooper/packetevents/blob/2.0/CHANGELOG.md) - [Commits](retrooper/packetevents@v2.12.1...v2.12.2) --- updated-dependencies: - dependency-name: com.github.retrooper:packetevents-velocity dependency-version: 2.12.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.21.4 to 2.22.0. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#113) Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.33 to 1.5.34. - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.33...v_1.5.34) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.34 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable) from 0.1.14 to 0.1.15. - [Commits](mattn/go-colorable@v0.1.14...v0.1.15) --- updated-dependencies: - dependency-name: github.com/mattn/go-colorable dependency-version: 0.1.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable) from 0.1.14 to 0.1.15. - [Commits](mattn/go-colorable@v0.1.14...v0.1.15) --- updated-dependencies: - dependency-name: github.com/mattn/go-colorable dependency-version: 0.1.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This should allow for cleaner errors when a server's node is not reachable and allow us to avoid unnecessary requests to a disconnected node. Before, the node client would be kept and Protocube would still try to make requests to the node even after it disconnected, resulting in downstream connection errors. Now the client is removed when the node disconnects and Protocube will return a clear node unavailable error instead. Before: 502 Bad Gateway: request creation failed: connection refused After: 503 Service Unavailable: node <node-id> for server <server-id> is not connected: node unavailable
Sync() already syncs environment settings, so onBeforeStart was running InSituUpdate twice and logging the same limit modification message.
…114) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.20.0 to 0.21.0. - [Commits](golang/sync@v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) Bumps gopkg.in/ini.v1 from 1.67.2 to 1.67.3. --- updated-dependencies: - dependency-name: gopkg.in/ini.v1 dependency-version: 1.67.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…116) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.45.0 to 0.46.0. - [Commits](golang/sys@v0.45.0...v0.46.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.46.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lugin (#118) Bumps [org.sonatype.central:central-publishing-maven-plugin](https://github.com/sonatype/central-publishing-maven-plugin) from 0.10.0 to 0.11.0. - [Commits](https://github.com/sonatype/central-publishing-maven-plugin/commits) --- updated-dependencies: - dependency-name: org.sonatype.central:central-publishing-maven-plugin dependency-version: 0.11.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lugin (#119) Bumps [org.sonatype.central:central-publishing-maven-plugin](https://github.com/sonatype/central-publishing-maven-plugin) from 0.10.0 to 0.11.0. - [Commits](https://github.com/sonatype/central-publishing-maven-plugin/commits) --- updated-dependencies: - dependency-name: org.sonatype.central:central-publishing-maven-plugin dependency-version: 0.11.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.34 to 1.5.37. - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.34...v_1.5.37) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.37 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.github.retrooper:packetevents-velocity](https://github.com/retrooper/packetevents) from 2.12.2 to 2.13.0. - [Release notes](https://github.com/retrooper/packetevents/releases) - [Changelog](https://github.com/retrooper/packetevents/blob/2.0/CHANGELOG.md) - [Commits](retrooper/packetevents@v2.12.2...v2.13.0) --- updated-dependencies: - dependency-name: com.github.retrooper:packetevents-velocity dependency-version: 2.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#124) Bumps [com.github.retrooper:packetevents-velocity](https://github.com/retrooper/packetevents) from 2.12.2 to 2.13.0. - [Release notes](https://github.com/retrooper/packetevents/releases) - [Changelog](https://github.com/retrooper/packetevents/blob/2.0/CHANGELOG.md) - [Commits](retrooper/packetevents@v2.12.2...v2.13.0) --- updated-dependencies: - dependency-name: com.github.retrooper:packetevents-velocity dependency-version: 2.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.18.6 to 1.19.0. - [Release notes](https://github.com/klauspost/compress/releases) - [Commits](klauspost/compress@v1.18.6...v1.19.0) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.