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:
  enabled: true
  key: "/etc/jackadi/certs/manager.key"
  cert: "/etc/jackadi/certs/manager.crt"
  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 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_ENABLED="true"
export JACKADI_MANAGER_MTLS_KEY="/etc/jackadi/certs/manager.key"
export JACKADI_MANAGER_MTLS_CERT="/etc/jackadi/certs/manager.crt"
export JACKADI_MANAGER_MTLS_AGENT_CA_CERT="/etc/jackadi/certs/ca.crt"
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
--mtls.enabledtrueSecure 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