Пример #1
0
def prepare_db(config_dict):
    prepare_db_config_dir()

    render_jinja(
        db_env_template_path,
        db_conf_env,
        db_password=config_dict['db_password'])
Пример #2
0
def prepare_core(config_dict, with_notary, with_clair, with_chartmuseum):
    prepare_dir(psc_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)
    prepare_dir(ca_download_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)
    prepare_dir(core_config_dir)
    # Render Core
    # set cache for chart repo server
    # default set 'memory' mode, if redis is configured then set to 'redis'
    if len(config_dict['redis_host']) > 0:
        chart_cache_driver = "redis"
    else:
        chart_cache_driver = "memory"

    render_jinja(
        core_env_template_path,
        core_conf_env,
        chart_cache_driver=chart_cache_driver,
        with_notary=with_notary,
        with_clair=with_clair,
        with_chartmuseum=with_chartmuseum,
        **config_dict)

    render_jinja(
        core_conf_template_path,
        core_conf,
        uid=DEFAULT_UID,
        gid=DEFAULT_GID,
        xsrf_key=generate_random_string(40))
Пример #3
0
def prepare_db(config_dict):
    prepare_db_config_dir()

    render_jinja(
        db_env_template_path,
        db_conf_env,
        harbor_db_password=config_dict['harbor_db_password'])
Пример #4
0
def prepare_db(config_dict):
    prepare_dir(database_data_path, uid=PG_UID, gid=PG_GID)
    prepare_dir(db_config_dir)
    render_jinja(
        db_env_template_path,
        db_conf_env,
        harbor_db_password=config_dict['harbor_db_password'])
Пример #5
0
def render_nginx_template(config_dict):
    """
    1. render nginx config file through protocol
    2. copy additional configs to cert.d dir
    """
    if config_dict['protocol'] == 'https':
        prepare_nginx_certs(config_dict['cert_key_path'],
                            config_dict['cert_path'])
        render_jinja(nginx_https_conf_template,
                     nginx_conf,
                     uid=DEFAULT_UID,
                     gid=DEFAULT_GID,
                     https_redirect='$host' +
                     ('https_port' in config_dict and
                      (":" + str(config_dict['https_port'])) or ""),
                     ssl_cert=SSL_CERT_PATH,
                     ssl_cert_key=SSL_CERT_KEY_PATH)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTPS

    else:
        render_jinja(nginx_http_conf_template,
                     nginx_conf,
                     uid=DEFAULT_UID,
                     gid=DEFAULT_GID)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTP
    copy_nginx_location_configs_if_exist(nginx_template_ext_dir,
                                         nginx_confd_dir,
                                         location_file_pattern)
Пример #6
0
def prepare_log_configs(config_dict):
    prepare_config_dir(log_config_dir)

    # Render Log config
    render_jinja(logrotate_template_path,
                 log_rotate_config,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 **config_dict)
Пример #7
0
def prepare_registry_ctl(config_dict):
    # prepare dir
    prepare_registry_ctl_config_dir()

    # Render Registryctl
    render_jinja(registryctl_env_template_path, registryctl_conf_env,
                 **config_dict)

    # Copy Registryctl config
    copy_registry_ctl_conf(registryctl_config_template_path, registryctl_conf)
Пример #8
0
def render_nginx_template(config_dict):
    if config_dict['protocol'] == "https":
        render_jinja(nginx_https_conf_template, nginx_conf,
            ssl_cert = SSL_CERT_PATH,
            ssl_cert_key = SSL_CERT_KEY_PATH)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTPS
    else:
        render_jinja(nginx_http_conf_template, nginx_conf)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTP
    copy_nginx_location_configs_if_exist(nginx_template_ext_dir, nginx_confd_dir, location_file_pattern)
Пример #9
0
def prepare_log_configs(config_dict):
    prepare_config_dir(log_config_dir)

    # Render Log config
    render_jinja(
        logrotate_template_path,
        log_rotate_config,
        uid=DEFAULT_UID,
        gid=DEFAULT_GID,
        **config_dict)
Пример #10
0
def render_config_env(config_dict, with_notary, with_clair, with_chartmuseum):
    # Use reload_key to avoid reload config after restart harbor

    render_jinja(
        core_config_env_template,
        core_config_env,
        with_notary=with_notary,
        with_clair=with_clair,
        with_chartmuseum=with_chartmuseum,
        **config_dict
        )
