iot-tools CLI Reference
IoT development tools for schema generation, gateway management, and more
Quick Reference
elastic
Elasticsearch management commands
| Command | Description |
|---|---|
elastic status | Check Elasticsearch cluster connection and status |
elastic compare-mappings | Compare current index template with generated mappings |
elastic migrate | Upload component templates and index template to Elastics... |
elastic migrate-component-templates | Upload only component templates to Elasticsearch cluster |
elastic migrate-index-template | Upload only index template to Elasticsearch cluster |
elastic rollover | Rollover data streams to create new backing indices with ... |
elastic config set | Set Elasticsearch configuration value (cloudId or apiKey) |
elastic config get | Get Elasticsearch configuration value (cloudId or apiKey) |
clients
API client generation commands
| Command | Description |
|---|---|
clients generate | Generate TypeScript and .NET API clients from OpenAPI spec |
dev
Development environment commands
| Command | Description |
|---|---|
dev setup | Check prerequisites and setup development environment |
gateway
Edge Gateway build and deployment commands
| Command | Description |
|---|---|
gateway publish | Publish Edge Gateway for different platforms |
gateway config set | Set default gateway target |
gateway config get | Get default gateway target |
gateway remote deploy | Deploy Edge Gateway to remote host via SSH |
gateway remote status | Check Edge Gateway status on remote host |
gateway remote logs | View Edge Gateway logs on remote host |
gateway remote restart-service | Restart Edge Gateway service on remote host |
gateway remote config list | List all configuration from remote gateway |
gateway remote config get | Get configuration value from remote gateway |
gateway remote config set | Set configuration value on remote gateway |
Standalone Commands
| Command | Description |
|---|---|
deps | Show command dependency tree |
Commands
deps
📍 Path: iot-tools deps
Show command dependency tree
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools deps - With custom options (Advanced configuration)bash
iot-tools deps --with-deps-only
Full Usage:
iot-tools deps [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--filter | string | Filter by command name pattern | - |
--with-deps-only | flag | Show only commands with dependencies | - |
Examples
iot-tools depsiot-tools deps --with-deps-onlyiot-tools deps --filter elasticelastic
📍 Path: iot-tools elastic
Elasticsearch management commands
Available Subcommands:
| Command | Description |
|---|---|
status | Check Elasticsearch cluster connection and status |
compare-mappings | Compare current index template with generated mappings |
migrate | Upload component templates and index template to Elasticsearch cluster |
migrate-component-templates | Upload only component templates to Elasticsearch cluster |
migrate-index-template | Upload only index template to Elasticsearch cluster |
rollover | Rollover data streams to create new backing indices with updated template |
config | Manage Elasticsearch configuration |
elastic status
📍 Path: iot-tools elastic status | Parent: elastic
Check Elasticsearch cluster connection and status
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic status elastic
Full Usage:
iot-tools elastic statusExamples
iot-tools elastic status elasticiot-tools elastic statusRelated Commands
elastic compare-mappings
📍 Path: iot-tools elastic compare-mappings | Parent: elastic
Compare current index template with generated mappings
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic compare-mappings elastic - With custom options (Advanced configuration)bash
iot-tools elastic compare-mappings --template metrics-* elastic
Full Usage:
iot-tools elastic compare-mappings [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--detailed, -d | flag | Show detailed diff | - |
--input, -i | string | Path to metrics JSON file | - |
--template, -t | string | Name of the index template to compare (defaults to metrics-*) | - |
Examples
iot-tools elastic compare-mappings elasticiot-tools elastic compare-mappingsiot-tools elastic compare-mappings --template metrics-* elasticiot-tools elastic compare-mappings --detailedRelated Commands
elastic migrate
📍 Path: iot-tools elastic migrate | Parent: elastic
Upload component templates and index template to Elasticsearch cluster
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic migrate elastic - With custom options (Advanced configuration)bash
iot-tools elastic migrate --dry-run elastic
Full Usage:
iot-tools elastic migrate [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--dry-run | flag | Dry run - show what would be uploaded without making changes | - |
--force, -f | flag | Force overwrite existing component templates | - |
Examples
iot-tools elastic migrate elasticiot-tools elastic migrateiot-tools elastic migrate --dry-run elasticiot-tools elastic migrate --forceRelated Commands
elastic migrate-component-templates
📍 Path: iot-tools elastic migrate-component-templates | Parent: elastic
Upload only component templates to Elasticsearch cluster
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic migrate-component-templates elastic - With custom options (Advanced configuration)bash
iot-tools elastic migrate-component-templates --dry-run elastic
Full Usage:
iot-tools elastic migrate-component-templates [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--dry-run | flag | Dry run - show what would be uploaded without making changes | - |
--force, -f | flag | Force overwrite existing component templates | - |
Examples
iot-tools elastic migrate-component-templates elasticiot-tools elastic migrate-component-templatesiot-tools elastic migrate-component-templates --dry-run elasticiot-tools elastic migrate-component-templates --forceRelated Commands
elastic migrate-index-template
📍 Path: iot-tools elastic migrate-index-template | Parent: elastic
Upload only index template to Elasticsearch cluster
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic migrate-index-template elastic - With custom options (Advanced configuration)bash
iot-tools elastic migrate-index-template --dry-run elastic
Full Usage:
iot-tools elastic migrate-index-template [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--dry-run | flag | Dry run - show what would be uploaded without making changes | - |
--force, -f | flag | Force overwrite existing index template | - |
Examples
iot-tools elastic migrate-index-template elasticiot-tools elastic migrate-index-templateiot-tools elastic migrate-index-template --dry-run elasticiot-tools elastic migrate-index-template --forceRelated Commands
elastic rollover
📍 Path: iot-tools elastic rollover | Parent: elastic
Rollover data streams to create new backing indices with updated template
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic rollover elastic - With custom options (Advanced configuration)bash
iot-tools elastic rollover --dry-run elastic
Full Usage:
iot-tools elastic rollover [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--dry-run | flag | Dry run - show what would be rolled over without making changes | - |
--stream | string | Data stream name pattern to rollover (default: metrics*) | - |
Examples
iot-tools elastic rollover elasticiot-tools elastic rolloveriot-tools elastic rollover --dry-run elasticiot-tools elastic rollover --stream iot-metrics*Related Commands
elastic config
📍 Path: iot-tools elastic config | Parent: elastic
Manage Elasticsearch configuration
Available Subcommands:
| Command | Description |
|---|---|
set | Set Elasticsearch configuration value (cloudId or apiKey) |
get | Get Elasticsearch configuration value (cloudId or apiKey) |
elastic config set
📍 Path: iot-tools elastic config set | Parent: elastic config
Set Elasticsearch configuration value (cloudId or apiKey)
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic config set elastic config
Full Usage:
iot-tools elastic config set <arguments>Arguments
KEY(required) - Type:stringConfiguration key (cloudId or apiKey)VALUE(required) - Type:stringConfiguration value
Examples
iot-tools elastic config set elastic configiot-tools elastic config set cloudId my-deployment:dXMtY2VudHJhbDEuZ2Nw... elastic configiot-tools elastic config set apiKey VnVhQ2ZHY0JDZGJrU...Related Commands
elastic config get
📍 Path: iot-tools elastic config get | Parent: elastic config
Get Elasticsearch configuration value (cloudId or apiKey)
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools elastic config get elastic config
Full Usage:
iot-tools elastic config get <arguments>Arguments
KEY(required) - Type:stringConfiguration key (cloudId or apiKey)
Examples
iot-tools elastic config get elastic configiot-tools elastic config get cloudId elastic configiot-tools elastic config get apiKeyRelated Commands
clients
📍 Path: iot-tools clients
API client generation commands
Available Subcommands:
| Command | Description |
|---|---|
generate | Generate TypeScript and .NET API clients from OpenAPI spec |
clients generate
📍 Path: iot-tools clients generate | Parent: clients
Generate TypeScript and .NET API clients from OpenAPI spec
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools clients generate clients - With custom options (Advanced configuration)bash
iot-tools clients generate --skip-typescript clients
Full Usage:
iot-tools clients generate [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--skip-dotnet | flag | Skip .NET client generation | - |
--skip-typescript | flag | Skip TypeScript client generation | - |
Examples
iot-tools clients generate clientsiot-tools clients generateiot-tools clients generate --skip-typescript clientsiot-tools clients generate --skip-dotnetRelated Commands
dev
📍 Path: iot-tools dev
Development environment commands
Available Subcommands:
| Command | Description |
|---|---|
setup | Check prerequisites and setup development environment |
dev setup
📍 Path: iot-tools dev setup | Parent: dev
Check prerequisites and setup development environment
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools dev setup dev - With custom options (Advanced configuration)bash
iot-tools dev setup --install-tools
Full Usage:
iot-tools dev setup [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--install-tools, -t | flag | Install global .NET tools (dotnet-ef, refitter) | - |
Examples
iot-tools dev setup deviot-tools dev setupiot-tools dev setup --install-toolsRelated Commands
gateway
📍 Path: iot-tools gateway
Edge Gateway build and deployment commands
Available Subcommands:
| Command | Description |
|---|---|
publish | Publish Edge Gateway for different platforms |
config | Manage local gateway configuration |
remote | Manage remote gateway instances |
gateway publish
📍 Path: iot-tools gateway publish | Parent: gateway
Publish Edge Gateway for different platforms
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway publish gateway - With custom options (Advanced configuration)bash
iot-tools gateway publish --runtime linux-musl-arm64 gateway
Full Usage:
iot-tools gateway publish [options]Options
| Option | Type | Description | Default |
|---|---|---|---|
--runtime, -r | string | Runtime identifier (linux-x64 or linux-arm64) | - |
Examples
iot-tools gateway publish gatewayiot-tools gateway publishiot-tools gateway publish --runtime linux-musl-arm64 gatewayiot-tools gateway publish -r linux-musl-x64 gatewayiot-tools gateway publish -r linux-arm64Related Commands
gateway config
📍 Path: iot-tools gateway config | Parent: gateway
Manage local gateway configuration
Available Subcommands:
| Command | Description |
|---|---|
set | Set default gateway target |
get | Get default gateway target |
gateway config set
📍 Path: iot-tools gateway config set | Parent: gateway config
Set default gateway target
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway config set gateway config
Full Usage:
iot-tools gateway config set <arguments>Arguments
TARGET(required) - Type:stringSSH target: user@hostname (e.g., root@10.20.0.93) or SSH config host alias
Examples
iot-tools gateway config set gateway configiot-tools gateway config set root@10.20.0.93 gateway configiot-tools gateway config set my-gatewayRelated Commands
gateway config get
📍 Path: iot-tools gateway config get | Parent: gateway config
Get default gateway target
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway config get gateway config
Full Usage:
iot-tools gateway config getExamples
iot-tools gateway config get gateway configiot-tools gateway config getRelated Commands
gateway remote
📍 Path: iot-tools gateway remote | Parent: gateway
Manage remote gateway instances
Available Subcommands:
| Command | Description |
|---|---|
deploy | Deploy Edge Gateway to remote host via SSH |
status | Check Edge Gateway status on remote host |
logs | View Edge Gateway logs on remote host |
restart-service | Restart Edge Gateway service on remote host |
config | Manage remote gateway configuration |
gateway remote deploy
📍 Path: iot-tools gateway remote deploy | Parent: gateway remote
Deploy Edge Gateway to remote host via SSH
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote deploy gateway remote
Full Usage:
iot-tools gateway remote deploy <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--restart | flag | Automatically restart the gateway service after deployment | - |
--runtime, -r | string | Runtime identifier of the published gateway to deploy (auto-detected if not specified) | - |
--source, -s | string | Path to published gateway files (auto-detected if not specified) | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote deploy gateway remoteiot-tools gateway remote deploy my-gateway gateway remoteiot-tools gateway remote deploy compulab@10.20.0.93iot-tools gateway remote deploy -i ./id_rsaRelated Commands
gateway remote status
📍 Path: iot-tools gateway remote status | Parent: gateway remote
Check Edge Gateway status on remote host
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote status gateway remote
Full Usage:
iot-tools gateway remote status <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote status gateway remoteiot-tools gateway remote status my-gateway gateway remoteiot-tools gateway remote status root@10.20.0.93Related Commands
gateway remote logs
📍 Path: iot-tools gateway remote logs | Parent: gateway remote
View Edge Gateway logs on remote host
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote logs gateway remote
Full Usage:
iot-tools gateway remote logs <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--follow, -f | flag | Follow log output in real-time | - |
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--lines, -n | int? | Number of log lines to show (default: all recent logs) | - |
--since, -s | string | Show logs since specified time (e.g., '1 hour ago', '2024-12-18 14:00:00') | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote logs gateway remoteiot-tools gateway remote logs my-gatewayiot-tools gateway remote logs -f gateway remoteiot-tools gateway remote logs root@10.20.0.93iot-tools gateway remote logs -n 50Related Commands
gateway remote restart-service
📍 Path: iot-tools gateway remote restart-service | Parent: gateway remote
Restart Edge Gateway service on remote host
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote restart-service gateway remote
Full Usage:
iot-tools gateway remote restart-service <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias. Uses default if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote restart-service gateway remoteiot-tools gateway remote restart-service my-gateway gateway remoteiot-tools gateway remote restart-service root@10.20.0.93iot-tools gateway remote restart-service -i ./id_rsaRelated Commands
gateway remote config
📍 Path: iot-tools gateway remote config | Parent: gateway remote
Manage remote gateway configuration
Available Subcommands:
| Command | Description |
|---|---|
list | List all configuration from remote gateway |
get | Get configuration value from remote gateway |
set | Set configuration value on remote gateway |
gateway remote config list
📍 Path: iot-tools gateway remote config list | Parent: gateway remote config
List all configuration from remote gateway
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote config list gateway remote config
Full Usage:
iot-tools gateway remote config list <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote config list gateway remote configiot-tools gateway remote config list root@10.20.0.93Related Commands
gateway remote config get
📍 Path: iot-tools gateway remote config get | Parent: gateway remote config
Get configuration value from remote gateway
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote config get gateway remote config - With custom options (Advanced configuration)bash
iot-tools gateway remote config get --key GatewayId gateway remote config
Full Usage:
iot-tools gateway remote config get <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--key, -k | string | Configuration key to retrieve (supports colon-separated paths like 'Section:Key') | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
Examples
iot-tools gateway remote config get gateway remote configiot-tools gateway remote config getiot-tools gateway remote config get --key GatewayId gateway remote configiot-tools gateway remote config get root@10.20.0.93iot-tools gateway remote config get --key GatewayIdRelated Commands
gateway remote config set
📍 Path: iot-tools gateway remote config set | Parent: gateway remote config
Set configuration value on remote gateway
Common Usage:
- Basic usage with default settings (Quick start)bash
iot-tools gateway remote config set gateway remote config - With custom options (Advanced configuration)bash
iot-tools gateway remote config set --key GatewayId --value gateway-001 gateway remote config
Full Usage:
iot-tools gateway remote config set <arguments> [options]Arguments
TARGET- Type:stringSSH target: user@hostname (e.g., compulab@10.20.0.93) or SSH config host alias (e.g., my-gateway). Uses default from .env if not specified.
Options
| Option | Type | Description | Default |
|---|---|---|---|
--identity, -i | string | Path to SSH identity file (private key). Overrides SSH config if specified. | - |
--key, -k | string | Configuration key to set (supports colon-separated paths like 'Section:Key') | - |
--restart, -r | flag | Automatically restart the gateway service after updating configuration | - |
--ssh-config | string | Path to SSH config file (defaults to ~/.ssh/config) | - |
--value, -v | string | Configuration value to set | - |
Examples
iot-tools gateway remote config set gateway remote configiot-tools gateway remote config setiot-tools gateway remote config set --key GatewayId --value gateway-001 gateway remote configiot-tools gateway remote config set root@10.20.0.93iot-tools gateway remote config set -k GatewayId -v gateway-001