diff --git a/api/cmd/portainer/main.go b/api/cmd/portainer/main.go index 7d0d369c9..d91a3a540 100644 --- a/api/cmd/portainer/main.go +++ b/api/cmd/portainer/main.go @@ -98,7 +98,7 @@ func initDataStore(dataStorePath string, rollback bool, fileService portainer.Fi } func initComposeStackManager(assetsPath string, dataStorePath string, reverseTunnelService portainer.ReverseTunnelService, proxyManager *proxy.Manager) portainer.ComposeStackManager { - composeWrapper, err := exec.NewComposeStackManager(assetsPath, proxyManager) + composeWrapper, err := exec.NewComposeStackManager(assetsPath, dataStorePath, proxyManager) if err != nil { log.Printf("[INFO] [main,compose] [message: falling-back to libcompose] [error: %s]", err) return libcompose.NewComposeStackManager(dataStorePath, reverseTunnelService) diff --git a/api/exec/compose_stack.go b/api/exec/compose_stack.go index 8e5aa2316..5daf80ece 100644 --- a/api/exec/compose_stack.go +++ b/api/exec/compose_stack.go @@ -16,11 +16,12 @@ import ( // ComposeStackManager is a wrapper for docker-compose binary type ComposeStackManager struct { wrapper *wrapper.ComposeWrapper + dataPath string proxyManager *proxy.Manager } // NewComposeStackManager returns a docker-compose wrapper if corresponding binary present, otherwise nil -func NewComposeStackManager(binaryPath string, proxyManager *proxy.Manager) (*ComposeStackManager, error) { +func NewComposeStackManager(binaryPath string, dataPath string, proxyManager *proxy.Manager) (*ComposeStackManager, error) { wrap, err := wrapper.NewComposeWrapper(binaryPath) if err != nil { return nil, err @@ -29,6 +30,7 @@ func NewComposeStackManager(binaryPath string, proxyManager *proxy.Manager) (*Co return &ComposeStackManager{ wrapper: wrap, proxyManager: proxyManager, + dataPath: dataPath, }, nil } @@ -55,7 +57,7 @@ func (w *ComposeStackManager) Up(stack *portainer.Stack, endpoint *portainer.End filePath := stackFilePath(stack) - _, err = w.wrapper.Up(filePath, url, stack.Name, envFilePath) + _, err = w.wrapper.Up(filePath, url, stack.Name, envFilePath, w.dataPath) return err } diff --git a/api/exec/compose_stack_integration_test.go b/api/exec/compose_stack_integration_test.go index 687f88bb0..0278a4bfe 100644 --- a/api/exec/compose_stack_integration_test.go +++ b/api/exec/compose_stack_integration_test.go @@ -43,7 +43,7 @@ func Test_UpAndDown(t *testing.T) { stack, endpoint := setup(t) - w, err := NewComposeStackManager("", nil) + w, err := NewComposeStackManager("", "", nil) if err != nil { t.Fatalf("Failed creating manager: %s", err) } diff --git a/api/go.mod b/api/go.mod index 7790303dc..c6243456f 100644 --- a/api/go.mod +++ b/api/go.mod @@ -28,7 +28,7 @@ require ( github.com/mitchellh/mapstructure v1.1.2 // indirect github.com/orcaman/concurrent-map v0.0.0-20190826125027-8c72a8bb44f6 github.com/pkg/errors v0.9.1 - github.com/portainer/docker-compose-wrapper v0.0.0-20210415201633-2bcbd377b1f4 + github.com/portainer/docker-compose-wrapper v0.0.0-20210415235931-d457f9aba1cc github.com/portainer/libcompose v0.5.3 github.com/portainer/libcrypto v0.0.0-20190723020515-23ebe86ab2c2 github.com/portainer/libhttp v0.0.0-20190806161843-ba068f58be33 diff --git a/api/go.sum b/api/go.sum index 60ff9ddcd..7e337fb2d 100644 --- a/api/go.sum +++ b/api/go.sum @@ -240,10 +240,10 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/portainer/docker-compose-wrapper v0.0.0-20210415175447-0b5174bcf0fc h1:Th037sOSh61cHHH42XNWtEsplrf23jEaqwovpPerKXk= -github.com/portainer/docker-compose-wrapper v0.0.0-20210415175447-0b5174bcf0fc/go.mod h1:No8p8iZt9N2HOtDS9aWkh1ILxmQVoOTZZjHGlOij/ec= -github.com/portainer/docker-compose-wrapper v0.0.0-20210415201633-2bcbd377b1f4 h1:WDh1+o4V7Vl9+ttWzDs64hI883LpkfsEEhtpniDE42U= -github.com/portainer/docker-compose-wrapper v0.0.0-20210415201633-2bcbd377b1f4/go.mod h1:No8p8iZt9N2HOtDS9aWkh1ILxmQVoOTZZjHGlOij/ec= +github.com/portainer/docker-compose-wrapper v0.0.0-20210415231937-2c60ce1d9fc1 h1:wo86z2M4+d5NCpkefIVSPzH93l9kSiR8GWlOevoenJQ= +github.com/portainer/docker-compose-wrapper v0.0.0-20210415231937-2c60ce1d9fc1/go.mod h1:No8p8iZt9N2HOtDS9aWkh1ILxmQVoOTZZjHGlOij/ec= +github.com/portainer/docker-compose-wrapper v0.0.0-20210415235931-d457f9aba1cc h1:MvSEkOvhW3m2D3L0/Ymrjgg0t3CpHlHwpZfpgpIGNiw= +github.com/portainer/docker-compose-wrapper v0.0.0-20210415235931-d457f9aba1cc/go.mod h1:No8p8iZt9N2HOtDS9aWkh1ILxmQVoOTZZjHGlOij/ec= github.com/portainer/libcompose v0.5.3 h1:tE4WcPuGvo+NKeDkDWpwNavNLZ5GHIJ4RvuZXsI9uI8= github.com/portainer/libcompose v0.5.3/go.mod h1:7SKd/ho69rRKHDFSDUwkbMcol2TMKU5OslDsajr8Ro8= github.com/portainer/libcrypto v0.0.0-20190723020515-23ebe86ab2c2 h1:0PfgGLys9yHr4rtnirg0W0Cjvv6/DzxBIZk5sV59208=