Files
kong--kong/kong/tools/system.lua
T
2026-07-13 12:32:21 +08:00

63 lines
1.5 KiB
Lua

local pl_utils = require "pl.utils"
local pl_path = require "pl.path"
local _M = {}
do
local _system_infos
function _M.get_system_infos()
if _system_infos then
return _system_infos
end
_system_infos = {}
local ok, _, stdout = pl_utils.executeex("getconf _NPROCESSORS_ONLN")
if ok then
_system_infos.cores = tonumber(stdout:sub(1, -2))
end
ok, _, stdout = pl_utils.executeex("uname -ms")
if ok then
_system_infos.uname = stdout:gsub(";", ","):sub(1, -2)
end
return _system_infos
end
end
do
local trusted_certs_paths = {
"/etc/ssl/certs/ca-certificates.crt", -- Debian/Ubuntu/Gentoo
"/etc/pki/tls/certs/ca-bundle.crt", -- Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem", -- OpenSUSE
"/etc/pki/tls/cacert.pem", -- OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", -- CentOS/RHEL 7
"/etc/ssl/cert.pem", -- OpenBSD, Alpine
}
function _M.get_system_trusted_certs_filepath()
for _, path in ipairs(trusted_certs_paths) do
if pl_path.exists(path) then
return path
end
end
return nil,
"Could not find trusted certs file in " ..
"any of the `system`-predefined locations. " ..
"Please install a certs file there or set " ..
"`lua_ssl_trusted_certificate` to a " ..
"specific file path instead of `system`"
end
end
return _M