package portaineree import ( "ocl/portainer-devtool/configs" "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" ) type SwarmDeploySubTask struct { common.GeneralTask } func NewSwarmDeploySubTask(cfg *configs.Config) *SwarmDeploySubTask { return &SwarmDeploySubTask{ GeneralTask: *common.NewGeneralTask(cfg), } } func (task *SwarmDeploySubTask) Execute() error { utils.SuccessPrint(` version: '3.2' services: agent: image: portainer/agent:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes networks: - agent_network deploy: mode: global placement: constraints: [node.platform.os == linux] portainer: image: portainerci/portainer-ee:4803 command: -H tcp://tasks.agent:9001 --tlsskipverify --log-level ERROR ports: - "9443:9443" - "9000:9000" - "8000:8000" volumes: - /var/run/docker.sock:/var/run/docker.sock - /home/oscar/volume/portainer-ee-data-1:/data networks: - agent_network deploy: mode: replicated replicas: 1 placement: constraints: [node.role == manager] networks: agent_network: driver: overlay attachable: true -------------------------- docker stack deploy -c docker-compose.yaml portainer `) return nil } func (task *SwarmDeploySubTask) String() string { return "Deploy Portainer in Swarm" }