From 7fa73d1147bef2a38510a053195caf7c1c28d5f7 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Wed, 6 May 2020 08:45:17 +0300 Subject: [PATCH] fix(endpoints): show line breaks in edge run commands (#3794) --- .../views/endpoints/edit/endpoint.html | 14 +------ .../endpoints/edit/endpointController.js | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/app/portainer/views/endpoints/edit/endpoint.html b/app/portainer/views/endpoints/edit/endpoint.html index 7a335035d..b17b0ca8c 100644 --- a/app/portainer/views/endpoints/edit/endpoint.html +++ b/app/portainer/views/endpoints/edit/endpoint.html @@ -36,20 +36,10 @@
- - docker run -d -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/lib/docker/volumes:/var/lib/docker/volumes \ -v /:/host \ --restart always \ -e EDGE=1 \ -e - EDGE_ID={{ randomEdgeID }} \ -e EDGE_KEY={{ endpoint.EdgeKey }} \ -e CAP_HOST_MANAGEMENT=1 \ -v portainer_agent_data:/data \ --name portainer_edge_agent \ - portainer/agent - + {{dockerCommands.standalone}} - - docker network create \ --driver overlay \ portainer_agent_network; docker service create \ --name portainer_edge_agent \ --network portainer_agent_network \ -e - AGENT_CLUSTER_ADDR=tasks.portainer_edge_agent \ -e EDGE=1 \ -e EDGE_ID={{ randomEdgeID }} \ -e EDGE_KEY={{ endpoint.EdgeKey }} \ -e CAP_HOST_MANAGEMENT=1 \ --mode - global \ --constraint 'node.platform.os == linux' \ --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ --mount - type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \ --mount type=bind,src=//,dst=/host \ --mount type=volume,src=portainer_agent_data,dst=/data \ - portainer/agent - + {{dockerCommands.swarm}}
diff --git a/app/portainer/views/endpoints/edit/endpointController.js b/app/portainer/views/endpoints/edit/endpointController.js index ac24a3ed8..0ff7590f1 100644 --- a/app/portainer/views/endpoints/edit/endpointController.js +++ b/app/portainer/views/endpoints/edit/endpointController.js @@ -152,6 +152,10 @@ angular if (endpoint.Type === 4) { $scope.edgeKeyDetails = decodeEdgeKey(endpoint.EdgeKey); $scope.randomEdgeID = uuidv4(); + $scope.dockerCommands = { + standalone: buildStandaloneCommand($scope.randomEdgeID, endpoint.EdgeKey), + swarm: buildSwarmCommand($scope.randomEdgeID, endpoint.EdgeKey), + }; } $scope.endpoint = endpoint; $scope.groups = data.groups; @@ -162,5 +166,41 @@ angular }); } + function buildStandaloneCommand(edgeId, edgeKey) { + return `docker run -d -v /var/run/docker.sock:/var/run/docker.sock \\ + -v /var/lib/docker/volumes:/var/lib/docker/volumes \\ + -v /:/host \\ + --restart always \\ + -e EDGE=1 \\ + -e EDGE_ID=${edgeId} \\ + -e EDGE_KEY=${edgeKey} \\ + -e CAP_HOST_MANAGEMENT=1 \\ + -v portainer_agent_data:/data \\ + --name portainer_edge_agent \\ + portainer/agent`; + } + + function buildSwarmCommand(edgeId, edgeKey) { + return `docker network create \\ + --driver overlay \\ + portainer_agent_network; + +docker service create \\ + --name portainer_edge_agent \\ + --network portainer_agent_network \\ + -e AGENT_CLUSTER_ADDR=tasks.portainer_edge_agent \\ + -e EDGE=1 \\ + -e EDGE_ID=${edgeId} \\ + -e EDGE_KEY=${edgeKey} \\ + -e CAP_HOST_MANAGEMENT=1 \\ + --mode global \\ + --constraint 'node.platform.os == linux' \\ + --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \\ + --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \\ + --mount type=bind,src=//,dst=/host \\ + --mount type=volume,src=portainer_agent_data,dst=/data \\ + portainer/agent`; + } + initView(); });