18 lines
518 B
Lua
18 lines
518 B
Lua
local function check_peer(k)
|
|
need_alphanumeric_key(k)
|
|
|
|
need_string_match(in_domain(extend(k, {'key'})), '[%w]+=*')
|
|
need_string_match(in_domain(extend(k, {'remote'})), '[%w_-.]')
|
|
need_number(in_domain(extend(k, {'broker_port'})), false)
|
|
end
|
|
|
|
local function check_group(k)
|
|
need_alphanumeric_key(k)
|
|
|
|
need_number(extend(k, {'limit'}), false)
|
|
need_table(extend(k, {'peers'}), check_peer, false)
|
|
need_table(extend(k, {'groups'}), check_group, false)
|
|
end
|
|
|
|
need_table({'mesh_vpn', 'wireguard', 'groups'}, check_group)
|