For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

This page provides a reference for Rumi Admin configuration.

ecosystem.json

The ecosystem.json file is the central configuration file for Rumi Admin. It is located in the application root directory.

Full Format

{
  "apps": [{
    "name": "Rumi Admin Webserver",
    "script": "./app/index.js",
    "args": [8001],
    "instances": 4,
    "max_memory_restart": "256M"
  }],
  "agents": [{
    "name": "Local Agent",
    "url": "http://localhost:7778/rumi-agent",
    "access": "proxy"
  }],
  "proxy": {
    "port": 8000
  },
  "ldap": {
    "enabled": false
  },
  "okta": {
    "enabled": false,
    "token": "",
    "domain": ""
  }
}

apps

Application settings for the Node.js server.

Field
Type
Description

name

string

Application name

script

string

Entry point script path

args

array

Arguments — first element is the HTTP port

instances

number

Number of Node.js worker instances (PM2 cluster mode)

max_memory_restart

string

Memory threshold for automatic restart

agents

Default Rumi Agent connections loaded at startup.

Field
Type
Description

name

string

Display name for the agent

url

string

Agent REST API base URL (e.g., http://host:7778/rumi-agent)

access

string

Access mode (proxy)

Additional agents can be added at runtime through the Admin UI. Agent registrations are stored in the SQLite database.

proxy

Field
Type
Description

port

number

Proxy port

ldap

Field
Type
Description

enabled

boolean

Enable LDAP authentication (delegated to Grafana)

When LDAP is enabled, configure the LDAP connection details in Grafana's ldap.toml configuration file.

okta

Field
Type
Description

enabled

boolean

Enable Okta SSO authentication

token

string

Okta API token

domain

string

Okta organization domain

Environment Variables

Variable
Description

RUMI_ADMIN_DATA_DIR

Data directory for Grafana's database and configuration (required)

Database

Rumi Admin uses Grafana's SQLite database for storage. The database is located in the Grafana data directory. Rumi Admin creates the following tables:

Table
Description

rumi_agents

Agent registrations (id, name, type, url, access)

rumi_users

Per-user settings (user_id, org_id, disable_cnc)

rumi_config

Global configuration settings (setting, value)

REST API Endpoints

Agent Management

Method
Path
Description

GET

/nvx/agents

List all agents

POST

/nvx/agents

Create an agent

GET

/nvx/agents/:id

Get agent by ID

PUT

/nvx/agents/:id

Update an agent

DELETE

/nvx/agents/:id

Delete an agent

GET

/nvx/agents/ping/:id

Ping an agent

GET

/nvx/agents/systems/:id

Get systems for agent

GET

/nvx/agents/system/xvms/:id

Get containers in system

GET

/nvx/agents/system/scripts/:id

Get system scripts

GET

/nvx/agents/app/commands/:id

Get application commands

GET

/nvx/agents/datasources/:id

Get data sources from agent

GET

/nvx/agents/info/:id

Get agent info

POST

/nvx/agents/xar/:id

Upload XAR file

POST

/nvx/agents/invoke/script/:id

Execute system script

POST

/nvx/agents/app/command/invoke/:id

Invoke application command

POST

/nvx/agents/invoke/cancel/:id

Cancel script execution

POST

/nvx/agents/systems/archive/:id

Archive system

POST

/nvx/agents/systems/restore/:id

Restore system

POST

/nvx/agents/systems/delete/:id

Delete system

User and Configuration

Method
Path
Description

GET

/nvx/user

Get current user settings

POST

/nvx/user

Update user settings

DELETE

/nvx/user

Remove user settings

GET

/nvx/users

List all users (admin only)

GET

/nvx/config

Get global configuration

POST

/nvx/config

Set global configuration

DELETE

/nvx/config

Remove global configuration

GET

/nvx/datasources

Get data sources

GET

/nvx/info

Get Admin version info

Last updated