Замена GitLab

fetch(configs_dir)

Функция, в которой осуществляется вся предварительная выгрузка конфигурационных файлов для анализа.

В секции GitLab вызывается функция fetch_git(), которая отвечает за выгрузку из Git. Можно исправить ее, или добавить свою секцию в конфигурационный файл и дописать еще одну функцию.

Например, для прямого получения по ssh можно использовать что-то вроде:

def fetch_ssh(self):
    from subprocess import call, check_output

    # Imported in __init__.py
    # from os.path import join as pjoin

    for server in servers:
        call([
            "scp",
            "%s.example.com:/etc/nginx/nginx.conf" % server,
            pjoin(self.configs, "nginx.%s.all" % server)
        ])
        config = open(pjoin(self.configs, "nginx.%s.all" % server), "r").read()

        with open(pjoin(self.configs, "nginx.%s.all" % server), "a") as main:
            for incl in re.findall(r"(?:^i|^ +i)nclude (.+);$", config, re.M):
                inc_conf = check_output([
                    "ssh", "%s.example.com" % server,
                    "cat", "/etc/nginx/%s" % incl
                ])
                config = config.replace("include " + incl + ";", inc_conf)
            main.write(conf)

        call(["scp",
              "%s.example.com:/etc/haproxy/haproxy.cfg" % server,
              pjoin(self.configs, "haproxy.%s.all" % server)])