fix(compose): add project directory option to compose command [EE-7093] (#11859)

pull/11886/head
Oscar Zhou 6 months ago committed by GitHub
parent c94cfb1308
commit b23b0f7c8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -126,6 +126,10 @@ func (wrapper *PluginWrapper) command(command composeCommand, options libstack.O
command.WithHost(options.Host)
}
if options.ProjectDir != "" {
command.WithProjectDirectory(options.ProjectDir)
}
var stderr bytes.Buffer
args := []string{}
@ -237,6 +241,10 @@ func (command *composeCommand) WithEnvFilePath(envFilePath string) {
command.globalArgs = append(command.globalArgs, "--env-file", envFilePath)
}
func (command *composeCommand) WithProjectDirectory(projectDir string) {
command.globalArgs = append(command.globalArgs, "--project-directory", projectDir)
}
func (command *composeCommand) ToArgs() []string {
return append(command.globalArgs, command.subCommandAndArgs...)
}

@ -35,6 +35,7 @@ type WaitResult struct {
}
type Options struct {
// WorkingDir is the working directory for the command execution
WorkingDir string
Host string
ProjectName string
@ -42,6 +43,10 @@ type Options struct {
EnvFilePath string
// Env is a list of environment variables to pass to the command, example: "FOO=bar"
Env []string
// ProjectDir is the working directory for containers created by docker compose file.
// By default, it is an empty string, which means it corresponds to the path of the compose file itself.
// This is particularly helpful when mounting a relative path.
ProjectDir string
}
type DeployOptions struct {

Loading…
Cancel
Save