feat(stacks): scope stack names to endpoint (#4520) (#212)

* refactor(stack): create unique name function

* refactor(stack): change stack resource control id

* feat(stacks): validate stack unique name in endpoint

* feat(stacks): prevent name collision with external stacks

* refactor(stacks): move resource id util

* refactor(stacks): supply resource id util with name and endpoint

* fix(docker): calculate swarm resource id

* feat(stack): prevent migration if stack name already exist

* feat(authorization): use stackutils
This commit is contained in:
Chaim Lev-Ari
2021-03-24 05:40:25 +02:00
committed by GitHub
parent 914476618d
commit 65028ed96f
23 changed files with 160 additions and 61 deletions
+12
View File
@@ -0,0 +1,12 @@
package stackutils
import (
"fmt"
portainer "github.com/portainer/portainer/api"
)
// ResourceControlID returns the stack resource control id
func ResourceControlID(endpointID portainer.EndpointID, name string) string {
return fmt.Sprintf("%d_%s", endpointID, name)
}