This section can be omitted in standalone mode.
Agents section forms either a list or map with arbitrary agent names and either an inline or properties-style definition:
agents: someAgent: "inline definition" otherAgent: foo: bar
The definition is passed to an instance of
i.h.api.deployment.Deployer which will interpret the definition. Deployer implementation is registred using the
java.util.ServiceLoader and selected through the
io.hyperfoil.deployer system property. The default implementation is
ssh deployer accepts either the
[user@]host[:port] inline syntax or these properties:
|host||This property is mandatory.|
|dir||Directory set by system property
||Working directory for the agent. All the required JARs will be copied there and you will find the logs there as well. This directory can be shared by multiple agents running on the same physical machine.|
|extras||Custom options passed to the JVM (system properties, JVM options…)|
See an example of ssh deployment configuration:
agents: agent1: testserver1:22 agent2: testuser@testserver2 agent3: host: testserver3 port: 22 dir: /some/other/path
To activate the kubernetes deployer you should set
-Dio.hyperfoil.deployer=k8s; the recommended installation does that automatically.
The agents are configured the same way as with SSH deployment, only the properties differ. Full reference is provided below.
agents: my-agent: node: my-worker-node
|node||Configures the labels for the
|stop||true||By default the controller stops all agents immediatelly after the run terminates. In case of errors this is not too convenient as you might want to perform further analysis. To prevent automatic agent shutdown set this to false.|
|log||Name of config map (e.g.
|extras||Anything in this property will be passed to the agent JVM.|
|image||quay.io/hyperfoil/hyperfoil:controller-version||Different version of Hyperfoil in the agents|
|fetchLogs||true||Automatically watch agents’ logs and store them in the run directory.|