Repository navigation
fix(cli): deploy-app --image rolls the image again (BUGS.md §35), plus the day's bug records - #339
Merged
Merged
Conversation
…app image override bug (35)
…mpose_content The agent deploys compose_content exactly as written and never reads the request's image field, so the override silently did nothing while the command record reported the new image next to status: deployed (BUGS.md 35). Rewrite the target service's image inside the compose the request carries. Regression test with the n8n template's exact shape, written first and confirmed failing against the previous behaviour.
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.
Fix
stacker agent deploy-app <app> --image <ref> --forcereported the new image as deployed while the container was recreated with the compose's own image. The agent deployscompose_contentexactly as written and never reads the request'simagefield, so once the CLI started sending the generated compose (the §31 fix), the override silently no-opped for every template-based project.The override now rewrites the target service's
image:inside the compose the request carries - only that service. Works against agents already in the field.Regression test with the n8n template's exact shape, written first and confirmed failing against the previous behaviour (the compose kept the old image). Full suite green.
Verified live on a running n8n stack:
deploy-app n8n --image n8nio/n8n:2.47.7 --forcerolled 2.45.4 -> 2.47.7 (container labels confirm), published ports intact,/,/healthz,/healthz/readinessall 200.Bug records (BUGS.md)
paused [port_conflict]while the stack is up; the precheck listed the deploy's own container as the conflict.--forcerecreation.cargo clippy -- -D warnings/cargo fmt -- --checkgates fail on pre-existing code (toolchain drift). Not fixed here - separate cleanup.Follow-up (other repo)
The agent-side
DeployAppCommand.imagecontract is still unimplemented (status/src/commands/stacker.rs), so directagent exec deploy_appcallers withimageand no rewritten compose are still ignored. Tracked in §35.