#cloud-config merge_how: dict(recurse_array)+list(append) write_files: - path: /etc/systemd/system/swarm-agent.service owner: "root:root" permissions: "0644" content: | [Unit] Description=Swarm Agent After=docker.service Requires=docker.service OnFailure=swarm-agent-failure.service [Service] TimeoutStartSec=0 ExecStartPre=-/usr/bin/docker kill swarm-agent ExecStartPre=-/usr/bin/docker rm swarm-agent ExecStartPre=-/usr/bin/docker pull swarm:1.0.0 ExecStart=/usr/bin/docker run -e http_proxy=$HTTP_PROXY -e https_proxy=$HTTPS_PROXY -e no_proxy=$NO_PROXY --name swarm-agent swarm:1.0.0 join --addr $NODE_IP:2375 $DISCOVERY_URL ExecStop=/usr/bin/docker stop swarm-agent ExecStartPost=/usr/bin/curl -sf -X PUT -H 'Content-Type: application/json' \ --data-binary '{"Status": "SUCCESS", "Reason": "Setup complete", "Data": "OK", "UniqueId": "00000"}' \ "$WAIT_HANDLE" [Install] WantedBy=multi-user.target