Exemple #1
0
 def __init__(self):
     self.client = docker.from_env()
     self.label_names = read_configuration(
         'DOCKER_DISCOVERY_LABEL', '/var/secrets/discovery', 'discovery.domain.name'
     ).split(',')
     self.default_domain = read_configuration(
         'DEFAULT_DOMAIN', default_config_path, base_domain
     )
    def __init__(self):
        self.cloudflare = CloudFlare.CloudFlare(
            email=read_configuration('CLOUDFLARE_EMAIL',
                                     '/var/secrets/cloudflare'),
            token=read_configuration('CLOUDFLARE_TOKEN',
                                     '/var/secrets/cloudflare'))

        self._zones = dict()
        self._dns_records = dict()
    def __init__(self):
        super(SlackNotificationManager, self).__init__()

        token = read_configuration('SLACK_TOKEN', '/var/secrets/notifications')

        self.channel = read_configuration('SLACK_CHANNEL',
                                          '/var/secrets/notifications',
                                          'general')
        self.bot_name = read_configuration('SLACK_BOT_NAME',
                                           '/var/secrets/notifications',
                                           'domain-automation-bot')
        self.bot_icon = read_configuration('SLACK_BOT_ICON',
                                           '/var/secrets/notifications')

        self.client = SlackClient(token)
Exemple #4
0
    def __init__(self):
        super(DockerSignalNotification, self).__init__()

        self.client = docker.from_env()
        self.label_name = read_configuration('DOCKER_SIGNAL_LABEL',
                                             '/var/secrets/notifications',
                                             'domain.automation.signal')
 def __init__(self):
     self.timer = None
     self.job = None
     self.cancelled = False
     self.immediate_start = read_configuration(
         'IMMEDIATE_START', default_config_path,
         'no').lower() in ('yes', 'true', '1')
Exemple #6
0
    def __init__(self):
        super(CertbotCloudflareSSLManager, self).__init__()

        self.cf_email = read_configuration('CLOUDFLARE_EMAIL',
                                           '/var/secrets/cloudflare')
        self.cf_token = read_configuration('CLOUDFLARE_TOKEN',
                                           '/var/secrets/cloudflare')

        self.dns_propagation_seconds = read_configuration(
            'DNS_PROPAGATION_SECONDS', '/var/secrets/certbot', default='30')

        self.certbot_email = read_configuration('CERTBOT_EMAIL',
                                                '/var/secrets/certbot',
                                                default=self.cf_email)
        self.certbot_timeout = int(
            read_configuration('CERTBOT_TIMEOUT', '/var/secrets/certbot',
                               '120'))
        self.use_staging = read_configuration('CERTBOT_STAGING',
                                              '/var/secrets/certbot',
                                              default='no').lower() in ('yes',
                                                                        'true',
                                                                        '1')

        self.last_run = dict()
from config import read_configuration, default_config_path
from notifications import NotificationManager

scheduler_class = read_configuration('SCHEDULER_CLASS', default_config_path,
                                     'scheduler.oneshot.OneShotScheduler')
discovery_class = read_configuration('DISCOVERY_CLASS', default_config_path,
                                     'discovery.noop.NoopDiscovery')
dns_manager_class = read_configuration('DNS_MANAGER_CLASS',
                                       default_config_path,
                                       'dns_manager.noop.NoopDNSManager')
ssl_manager_class = read_configuration('SSL_MANAGER_CLASS',
                                       default_config_path,
                                       'ssl_manager.noop.NoopSSLManager')
notification_manager_class = read_configuration(
    'NOTIFICATION_MANAGER_CLASS', default_config_path,
    'notifications.noop.NoopNotificationManager')


def _instantiate(class_name):
    module_name, name = class_name.rsplit('.', 1)
    module = __import__(module_name)

    _, name = class_name.split('.', 1)

    parent = module
    while '.' in name:
        part, name = name.split('.', 1)
        parent = getattr(parent, part)

    clazz = getattr(parent, name)
    return clazz()