def prepare_db(config_dict): prepare_db_config_dir() render_jinja( db_env_template_path, db_conf_env, db_password=config_dict['db_password'])
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))
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'])
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'])
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)
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)
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)
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)
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)
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 )
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)
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)
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)
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)
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)
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)
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)
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'])
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)
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)
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)
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)
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'])
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'])
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)