Browse Source

Use base library

master
Chris Smith 8 years ago
parent
commit
0ea5f0b8cd
3 changed files with 3 additions and 54 deletions
  1. 1
    5
      Dockerfile
  2. 0
    47
      fetcher.py
  3. 2
    2
      generate.py

+ 1
- 5
Dockerfile View File

@@ -1,10 +1,6 @@
1
-FROM python:3.5.1-alpine 
1
+FROM csmith/service-reporter-lib:latest 
2 2
 MAINTAINER Chris Smith <chris87@gmail.com> 
3 3
 
4
-RUN \
5
-  pip install \
6
-    python-etcd
7
-
8 4
 COPY *.py /
9 5
 
10 6
 VOLUME ["/letsencrypt"]

+ 0
- 47
fetcher.py View File

@@ -1,47 +0,0 @@
1
-#!/usr/bin/env python3
2
-
3
-import etcd
4
-import time
5
-
6
-
7
-class Fetcher:
8
-
9
-  def __init__(self, host, port, prefix):
10
-    self._client = etcd.Client(host=host, port=port)
11
-    self._prefix = prefix
12
-
13
-
14
-  def _read(self, key, **kwargs):
15
-    try:
16
-      node = self._client.read(self._prefix + key, **kwargs)
17
-      return node.value if node else None
18
-    except etcd.EtcdKeyNotFound:
19
-      return None
20
-
21
-
22
-  def _read_recursive(self, key):
23
-    try:
24
-      return self._client.read(self._prefix + key, recursive=True)
25
-    except etcd.EtcdKeyNotFound:
26
-      return None 
27
-
28
-
29
-  def get_label(self, label):
30
-    node = self._read_recursive('/labels/%s' % label)
31
-    if node:
32
-      return {child.key.split('/')[-1]: child.value for child in node.children}
33
-    else:
34
-      return {}
35
-
36
-
37
-  def wait_for_update(self):
38
-    original_time = self._read('/_updated')
39
-    new_time = original_time
40
-
41
-    while new_time == original_time:
42
-      try:
43
-        new_time = self._read('/_updated', wait=True)
44
-      except etcd.EtcdWatchTimedOut:
45
-        new_time = self._read('/_updated')
46
-      time.sleep(10)
47
-

+ 2
- 2
generate.py View File

@@ -1,8 +1,8 @@
1 1
 #!/usr/bin/env python3
2 2
 
3 3
 from collections import defaultdict
4
-from fetcher import Fetcher
5 4
 import argparse
5
+import etcdlib
6 6
 import os
7 7
 
8 8
 parser = argparse.ArgumentParser()
@@ -12,7 +12,7 @@ parser.add_argument('--etcd-host', help='Host to connect to etcd on', default='e
12 12
 parser.add_argument('--etcd-prefix', help='Prefix to use when retrieving keys from etcd', default='/docker')
13 13
 args = parser.parse_args()
14 14
 
15
-fetcher = Fetcher(args.etcd_host, args.etcd_port, args.etcd_prefix)
15
+fetcher = etcdlib.Connection(args.etcd_host, args.etcd_port, args.etcd_prefix)
16 16
 
17 17
 while True:
18 18
   domains = defaultdict(set)

Loading…
Cancel
Save