v1.2.1/#22: LMCP_HOST + LMCP_CONF env support
Adds two env vars to the packaged server.lua so hosts can switch
fully to the packaged entrypoint (combined with v1.2.0's tools.d/
plugin scan):
LMCP_HOST — interface to bind on (default 0.0.0.0). Hosts that
need .18-only binding (hertz) or similar single-NIC
constraints set this. Threaded into lmcp.new opts.host.
LMCP_CONF — path to a conf file with bearer-token entries (e.g.
/opt/herding/etc/hertz-tools.conf). Read by lmcp.lua's
read_conf; the `.godparticle` entry becomes the bearer
token. Threaded into lmcp.new opts.conf.
Both unset → unchanged behavior (binds 0.0.0.0, no conf file).
Together with v1.2.0's tools.d/ scan, this lets a host like hertz
ship NO override server.lua — just an /opt/lmcp/tools.d/hertz.lua
plugin file and a systemd unit that points at the packaged
server.lua with LMCP_HOST=192.168.88.18 + LMCP_CONF=/opt/herding/
etc/hertz-tools.conf. apt upgrade then delivers all packaged
improvements automatically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -200,6 +200,13 @@ end
|
||||
local server_name = os.getenv("LMCP_NAME") or (WINDOWS and "windows-tools" or "linux-tools")
|
||||
local server = lmcp.new(server_name, {
|
||||
port = tonumber(os.getenv("LMCP_PORT") or arg[1]) or 8080,
|
||||
-- LMCP_HOST: bind interface (default 0.0.0.0). Hosts that need
|
||||
-- single-interface binding (hertz: 192.168.88.18 only) set this.
|
||||
host = os.getenv("LMCP_HOST"),
|
||||
-- LMCP_CONF: path to a conf file with bearer-token entries
|
||||
-- (e.g. /opt/herding/etc/hertz-tools.conf). Read by lmcp.lua's
|
||||
-- read_conf; the `.godparticle` entry becomes the bearer token.
|
||||
conf = os.getenv("LMCP_CONF"),
|
||||
})
|
||||
|
||||
-- ---- Tools ----
|
||||
|
||||
Reference in New Issue
Block a user