Skip to content

fix: recreate when host, protocol, or mount mode changes - #61

Merged
Rhevin merged 1 commit into
masterfrom
fix/config-hash-publish-readonly
Nov 10, 2026
Merged

Rhevin merged 1 commit into
masterfrom
fix/config-hash-publish-readonly

Conversation

@Rhevin

@Rhevin Rhevin commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • The config hash now includes the publish host IP, a non-TCP protocol, and a read-only mount, so a normal up recreates the container when those change. Plain TCP with no host IP keeps the old hash.
  • A multi-element entrypoint no longer hashes the same as one space-joined string, so stacks that hit the old entrypoint bug recreate once.
  • go.mod is Go 1.27. compose-go v2.16.2 promotes Image, Ports, and DependsOn, and those composite literals do not build with -lang=go1.26.

Test plan

  • go test ./internal/backend/ ./cmd/ ./internal/compose/
  • apple-compose up on a stack whose compose file sets a host IP, udp, :ro, or a multi-element entrypoint, and confirm that service is recreated once

The config hash ignored those fields, so up kept containers created with the old run args. Go 1.27 is required because compose-go v2.16.2 exposes service fields only through embedded structs.
@Rhevin
Rhevin merged commit 23da5d9 into master Nov 10, 2026
5 checks passed
@Rhevin
Rhevin deleted the fix/config-hash-publish-readonly branch November 10, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant