In k8s containers, command is the executable to run, and args are the arguments to pass to it. However, in agent-stack-k8s, these are substituted with buildkite-agent and various commands like start and bootstrap.
This can lead to confusing situations, so I've updated the docs and the test fixture examples to discourage specifying both. Users should stick to just specifying command, but feel free to write a shell script with multiple commands.
In k8s containers,
command
is the executable to run, andargs
are the arguments to pass to it. However, inagent-stack-k8s
, these are substituted withbuildkite-agent
and various commands likestart
andbootstrap
.The
command
andargs
that the user specifies in theirpodSpec
is joined with spaces and set as theBUILDKITE_COMMAND
environment variable for thebootstrap
command: https://github.com/buildkite/agent-stack-k8s/blob/aa3cddf123470b7788426e3c49a02f873d451319/internal/controller/scheduler/scheduler.go#L240This can lead to confusing situations, so I've updated the docs and the test fixture examples to discourage specifying both. Users should stick to just specifying
command
, but feel free to write a shell script with multiple commands.