Private docker registry enhancements. (#142)

Got private docker registry working without secure mode. Feature disabled by default.
This commit is contained in:
Ravin Perera
2022-05-20 17:04:20 +05:30
committed by GitHub
parent 0f9eae8c8c
commit 8e0d18bad3
12 changed files with 91 additions and 74 deletions

View File

@@ -33,7 +33,7 @@ namespace conf
* Create config here.
* @return 0 for success. -1 for failure.
*/
int create(std::string_view host_addr, std::string_view registry_addr, const size_t inst_count,
int create(std::string_view host_addr, const uint16_t docker_registry_port, const size_t inst_count,
const size_t cpu_us, const size_t ram_kbytes, const size_t swap_kbytes, const size_t disk_kbytes)
{
if (util::is_file_exists(ctx.config_file))
@@ -69,9 +69,10 @@ namespace conf
cfg.system.max_cpu_us = !cpu_us ? 900000 : cpu_us; // Total CPU allocation out of 1000000 microsec (1 sec).
cfg.system.max_storage_kbytes = !disk_kbytes ? 5242880 : disk_kbytes;
const std::string img_prefix = registry_addr.empty() ? "evernodedev" : std::string(registry_addr);
const std::string img_prefix = "evernodedev";
cfg.docker.images["hp.latest-ubt.20.04"] = img_prefix + "/sashimono:hp.latest-ubt.20.04";
cfg.docker.images["hp.latest-ubt.20.04-njs.16"] = img_prefix + "/sashimono:hp.latest-ubt.20.04-njs.16";
cfg.docker.registry_port = docker_registry_port;
cfg.log.max_file_count = 50;
cfg.log.max_mbytes_per_file = 10;
@@ -269,6 +270,9 @@ namespace conf
for (const auto &elem : docker["images"].object_range())
cfg.docker.images[elem.key()] = elem.value().as<std::string>();
if (docker.contains("registry_port"))
cfg.docker.registry_port = docker["registry_port"].as<uint16_t>();
}
catch (const std::exception &e)
{
@@ -300,6 +304,10 @@ namespace conf
}
}
// If docker registry port is 0, we assume there's no private docker registry.
if (cfg.docker.registry_port > 0)
cfg.docker.registry_address = cfg.hp.host_address + ":" + std::to_string(cfg.docker.registry_port);
return 0;
}
@@ -346,6 +354,7 @@ namespace conf
for (const auto &[key, name] : cfg.docker.images)
images.insert_or_assign(key, name);
docker_config.insert_or_assign("images", images);
docker_config.insert_or_assign("registry_port", cfg.docker.registry_port);
d.insert_or_assign("docker", docker_config);
}
@@ -412,7 +421,7 @@ namespace conf
* Convert string to Log Severity enum type.
* @param severity log severity code.
* @return log severity type.
*/
*/
LOG_SEVERITY get_loglevel_type(std::string_view severity)
{
if (severity == "dbg")