From 095654451bc9b45f5e9a812f5a4a3dd7aa28310d Mon Sep 17 00:00:00 2001 From: Vladimir Davydov <vdavydov@tarantool.org> Date: Thu, 5 Oct 2023 11:05:38 +0300 Subject: [PATCH] config: add audit_spaces and audit_extract_key parameters The new parameters will be implemented in Tarantool Enterprise Edition. This commit just adds configuration stubs. Needed for tarantool/tarantool-ee#502 Needed for tarantool/tarantool-ee#503 NO_DOC=stubs for enterprise edition NO_CHANGELOG=stubs for enterprise edition --- src/box/lua/config/instance_config.lua | 14 ++++++++++++++ src/box/lua/load_cfg.lua | 4 ++++ test/box/box.lua | 2 ++ test/config-luatest/cluster_config_schema_test.lua | 1 + test/config-luatest/config_test.lua | 4 ++++ .../config-luatest/instance_config_schema_test.lua | 5 ++++- 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/box/lua/config/instance_config.lua b/src/box/lua/config/instance_config.lua index d27ab5e8e0..2820c1b03b 100644 --- a/src/box/lua/config/instance_config.lua +++ b/src/box/lua/config/instance_config.lua @@ -1834,6 +1834,20 @@ return schema.new('instance_config', schema.record({ "data_operations", "compatibility", }), + spaces = enterprise_edition(schema.array({ + items = schema.scalar({ + type = 'string', + }), + box_cfg = 'audit_spaces', + box_cfg_nondynamic = true, + default = box.NULL, + })), + extract_key = enterprise_edition(schema.scalar({ + type = 'boolean', + box_cfg = 'audit_extract_key', + box_cfg_nondynamic = true, + default = false, + })), })), roles_cfg = schema.map({ key = schema.scalar({type = 'string'}), diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua index d9d7bb5d45..801d3e1bda 100644 --- a/src/box/lua/load_cfg.lua +++ b/src/box/lua/load_cfg.lua @@ -116,6 +116,8 @@ local default_cfg = { audit_nonblock = ifdef_audit(true), audit_format = ifdef_audit('json'), audit_filter = ifdef_audit('compatibility'), + audit_spaces = ifdef_audit(nil), + audit_extract_key = ifdef_audit(false), auth_type = 'chap-sha1', auth_delay = ifdef_security(0), @@ -313,6 +315,8 @@ local template_cfg = { audit_nonblock = ifdef_audit('boolean'), audit_format = ifdef_audit('string'), audit_filter = ifdef_audit('string'), + audit_spaces = ifdef_audit('table'), + audit_extract_key = ifdef_audit('boolean'), auth_type = 'string', auth_delay = ifdef_security('number'), diff --git a/test/box/box.lua b/test/box/box.lua index 272db0332a..25bf02d9b6 100644 --- a/test/box/box.lua +++ b/test/box/box.lua @@ -25,6 +25,8 @@ local _enterprise_keys = { audit_nonblock = true, audit_format = true, audit_filter = true, + audit_spaces = true, + audit_extract_key = true, flightrec_enabled = true, flightrec_logs_size = true, flightrec_logs_max_msg_size = true, diff --git a/test/config-luatest/cluster_config_schema_test.lua b/test/config-luatest/cluster_config_schema_test.lua index 391bbd1cca..a04ae14342 100644 --- a/test/config-luatest/cluster_config_schema_test.lua +++ b/test/config-luatest/cluster_config_schema_test.lua @@ -284,6 +284,7 @@ g.test_defaults = function() server = box.NULL }, to = "devnull", + extract_key = false, } or nil, failover = { probe_interval = 10, diff --git a/test/config-luatest/config_test.lua b/test/config-luatest/config_test.lua index 22312ca25d..edf60439bc 100644 --- a/test/config-luatest/config_test.lua +++ b/test/config-luatest/config_test.lua @@ -805,6 +805,8 @@ g.test_audit_options = function() t.assert_equals(box.cfg.audit_nonblock, true) t.assert_equals(box.cfg.audit_format, 'csv') t.assert_equals(box.cfg.audit_filter, table.concat(events, ",")) + t.assert_equals(box.cfg.audit_spaces, {'space1', 'space2', 'space3'}) + t.assert_equals(box.cfg.audit_extract_key, true) end helpers.success_case(g, { @@ -814,6 +816,8 @@ g.test_audit_options = function() ['audit_log.nonblock'] = true, ['audit_log.format'] = 'csv', ['audit_log.filter'] = events, + ['audit_log.spaces'] = {'space1', 'space2', 'space3'}, + ['audit_log.extract_key'] = true, }, verify = verify, verify_args = {events} diff --git a/test/config-luatest/instance_config_schema_test.lua b/test/config-luatest/instance_config_schema_test.lua index e25da955db..eb54f42627 100644 --- a/test/config-luatest/instance_config_schema_test.lua +++ b/test/config-luatest/instance_config_schema_test.lua @@ -1345,7 +1345,9 @@ g.test_audit_available = function() }, nonblock = true, format = 'plain', - filter = {'all', 'none'} + filter = {'all', 'none'}, + spaces = {'space1', 'space2', 'space3'}, + extract_key = true, }, } instance_config:validate(iconfig) @@ -1362,6 +1364,7 @@ g.test_audit_available = function() server = box.NULL }, to = "devnull", + extract_key = false, } local res = instance_config:apply_default({}).audit_log t.assert_equals(res, exp) -- GitLab