From 66a188df52285c7fc2190121e2708f3a1f3816d6 Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Sat, 24 Feb 2018 20:11:19 +0530
Subject: [PATCH] Add docker-tcp service

---
 digitalocean/docker-tcp.socket | 10 ++++++++++
 digitalocean/ignition.tf       | 34 ++++++++++++++++++++++++++++++----
 2 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/digitalocean/docker-tcp.socket b/digitalocean/docker-tcp.socket
new file mode 100644
index 0000000..850b64c 100644
--- /dev/null
+++ a/digitalocean/docker-tcp.socket
@@ -1,0 +1,10 @@
+[Unit]
+Description=Docker Socket for the API
+
+[Socket]
+ListenStream=2375
+BindIPv6Only=both
+Service=docker.service
+
+[Install]
+WantedBy=sockets.target
diff --git a/digitalocean/ignition.tf b/digitalocean/ignition.tf
index eda3aba..9acb44f 100644
--- a/digitalocean/ignition.tf
+++ a/digitalocean/ignition.tf
@@ -1,10 +1,32 @@
-data "ignition_config" "hydrogen" {
-  systemd = [
-      "${data.ignition_systemd_unit.hydrogen.id}",
+# Based on https://github.com/jjduhamel/tf-files/blob/master/swarm/ignition.tf
+
+data "ignition_user" "core" {
+  name = "core"
+  no_create_home = true
+  groups = [ "wheel", "docker", "systemd-journal" ]
+}
+
+data "ignition_user" "nemo" {
+  name = "nemo"
+  groups = [ "wheel", "sudo", "docker", "systemd-journal" ]
+  ssh_authorized_keys = [
+    "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy8R99Ht7DVkEPW/v9/4Rf7oijC0m6/PJPNEQO9lfB340zS55cVblensxojZjkauV51vLcGfFvBCt3S/PJfZVP5isjmjqN6A7CVHc/d9+BCTepZe6TjrS/jTF+D3LoZ8xpXr7Kgf/K5Sq05XJtXfArXHJrOGBldCRHVMR/aVheDJSa0bYFsj5OhF8cOggo5vbhymgP3VbRJ0NWXDwPu5YrRiDkt02Oli9HpsR6K6CvNXeMCSBGaK/hlsRoWKM9qhtmNvb+6brCZ5MCkfF6MA395dyM9xLiAdYxudhbCfCylX7DPAFqwdrRvgLI12xM/1zsUEq8vGMJzMFnUjGhers9 nemo@flying-nemo"
   ]
+}
+
+data "ignition_systemd_unit" "docker-tcp" {
+  name = "docker-tcp.socket"
+  enable = true
+  content = "${ file("${ path.module }/docker-tcp.socket") }"
 }
+
+data "ignition_config" "swarm" {
+  systemd = [
+    "${ data.ignition_systemd_unit.docker-tcp.id }"
+  ]
 
-data "ignition_systemd_unit" "hydrogen-docker" {
-  name = "docker.service"
-  content = "[Service]\nType=oneshot\nExecStart=/usr/bin/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
+  users = [
+    "${ data.ignition_user.core.id }",
+    "${ data.ignition_user.nemo.id }",
+  ]
 }
--
rgit 0.1.5