|
@@ -1,8 +1,10 @@
|
1
|
1
|
#!/usr/bin/env python3
|
2
|
2
|
|
3
|
3
|
from collections import defaultdict
|
|
4
|
+import argparse
|
4
|
5
|
import docker
|
5
|
6
|
import etcd
|
|
7
|
+import sys
|
6
|
8
|
|
7
|
9
|
|
8
|
10
|
def etcd_put(client, prefix, obj):
|
|
@@ -26,9 +28,16 @@ def get_ports(container):
|
26
|
28
|
return ports
|
27
|
29
|
|
28
|
30
|
|
|
31
|
+parser = argparse.ArgumentParser()
|
|
32
|
+parser.add_argument('--name', help='Name of this docker host', default='unknown')
|
|
33
|
+parser.add_argument('--etcd-port', type=int, help='Port to connect to etcd on', default=2379)
|
|
34
|
+parser.add_argument('--etcd-host', help='Host to connect to etcd on', default='etcd')
|
|
35
|
+parser.add_argument('--etcd-prefix', help='Prefix to use when adding keys to etcd', default='/docker')
|
|
36
|
+args = parser.parse_args()
|
|
37
|
+
|
29
|
38
|
docker_client = docker.Client(base_url='unix://var/run/docker.sock')
|
30
|
|
-etcd_client = etcd.Client(host='etcd', port=4001)
|
31
|
|
-prefix = '/docker'
|
|
39
|
+etcd_client = etcd.Client(host=args.etcd_host, port=args.etcd_port)
|
|
40
|
+prefix = args.etcd_prefix
|
32
|
41
|
|
33
|
42
|
containers = {}
|
34
|
43
|
label_index = defaultdict(dict)
|