Automatically requests Let's Encrypt certificates for containers with a vhost label
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

fetcher.py 504B

1234567891011121314151617181920212223
  1. #!/usr/bin/env python3
  2. import etcd
  3. class Fetcher:
  4. def __init__(self, host, port, prefix):
  5. self._client = etcd.Client(host=host, port=port)
  6. self._prefix = prefix
  7. def _read_recursive(self, key):
  8. try:
  9. return self._client.read(self._prefix + key, recursive=True)
  10. except etcd.EtcdKeyNotFound:
  11. return None
  12. def get_label(self, label):
  13. node = self._read_recursive('/labels/%s' % label)
  14. return {child.key.split('/')[-1]: child.value for child in node.children}