Manager configuration

File locations

The manager searches for configuration files in this order:

  • /etc/jackadi/manager.yaml (system-wide, recommended for production)
  • $HOME/.jackadi/manager.yaml (user-specific)
  • ./manager.yaml (current directory, good for development)

You can also specify a custom config file using the --config flag:

manager --config /path/to/custom-manager.yaml

Example

Here’s a complete manager.yaml configuration file with explanations:

# Network settings
address: "0.0.0.0"
port: "40080"
plugin-server-port: "40081"

# Directory settings
config-dir: "/etc/jackadi"
plugin-dir: "/opt/jackadi/plugins"

# Agent management
auto-accept-agent: false

# Security settings (mTLS)
mtls: true
mtls-key: "/etc/jackadi/certs/manager.key"
mtls-cert: "/etc/jackadi/certs/manager.crt"
mtls-agent-ca-cert: "/etc/jackadi/certs/ca.crt"

Environment variables

All configuration options can be set via environment variables using the prefix JACKADI_MANAGER_ and converting kebab-case to UPPER_SNAKE_CASE:

# Network configuration
export JACKADI_MANAGER_ADDRESS="0.0.0.0"
export JACKADI_MANAGER_PORT="40080"
export JACKADI_MANAGER_PLUGIN_SERVER_PORT="40081"

# Security settings
export JACKADI_MANAGER_MTLS="true"
export JACKADI_MANAGER_AUTO_ACCEPT_AGENT="false"

# Directory paths
export JACKADI_MANAGER_CONFIG_DIR="/etc/jackadi"
export JACKADI_MANAGER_PLUGIN_DIR="/opt/jackadi/plugins"

Command-line options

The manager supports extensive command-line configuration:

manager [OPTIONS]
OptionDefaultDescription
--config-dir/etc/jackadiConfiguration directory
--address127.0.0.1Manager listen address
--port40080Manager listen port
--plugin-dir/opt/jackadi/pluginsPlugin inventory directory
--plugin-server-port40081Port used to serve plugins
--auto-accept-agentfalseAuto-accept new agent connections
--mtlstrueSecure connections using mTLS
--mtls-keyManager TLS key filepath
--mtls-certManager TLS certificate filepath
--mtls-agent-ca-certAgent CA certificate filepath
--configConfiguration file path
--version, -vPrint version information

Plugin sync configuration

The manager uses a YAML configuration file located at <config-dir>/plugins.yaml to determine which plugins to sync to which agents. This enables fine-grained control over plugin distribution based on agent patterns.

Basic plugin distribution ():

/etc/jackadi/plugins.yaml
"*":
  - linux

"worker-*":
  - deployment
  - monitoring
  - maintenance

Currently, plugin binaries must be placed directly within the directory (flat structure, without subdirectories).

/opt/jackadi/plugins/
├── plugin1
└── plugin2