Skip to content

Fix command/entrypoint mapping to match Docker semantics - #127

Merged
firecow merged 1 commit into
mainfrom
mjn/fix-command-entrypoint-mapping
May 10, 2026
Merged

Fix command/entrypoint mapping to match Docker semantics#127
firecow merged 1 commit into
mainfrom
mjn/fix-command-entrypoint-mapping

Conversation

@firecow

@firecow firecow commented Apr 10, 2026

Copy link
Copy Markdown
Member

Summary

  • command was mapped to ContainerSpec.Command (ENTRYPOINT override) instead of ContainerSpec.Args (CMD)
  • entrypoint field existed in the schema but was never wired up
  • This broke images with entrypoints (e.g. cloudflare/cloudflared) where command: ["tunnel", "run", ...] tried to execute tunnel as a binary

Changes

  • Map command to ContainerSpec.Args and entrypoint to ContainerSpec.Command
  • Add entrypoint to the example swarm-app.yml
  • Add tests for command/entrypoint mapping

Test plan

  • Existing tests pass
  • New tests verify command maps to Args and entrypoint maps to Command
  • ESLint passes

command was mapped to ContainerSpec.Command (ENTRYPOINT) instead of
ContainerSpec.Args (CMD). This broke images with entrypoints like
cloudflare/cloudflared where command: ["tunnel", "run", ...] would
try to execute "tunnel" as a binary instead of passing it as args
to the cloudflared entrypoint.
@firecow firecow self-assigned this Apr 10, 2026
@firecow
firecow merged commit 85c619b into main May 10, 2026
4 checks passed
@firecow
firecow deleted the mjn/fix-command-entrypoint-mapping branch May 10, 2026 08:15
@firecow firecow mentioned this pull request May 10, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant