Skip to main content

Kemp Loadmaster

@hmcrum/kemp-loadmasterv2026.09.17.1· 19d agoMODELS
01README

Operational control of a Kemp LoadMaster appliance over its /access management API: discover every Virtual Service and its Real Servers, add or remove a Virtual Service, and add/remove/enable/disable a Real Server — the standard maintenance action for draining traffic before patching a backend. sync fans out — one API call lists every Virtual Service and writes one virtualService resource per VS. Every mutating method re-reads the affected VS after its write, so stored state never drifts from the appliance. Real Server operations are idempotent — adding a member that's already there, or removing one already gone, is a no-op rather than an error. Auth is HTTP Basic against the LoadMaster's API user; supply the password via a vault reference. Response field names are read defensively (a short alias list per field) since exact tag names have drifted across firmware releases — a genuinely unexpected shape throws a specific, actionable error instead of silently mis-parsing.

Quick Start

  --global-arg host=lm.example.com \
  --global-arg apiUser=bal \
  --global-arg 'apiPassword=${{ vault.get("briefing", "LOADMASTER_PASSWORD") }}'
swamp model method run lb-1 sync swamp model method run lb-1 set_real_server_status \
  --input vsIndex=1 --input address=198.51.100.10 --input port=8443 --input enabled=false
02Models1
@hmcrum/kemp-loadmasterv2026.09.17.1kemp_loadmaster.ts

Global Arguments

ArgumentTypeDescription
hoststringLoadMaster management hostname or IP, without scheme (e.g. lm.example.com)
portnumberHTTPS management port for the /access API
apiUserstringLoadMaster API user, e.g. bal
apiPasswordstringLoadMaster API password — supply via vault.get(...), never inline
caCert?stringPEM CA certificate to trust for the LoadMaster's HTTPS cert, if not publicly trusted (e.g. a self-signed appliance cert)
fn sync()
List every Virtual Service on the LoadMaster and write one virtualService resource per VS (fan-out — one API call, many outputs)
fn add_virtual_service(address: string, port: number, protocol: enum, nickname?: string)
Provision a Virtual Service (idempotent — returns the existing VS if address:port already exists)
ArgumentTypeDescription
addressstringVirtual Service IP address
portnumber
protocolenum
nickname?string
fn remove_virtual_service(vsIndex: string)
Remove a Virtual Service by index (idempotent — succeeds if already gone)
ArgumentTypeDescription
vsIndexstring
fn add_real_server(vsIndex: string, address: string, port: number, weight: number, forward: enum)
Add a Real Server to a Virtual Service (idempotent — no-op if already a member), then re-store the refreshed VS
ArgumentTypeDescription
vsIndexstring
addressstring
portnumber
weightnumber
forwardenum
fn remove_real_server(vsIndex: string, address: string, port: number)
Remove a Real Server from a Virtual Service (idempotent — no-op if already gone), then re-store the refreshed VS
ArgumentTypeDescription
vsIndexstring
addressstring
portnumber
fn set_real_server_status(vsIndex: string, address: string, port: number, enabled: boolean)
Enable or disable a Real Server within a Virtual Service — the standard maintenance action for draining traffic
ArgumentTypeDescription
vsIndexstring
addressstring
portnumber
enabledboolean

Resources

virtualService(infinite)— One Virtual Service and its Real Servers, refreshed from the live LoadMaster API on every sync or mutation
03Stats
A
100 / 100
Downloads
14
Archive size
51.2 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
04Platforms
05Labels