Minion Docker
The Minion container image reads its configuration from environment variables at startup. For settings not covered by environment variables, you can overlay individual configuration files directly (see Directory conventions).
Startup arguments
| Argument | Description |
|---|---|
|
Display help with available arguments. |
|
Start Minion using environment variables for credentials. WARNING: credentials may be exposed via |
|
One-time command to initialize an encrypted keystore file with credentials in |
|
Initialize and start Minion in foreground. |
Controller configuration
| Variable | Description | Default value |
|---|---|---|
|
Unique identifier for this Minion instance. |
|
|
Location name associated with this Minion instance. |
|
|
ActiveMQ broker URL. |
|
You cannot supply credentials via environment variables without exposing them in docker inspect output and container logs.
To store credentials securely, initialize a keystore file using the -s flag and mount it to ${MINION_HOME}/etc/scv.jce.
|
| Variable | Description | Default value |
|---|---|---|
|
Username for the OpenNMS HTTP API. |
|
|
Password for the OpenNMS HTTP API. |
|
|
Username for ActiveMQ authentication. |
|
|
Password for ActiveMQ authentication. |
|
IPC strategy
Set MINION_IPC to choose the inter-process communication transport.
| Value | Description |
|---|---|
(unset) |
Use JMS (ActiveMQ). This is the default when |
|
Use JMS (ActiveMQ) explicitly. |
|
Use Apache Kafka. Requires additional Kafka variables (see Kafka configuration). |
|
Use gRPC. Requires additional gRPC variables (see gRPC configuration). |
Kafka configuration
Environment variables prefixed with KAFKA_IPC_ are written to ${MINION_HOME}/etc/org.opennms.core.ipc.kafka.cfg.
The prefix is stripped, the remainder is lowercased, and underscores are converted to dots before being written as property keys.
The file is regenerated on every startup, so changes to KAFKA_IPC_* variables take effect after a restart even when etc is persisted.
Manual edits to this file are overwritten; use an etc overlay to customize it instead.
| Variable | Description | Example value |
|---|---|---|
|
Comma-separated list of Kafka broker addresses. |
|
|
Any additional Kafka client property. |
|
For example, setting KAFKA_IPC_BOOTSTRAP_SERVERS=192.168.1.1:9092 produces the following in org.opennms.core.ipc.kafka.cfg:
bootstrap.servers=192.168.1.1:9092
Optional features
| Variable | Description | Default value |
|---|---|---|
|
Set to |
|
|
Set to |
|
JVM memory
| Variable | Description | Default value |
|---|---|---|
|
Minimum JVM heap size. |
|
|
Maximum JVM heap size. |
|
Prometheus JMX exporter
For full details on the JMX exporter and customizing its configuration file, see Prometheus JMX exporter.
| Variable | Description | Default value |
|---|---|---|
|
Set to |
|
|
Port on which the JMX exporter listens. |
|
|
Path to the exporter configuration file inside the container. |
|
Listeners and network settings
| Variable | Description | Default value |
|---|---|---|
|
Instance ID used as prefix for queue and topic names. |
|
|
Interface the Syslog listener binds to. |
|
|
Port the Syslog listener binds to. |
|
|
Interface the SNMP trap listener binds to. |
|
|
Port the SNMP trap listener binds to. |
|
|
Use the agent address from the trap varbind instead of the packet source address. |
|
|
Set to |
|
|
Set to |
|
|
Set to |
|
|
Address and port of the Karaf shell SSH server. |
|
|
Address and port of the embedded web server. |
|
|
Address and port of the JMX RMI registry. |
|
|
Address and port of the JMX RMI server. |
|
|
Dominion gRPC endpoint and client secret, used when |
|
Directory conventions
| Mountpoint | Description |
|---|---|
|
Files copied into |
|
Directory for the encrypted keystore file initialized with the |
Migrating from minion-config.yaml
Earlier Minion images rendered configuration from a ${MINION_HOME}/minion-config.yaml file.
This file is no longer supported, and the container refuses to start if it is present.
To migrate, move each setting to its environment variable or overlay file, then remove the file:
minion-config.yaml key |
Replacement |
|---|---|
|
|
|
|
|
|
|
No longer supported; use |
|
|
|
|
|
Overlay |
|
Overlay |
|
|
|
|
|
|
|
Pass each property as |
|
|
|
|
|
|
|
|
|
Mount your own exporter configuration file and set |