Пример #11
0
def render_nginx_template(config_dict):
    if config_dict['protocol'] == "https":
        render_jinja(nginx_https_conf_template, nginx_conf,
            ssl_cert=SSL_CERT_PATH,
            ssl_cert_key=SSL_CERT_KEY_PATH)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTPS
    else:
        render_jinja(
            nginx_http_conf_template,
            nginx_conf)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTP
    copy_nginx_location_configs_if_exist(nginx_template_ext_dir, nginx_confd_dir, location_file_pattern)
Пример #12
0
def render_config_env(config_dict, with_notary, with_clair, with_chartmuseum):
    # Use reload_key to avoid reload config after restart harbor
    reload_key = generate_random_string(
        6) if config_dict['reload_config'] == "true" else ""

    render_jinja(core_config_env_template,
                 core_config_env,
                 with_notary=with_notary,
                 with_clair=with_clair,
                 with_chartmuseum=with_chartmuseum,
                 reload_key=reload_key,
                 **config_dict)
Пример #13
0
def prepare_registry_ctl(config_dict):
    # prepare dir
    prepare_registry_ctl_config_dir()

    # Render Registryctl
    render_jinja(
        registryctl_env_template_path,
        registryctl_conf_env,
        **config_dict)

    # Copy Registryctl config
    copy_registry_ctl_conf(registryctl_config_template_path, registryctl_conf)
Пример #14
0
def prepare_registry(config_dict):
    prepare_registry_config_dir()

    storage_provider_info = get_storage_provider_info(
        config_dict['storage_provider_name'],
        config_dict['storage_provider_config'], registry_config_dir)

    render_jinja(registry_config_template_path,
                 registry_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 storage_provider_info=storage_provider_info,
                 **config_dict)
Пример #15
0
def prepare_registry(config_dict):
    prepare_dir(registry_config_dir)

    storage_provider_info = get_storage_provider_info(
        config_dict['storage_provider_name'],
        config_dict['storage_provider_config'])

    render_jinja(registry_config_template_path,
                 registry_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 level=levels_map[config_dict['log_level']],
                 storage_provider_info=storage_provider_info,
                 **config_dict)
Пример #16
0
def prepare_registry_ctl(config_dict):
    # prepare dir
    prepare_dir(registryctl_config_dir)

    # Render Registryctl env
    render_jinja(registryctl_env_template_path, registryctl_conf_env,
                 **config_dict)

    # Render Registryctl config
    render_jinja(registryctl_config_template_path,
                 registryctl_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 **config_dict)
Пример #17
0
def prepare_registry(config_dict):
    prepare_dir(registry_data_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)
    prepare_dir(registry_config_dir)

    if config_dict['registry_use_basic_auth']:
        gen_passwd_file(config_dict)
    storage_provider_info = get_storage_provider_info(
        config_dict['storage_provider_name'],
        config_dict['storage_provider_config'])

    render_jinja(registry_config_template_path,
                 registry_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 level=levels_map[config_dict['log_level']],
                 storage_provider_info=storage_provider_info,
                 **config_dict)
Пример #18
0
def prepare_job_service(config_dict):
    prepare_config_dir(job_config_dir)

    # Job log is stored in data dir
    job_log_dir = os.path.join('/data', "job_logs")
    prepare_config_dir(job_log_dir)

    # Render Jobservice env
    render_jinja(job_service_env_template_path, job_service_conf_env,
                 **config_dict)

    # Render Jobservice config
    render_jinja(job_service_conf_template_path,
                 jobservice_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 max_job_workers=config_dict['max_job_workers'],
                 redis_url=config_dict['redis_url_js'])
Пример #19
0
def render_nginx_template(config_dict):
    if config_dict['protocol'] == "https":
        render_jinja(nginx_https_conf_template,
                     nginx_conf,
                     ssl_cert=SSL_CERT_PATH,
                     ssl_cert_key=SSL_CERT_KEY_PATH)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTPS
        cert_dir = Path(os.path.join(config_dir, 'cert'))
        ssl_key_path = Path(os.path.join(cert_dir, 'server.key'))
        ssl_crt_path = Path(os.path.join(cert_dir, 'server.crt'))
        cert_dir.mkdir(parents=True, exist_ok=True)
        ssl_key_path.touch()
        ssl_crt_path.touch()
    else:
        render_jinja(nginx_http_conf_template, nginx_conf)
        location_file_pattern = CUSTOM_NGINX_LOCATION_FILE_PATTERN_HTTP
    copy_nginx_location_configs_if_exist(nginx_template_ext_dir,
                                         nginx_confd_dir,
                                         location_file_pattern)
