Repository navigation
Conversation
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.
The customer tag-only restart and app-volume replacement can overlap old jobs, callbacks and DB work. This change adds bin/eramba-update for an explicit online/offline image switch: the selected target coordinator drains the supported old runtime while MySQL remains available, holds exclusive ownership through client retirement and the proven app-volume replacement, then initializes/synchronizes fresh code before matching services start.
The helper pins preparation/activation to the selected local image ID, checks rendered and actual coordinator identity, DB/data/source contracts and the exact drained code target before removal or permission. Invalid Compose overrides fail before runtime mutation. Data, MySQL, logs and trigger storage remain; dotenv is parsed as data. No app Docker socket, tag/heartbeat/deadline takeover or ordinary startup migration is introduced. Fresh install requires absent app/data/database volumes; legacy adoption uses the fenced bridge/bootstrap procedure.
Cron runs a continuous native worker with guarded periodic commands and meaningful readiness. Internal callbacks use the private authenticated origin; public Caddy routes only the exact DB-free progress path separately. Containers use isolated Compose identities, including CI checks.
Validation:
Release dependency: requires the companion app/immutable bridge image. Configure SAFE_UPDATE_TEST_IMAGE to a fixed bridge-capable released image before the repository's full installation CI; no image was published by this PR. Local Docker/shared-volume evidence does not establish EFS/CNI/Argo staging behavior. The final independent integrated review findings are resolved; no merge or deployment is included.
Base: 69a6312 (1.x). Head: 903424d.
The first GitHub run at ca07ed3 exposed the runner's missing ripgrep; the workflow now installs jq/ripgrep before the contract suite. SAFE_UPDATE_TEST_IMAGE is currently unconfigured, so full installation CI intentionally requires the fixed release artifact before proceeding.
Companion app: https://github.com/eramba/eramba/pull/6301.
Companion cloud: https://github.com/eramba/ermb-config/pull/196.