Commit Diff


commit - 52f6ed4d768614b02d5c132c661adf408c239d7e
commit + 1e242024ee7a547943355b11398c686c52cf4c98
blob - 0ea146c554f9d2f6ae0d618f5de6c2dd26d7997c
blob + 4388b6ae42ba7e473c11071e9135138504a4b262
--- .gitmodules
+++ .gitmodules
@@ -69,3 +69,6 @@
 [submodule "third_party/metrics"]
 	path = third_party/metrics
 	url = https://github.com/tarantool/metrics.git
+[submodule "conf"]
+	path = src/lua/conf
+	url = https://github.com/tarantool/conf
blob - 93892bae56794721d05f5d900b219fc0c5e64a7a
blob + 161ad18e267c59b919068416347beba7ddd4cb71
--- debian/copyright
+++ debian/copyright
@@ -392,6 +392,10 @@ License: MIT
 Files: third_party/metrics/*
 Copyright: 2018-2023 Tarantool
 License: MIT
+
+Files: src/lua/conf/*
+Copyright: 2023 Tarantool
+License: BSD-2-Clause
 
 License: BSD-2-Clause
  Redistribution and use in source and binary forms, with or without
blob - bfa2ba999c9bbcb8afdfb113fef6266e1d11e17d
blob + 0c63213f74bc0fe50c3b1b81ce4630a577537f8c
--- src/CMakeLists.txt
+++ src/CMakeLists.txt
@@ -90,7 +90,19 @@ if (ENABLE_ETCD_CLIENT)
     lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/utils.lua etcd_client_utils_lua)
     lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/version.lua etcd_client_version_lua)
 endif()
-
+lua_source(lua_sources lua/conf/conf/cluster_config.lua cluster_config_lua)
+lua_source(lua_sources lua/conf/conf/conf_section_config.lua conf_section_config_lua)
+lua_source(lua_sources lua/conf/conf/conf_section_credentials.lua conf_section_credentials_lua)
+lua_source(lua_sources lua/conf/conf/conf_template.lua conf_template_lua)
+lua_source(lua_sources lua/conf/conf/helpers.lua conf_helpers_lua)
+lua_source(lua_sources lua/conf/conf/init.lua conf_init_lua)
+lua_source(lua_sources lua/conf/conf/instance_config.lua conf_instance_config_lua)
+lua_source(lua_sources lua/conf/conf/instance.lua conf_instance_lua)
+lua_source(lua_sources lua/conf/conf/instance_state.lua conf_instance_state_lua)
+lua_source(lua_sources lua/conf/conf/mainloop.lua conf_mainloop_lua)
+lua_source(lua_sources lua/conf/conf/utils/schema.lua conf_utils_schema_lua)
+lua_source(lua_sources lua/conf/conf/source/env.lua conf_source_env_lua)
+lua_source(lua_sources lua/conf/conf/source/yaml_file.lua conf_source_yaml_file_lua)
 # 3rd party lua sources
 lua_source(lua_sources ../third_party/luafun/fun.lua fun_lua)
 lua_source(lua_sources ../third_party/lua/luadebug.lua luadebug_lua)
blob - df19ecdf69bd8f2e2c08a1fc39c526542a721568
blob + 5148475d6d7ab1a8d3b717c9bb47618e4c40bdaa
--- src/box/lua/init.c
+++ src/box/lua/init.c
@@ -172,7 +172,20 @@ extern char session_lua[],
 	metrics_tarantool_vinyl_lua[],
 	metrics_tarantool_lua[],
 	metrics_utils_lua[],
-	metrics_version_lua[];
+	metrics_version_lua[],
+	conf_source_yaml_file_lua[],
+	conf_source_env_lua[],
+	conf_section_config_lua[],
+	conf_section_credentials_lua[],
+	cluster_config_lua[],
+	conf_template_lua[],
+	conf_utils_schema_lua[],
+	conf_helpers_lua[],
+	conf_instance_lua[],
+	conf_instance_state_lua[],
+	conf_instance_config_lua[],
+	conf_mainloop_lua[],
+	conf_init_lua[];
 
 /**
  * List of box's built-in modules written using Lua.
@@ -321,6 +334,33 @@ static const char *lua_sources[] = {
 	"metrics.plugins.prometheus", metrics_plugins_prometheus_lua,
 	"third_party/metrics/metrics/plugins/json",
 	"metrics.plugins.json", metrics_plugins_json_lua,
+	"lua/conf/conf/helpers",
+	"conf.helpers", conf_helpers_lua,
+	"lua/conf/conf/utils/schema",
+	"conf.utils.schema", conf_utils_schema_lua,
+	"lua/conf/conf/conf_section_config",
+	"conf.conf_section_config", conf_section_config_lua,
+	"lua/conf/conf/conf_section_credentials",
+	"conf.conf_section_credentials", conf_section_credentials_lua,
+	"lua/conf/conf/cluster_config",
+	"conf.cluster_config", cluster_config_lua,
+	"lua/conf/conf/conf_template",
+	"conf.conf_template", conf_template_lua,
+	"lua/conf/conf/instance_config", "conf.instance_config",
+	conf_instance_config_lua,
+	"lua/conf/conf/instance", "conf.instance",
+	conf_instance_lua,
+	"lua/conf/conf/instance_state", "conf.instance_state",
+	conf_instance_state_lua,
+	"lua/conf/conf/source/env",
+	"conf.source.env", conf_source_env_lua,
+	"lua/conf/conf/source/yaml_file",
+	"conf.source.yaml_file", conf_source_yaml_file_lua,
+	"lua/conf/conf/mainloop",
+	"conf.mainloop", conf_mainloop_lua,
+	"lua/conf/init",
+	"conf", conf_init_lua,
+
 	NULL
 };
 
blob - 73c8a3d518aaa123cf75d98adaab9b608e0ccb30
blob + bd2fb1adfc55be536947ce53d79f3b15f2b80304
--- test/app-luatest/tnt_debug_getsources_test.lua
+++ test/app-luatest/tnt_debug_getsources_test.lua
@@ -64,6 +64,19 @@ local files = {
     'third_party/metrics/metrics/tarantool',
     'third_party/metrics/metrics/utils',
     'third_party/metrics/metrics/version',
+    'conf/conf/cluster_config',
+    'conf/conf/conf_section_config',
+    'conf/conf/conf_section_credentials',
+    'conf/conf/conf_template',
+    'conf/conf/helpers',
+    'conf/conf/init',
+    'conf/conf/instance',
+    'conf/conf/instance_config',
+    'conf/conf/instance_state',
+    'conf/conf/mainloop',
+    'conf/conf/source/env',
+    'conf/conf/source/yaml_file',
+    'conf/conf/utils/schema',
 }
 
 -- calculate reporsitory root using directory of a current
blob - /dev/null
blob + 1f5f22ae37178df4c71945d5b84ddb745cc0981f (mode 644)
--- /dev/null
+++ test/conf-luatest/cluster_config_unit_test.lua
@@ -0,0 +1,3 @@
+require('src.lua.conf.test.utils')
+
+require('src.lua.conf.test.cluster_config_unit_test')
blob - /dev/null
blob + c1af6ec39fd3c24dacdbf9410d0525e62a84189d (mode 644)
--- /dev/null
+++ test/conf-luatest/conf_section_config_unit_test.lua
@@ -0,0 +1,3 @@
+require('src.lua.conf.test.utils')
+
+require('src.lua.conf.test.conf_section_config_unit_test')
blob - /dev/null
blob + 4cd080a6df83a46dcb81ad1592d2b1d92af7feda (mode 644)
--- /dev/null
+++ test/conf-luatest/helpers_unit_test.lua
@@ -0,0 +1,3 @@
+require('src.lua.conf.test.utils')
+
+require('src.lua.conf.test.helpers_unit_test')
blob - /dev/null
blob + 5d81e63df7eb3abcd063046b176fd99a402ceecb (mode 644)
--- /dev/null
+++ test/conf-luatest/instance_state_unit_test.lua
@@ -0,0 +1,3 @@
+require('src.lua.conf.test.utils')
+
+require('src.lua.conf.test.instance_state_unit_test')
blob - /dev/null
blob + 00dfe72684382791b88387212ac14c419bad852e (mode 644)
--- /dev/null
+++ test/conf-luatest/source_env_unit_test.lua
@@ -0,0 +1,3 @@
+require('src.lua.conf.test.utils')
+
+require('src.lua.conf.test.source_env_unit_test')
blob - /dev/null
blob + 4edd77eb97651f372678da1dd6df98fb2c1fcc26 (mode 644)
--- /dev/null
+++ test/conf-luatest/suite.ini
@@ -0,0 +1,4 @@
+[default]
+core = luatest
+description = conf module tests on luatest
+is_parallel = True