A scripting toolkit for managing Komodo infrastructure — list, inspect, create, update, deploy, and control resources via the Komodo Core API.
If you are using this project as an openclaw skill, create or edit openclaw.json and add the credentials under skills.entries.komodo-skill.env:
{
"skills": {
"entries": {
"komodo-skill": {
"enabled": true,
"env": {
"KOMODO_URL": "https://your-komodo-instance.com",
"KOMODO_API_KEY": "your-api-key",
"KOMODO_API_SECRET": "your-api-secret"
}
}
}
}
}Set the variables before running any script:
export KOMODO_URL=https://your-komodo-instance.com
export KOMODO_API_KEY=your-api-key
export KOMODO_API_SECRET=your-api-secretOr place them in a .env file.
node scripts/<script>.js [args]Inspect all resources of a given type with detailed, human-readable output.
node scripts/list.js <type>| Type | What you see |
|---|---|
servers |
State, address, region, periphery version, CPU %, memory, disk usage, load average |
stacks |
State, docker status, services & images, repo/branch, deployed vs latest commit |
deployments |
State, docker status, image, update availability, attached build |
builds |
State, version, last built timestamp, repo/branch, built vs latest commit |
repos |
State, last pulled/built timestamps, repo/branch, cloned/built/latest commit |
procedures |
State, stage count, last run, next scheduled run |
actions |
State, last run, next scheduled run |
Create a new resource with an optional initial configuration. Unspecified fields use Komodo defaults.
node scripts/create.js <type> <name> [json-config]node scripts/create.js stack my-stack
node scripts/create.js stack my-stack '{"repo":"org/repo","branch":"main"}'
node scripts/create.js deployment my-dep '{"image":"nginx:latest","server_id":"<id>"}'
node scripts/create.js build my-build '{"repo":"org/repo","branch":"main"}'
node scripts/create.js repo my-repo '{"repo":"org/repo","branch":"main","server_id":"<id>"}'
node scripts/create.js procedure my-proc
node scripts/create.js action my-action '{"run_at_startup":false}'Supported types: stack deployment build repo procedure action
Apply a partial JSON patch to any resource — only the fields you specify are changed, everything else stays as-is.
node scripts/update.js <type> <name> '<json>'node scripts/update.js stack my-stack '{"branch":"main"}'
node scripts/update.js build my-build '{"version":{"major":2,"minor":0,"patch":0}}'
node scripts/update.js deployment my-dep '{"image":"nginx:1.27"}'
node scripts/update.js repo my-repo '{"branch":"develop"}'
node scripts/update.js procedure my-proc '{"schedule":"0 0 * * *","schedule_enabled":true}'
node scripts/update.js action my-action '{"run_at_startup":false}'Supported types: stack deployment build repo procedure action
Execute a procedure, action, or build and wait for it to finish. Prints the full result, duration, and logs.
node scripts/run.js <type> <name>node scripts/run.js procedure my-proc
node scripts/run.js action my-action
node scripts/run.js build my-buildDeploy a stack and wait for completion. Prints the update result and logs.
node scripts/deploy-stack.js <stack-name>node scripts/stack-ctrl.js <action> <stack-name>Actions: start stop restart pull destroy
node scripts/deployment-ctrl.js <action> <deployment-name>Actions: deploy start stop restart pull destroy
Stream logs from a stack, deployment, or container.
node scripts/get-logs.js stack <stack-name> [lines]
node scripts/get-logs.js deployment <deployment-name> [lines]
node scripts/get-logs.js container <server-name> <container-name> [lines]