Пример #20
0
def prepare_core(config_dict, with_notary, with_clair, with_chartmuseum):
    prepare_core_config_dir()
    # Render Core
    # set cache for chart repo server
    # default set 'memory' mode, if redis is configured then set to 'redis'
    if len(config_dict['redis_host']) > 0:
        chart_cache_driver = "redis"
    else:
        chart_cache_driver = "memory"

    render_config_env(config_dict, with_notary, with_clair, with_chartmuseum)

    render_jinja(core_env_template_path,
                 core_conf_env,
                 chart_cache_driver=chart_cache_driver,
                 **config_dict)

    # Copy Core app.conf
    copy_core_config(core_conf_template_path, core_conf)
Пример #21
0
def prepare_registry(config_dict):
    prepare_dir(registry_data_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)
    prepare_dir(registry_config_dir)

    gen_passwd_file(config_dict)
    storage_provider_info = get_storage_provider_info(
        config_dict['storage_provider_name'],
        config_dict['storage_provider_config'])

    # process redis info
    redis_ops = parse_redis(config_dict['redis_url_reg'])

    render_jinja(registry_config_template_path,
                 registry_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 level=levels_map[config_dict['log_level']],
                 storage_provider_info=storage_provider_info,
                 **config_dict,
                 **redis_ops)
Пример #22
0
def prepare_core(config_dict, with_notary, with_clair, with_chartmuseum):
    prepare_core_config_dir()
    # Render Core
    # set cache for chart repo server
    # default set 'memory' mode, if redis is configured then set to 'redis'
    if len(config_dict['redis_host']) > 0:
        chart_cache_driver = "redis"
    else:
        chart_cache_driver = "memory"

    render_config_env(config_dict, with_notary, with_clair, with_chartmuseum)

    render_jinja(
        core_env_template_path,
        core_conf_env,
        chart_cache_driver=chart_cache_driver,
        **config_dict)

    # Copy Core app.conf
    copy_core_config(core_conf_template_path, core_conf)
Пример #23
0
def prepare_job_service(config_dict):
    prepare_config_dir(job_config_dir)

    # Job log is stored in data dir
    job_log_dir = os.path.join('/data', "job_logs")
    prepare_config_dir(job_log_dir)

    # Render Jobservice env
    render_jinja(
        job_service_env_template_path,
        job_service_conf_env,
        **config_dict)

    # Render Jobservice config
    render_jinja(
        job_service_conf_template_path,
        jobservice_conf,
        uid=DEFAULT_UID,
        gid=DEFAULT_GID,
        max_job_workers=config_dict['max_job_workers'],
        redis_url=config_dict['redis_url_js'])
Пример #24
0
def prepare_job_service(config_dict):
    prepare_dir(job_config_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)

    log_level = config_dict['log_level'].upper()

    # Job log is stored in data dir
    job_log_dir = os.path.join('/data', "job_logs")
    prepare_dir(job_log_dir, uid=DEFAULT_UID, gid=DEFAULT_GID)
    # Render Jobservice env
    render_jinja(job_service_env_template_path, job_service_conf_env,
                 **config_dict)

    # Render Jobservice config
    render_jinja(job_service_conf_template_path,
                 jobservice_conf,
                 uid=DEFAULT_UID,
                 gid=DEFAULT_GID,
                 internal_tls=config_dict['internal_tls'],
                 max_job_workers=config_dict['max_job_workers'],
                 redis_url=config_dict['redis_url_js'],
                 level=log_level,
                 metric=config_dict['metric'])
Пример #25
0
def prepare_exporter(config_dict):
    prepare_dir(EXPORTER_CONFIG_DIR, uid=DEFAULT_UID, gid=DEFAULT_GID)

    render_jinja(EXPORTER_ENV_TEMPLATE_PATH, EXPORTER_CONF_ENV, **config_dict)