From 2e446bb86f857ed135629546c652a2d77e0cfc3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Quentin=20Guid=C3=A9e?= Date: Sat, 7 Oct 2023 10:20:24 -0400 Subject: [PATCH] Support for command flag in services --- adapter/docker_cli.go | 1 + adapter/runner_docker.go | 5 +++++ types/docker.go | 1 + types/service.go | 3 +++ 4 files changed, 10 insertions(+) diff --git a/adapter/docker_cli.go b/adapter/docker_cli.go index eff131f0..f5280523 100644 --- a/adapter/docker_cli.go +++ b/adapter/docker_cli.go @@ -57,6 +57,7 @@ func (a DockerCliAdapter) CreateContainer(options types.CreateContainerOptions) Tty: true, AttachStdout: true, AttachStderr: true, + Cmd: options.Cmd, } hostConfig := container.HostConfig{ diff --git a/adapter/runner_docker.go b/adapter/runner_docker.go index e9e4df77..5da45fc5 100644 --- a/adapter/runner_docker.go +++ b/adapter/runner_docker.go @@ -210,6 +210,11 @@ func (a RunnerDockerAdapter) Start(inst *types.Instance, setStatus func(status s options.Sysctls = *service.Methods.Docker.Sysctls } + // cmd + if service.Methods.Docker.Cmd != nil { + options.Cmd = strings.Split(*service.Methods.Docker.Cmd, " ") + } + if service.Methods.Docker.Dockerfile != nil { options.ImageName = inst.DockerImageVertexName() id, err = a.createContainer(options) diff --git a/types/docker.go b/types/docker.go index 60320bd0..9e65b503 100644 --- a/types/docker.go +++ b/types/docker.go @@ -29,6 +29,7 @@ type CreateContainerOptions struct { Env []string `json:"env,omitempty"` CapAdd []string `json:"cap_add,omitempty"` Sysctls map[string]string `json:"sysctls,omitempty"` + Cmd []string `json:"cmd,omitempty"` } type BuildImageOptions struct { diff --git a/types/service.go b/types/service.go index 45f71c2d..3945f567 100644 --- a/types/service.go +++ b/types/service.go @@ -209,6 +209,9 @@ type ServiceMethodDocker struct { // Sysctls allows to modify kernel parameters. Sysctls *map[string]string `yaml:"sysctls,omitempty" json:"sysctls,omitempty"` + + // Cmd is the command to run in the container. + Cmd *string `yaml:"command,omitempty" json:"command,omitempty"` } type ServiceMethods struct {