Usage
Usage
Agent management
List agents
command
jack agents list
output
Accepted
• agent1
• agent3
Candidates
• agent2
Rejected
• agent1
Manage agents
command
jack agents <accept|reject|remove> <agent>
output
$ jack agents accept agent2
Agents health
command
jack agents health
output
Agents
• agent1 (connected, active)
• agent2 (connected, inactive)
• agent3 (disconnected, inactive)
agent1
is connected and had recent activity (e.g. a task has been executed).agent2
is connected and did not have any recent activity.agent3
is not connected to the manager anymore (e.g. due to service down, or network issue).
Run a task
All targeting modes are documented here.
command
jack run <agent> <plugin:task> <arg1> <argN>
One target
example
# Check the health of agent1
$ jack run agent1 health:ping
output
agent1
→ output:
true
Multiple targets
example
# Execute the 'uptime' command on all agent matching 'agent*'
$ jack run agent* cmd:run "uptime"
output
agent1
→ output:
|
14:49:15 up 4:58, 0 user, load average: 0.13, 0.52, 0.65
agent2
→ output:
|
14:49:15 up 4:58, 0 user, load average: 0.13, 0.52, 0.65
agent3
→ output:
|
14:49:15 up 4:58, 0 user, load average: 0.13, 0.52, 0.65
Get job results
List jobs
command
jack results list
output
Task results
[✓] 1757515773331361206 - 2025-09-10 14:49:33
agent1
[✓] 1757515773331318817 - 2025-09-10 14:49:33
agent2
[✓] 1757515755520084702 - 2025-09-10 14:49:15
agent2
[✓] 1757515755520078922 - 2025-09-10 14:49:15
agent1
[✓] 1757515755519920865 - 2025-09-10 14:49:15
1757515755520078922,1757515755520084702
Get one job result
command
jack results get <ID>
example
# Show the result of the job '1757515755519920865'
$ jack results get 1757515755519920865
output
Request:
→ Task: cmd:run
→ Connected targets: agent2, agent1
Agent: agent1
→ groupID: 1757515755519920865
→ id: 1757515755520078922
→ output:
|
14:49:15 up 4:58, 0 user, load average: 0.13, 0.52, 0.65
Agent: agent2
→ groupID: 1757515755519920865
→ id: 1757515755520084702
→ output:
|
14:49:15 up 4:58, 0 user, load average: 0.13, 0.52, 0.65
Manage plugins
List installed plugins
command
jack run <agent> plugins:list
example
# List installed plugins on agent1
$ jack run agent1 plugins:list
output
agent1
→ output:
- specs
- cmd
- health
- plugins
Install/update/remove plugins
You can synchronize the plugins on the agent using, following plugins.yaml
configuration on the manager.
It will:
- Add new plugins not installed on the agent.
- Update existing plugins if necessary.
- Remove unwanted plugins.
command
jack run <agent> plugins:sync
example
# Sync plugins to agent1
$ jack run agent1 plugins:sync
output
agent1
→ output:
Added:
- Name: demo
During sync, states can be: Added
, Deleted
, Unchanged
, Updated
.
Get version of a plugin
command
jack run <agent> plugins:version
example
# Get version information of the 'demo' plugin installed on agent1
$ jack run agent1 plugins:version demo
output
agent1
→ output:
BuildTime: "2025-09-10T15:01:00Z"
Commit: v0.0.6
GoVersion: go1.25.1
PluginVersion: v0.0.6
Print the help for a plugin
command
jack run <agent> plugins:help <plugin>
example
# Print the help of the 'demo' plugin installed on agent1
$ jack run agent1 plugins:help demo
output
agent1
→ output:
demo: |
hello Simple hello world task
configure_service Configure a system service
monitor_health Monitor system health metrics
create_user Create a new user account
get_system_version Get system version (returns string)
get_connection_count Get active connections (returns int64)
is_maintenance_mode Check maintenance mode (returns bool)
get_cpu_usage Get CPU usage (returns float64)
list_services List active services (returns []string)
get_users Get user list (returns []User)
get_env_vars Get environment variables (returns map[string]string)
get_metrics Get system metrics (returns map[string]any)
get_server_info Get server information (returns ServerInfo)
get_reboot_history Get reboot history (returns [3]string)
get_db_stats Get database statistics (returns map[string]DatabaseStats)
find_user Find user by email (returns *User)
upgrade_system Upgrade system packages
Print the help for a task
command
jack run <agent> plugins:help <plugin:task>
example
# Print the help of the task 'configure_service'
# from 'demo' plugin installed on agent1
$ jack run agent1 plugins:help demo:configure_service
output
agent1
→ output:
configure_service: |+
Summary:
Configure a system service
Description:
Configures a named service with regional settings and timeout controls.
Usage:
jack run <target> demo:configure_service <serviceName>
Arguments:
serviceName string e.g. webserver-pro
Lock Mode: write