Line data Source code
1 : #include "source/common/config/runtime_utility.h" 2 : 3 : #include "envoy/config/bootstrap/v3/bootstrap.pb.h" 4 : 5 : namespace Envoy { 6 : namespace Config { 7 : 8 : void translateRuntime(const envoy::config::bootstrap::v3::Runtime& runtime_config, 9 0 : envoy::config::bootstrap::v3::LayeredRuntime& layered_runtime_config) { 10 0 : { 11 0 : auto* layer = layered_runtime_config.add_layers(); 12 0 : layer->set_name("base"); 13 0 : layer->mutable_static_layer()->MergeFrom(runtime_config.base()); 14 0 : } 15 0 : if (!runtime_config.symlink_root().empty()) { 16 0 : { 17 0 : auto* layer = layered_runtime_config.add_layers(); 18 0 : layer->set_name("root"); 19 0 : layer->mutable_disk_layer()->set_symlink_root(runtime_config.symlink_root()); 20 0 : layer->mutable_disk_layer()->set_subdirectory(runtime_config.subdirectory()); 21 0 : } 22 0 : if (!runtime_config.override_subdirectory().empty()) { 23 0 : auto* layer = layered_runtime_config.add_layers(); 24 0 : layer->set_name("override"); 25 0 : layer->mutable_disk_layer()->set_symlink_root(runtime_config.symlink_root()); 26 0 : layer->mutable_disk_layer()->set_subdirectory(runtime_config.override_subdirectory()); 27 0 : layer->mutable_disk_layer()->set_append_service_cluster(true); 28 0 : } 29 0 : } 30 0 : { 31 0 : auto* layer = layered_runtime_config.add_layers(); 32 0 : layer->set_name("admin"); 33 0 : layer->mutable_admin_layer(); 34 0 : } 35 0 : } 36 : 37 : } // namespace Config 38 : } // namespace Envoy