Ponos agent

Info

This feature is only available for Enterprise Edition customers.

If your setup requires Machine Learning process, you’ll need at least one Ponos Agent on a dedicated server.

The setup of this kind of server is easier, as it only requires to run the agent (from Docker image registry.gitlab.teklia.com/arkindex/ponos-agent) and configure it. The tasks will then be triggered by the agent automatically.

To begin the setup, you’ll need 2 private keys: one for the backend, another for the agent. Each agent needs a dedicated key to authenticate itself.

To generate a valid private key:

openssl ecparam -name secp384r1 -genkey -noout > agent.key

A YAML configuration file is also required:

---
# Save as agent.yml
url: https://ark.localhost/
farm_id: XXXXX
seed: YYYYY
data_dir: /data
private_key: /etc/ponos/agent.key

The farm_id and seed information can be found in the Arkindex administration interface under the section Ponos > Farms.

You can then run the agent as:

docker run \
  --name=ponos \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ./agent.yml:/etc/ponos/agent.yml:ro \
  -v ./agent.key:/etc/ponos/agent.key:ro \
  -v ponos_data:/data
  registry.gitlab.teklia.com/arkindex/ponos-agent:X.Y.Z

Please note that the agent requires a write access on the local Docker socket in order to create new containers that will run the tasks.

The ponos_data docker volume is not required, but will allow to retrieve debug logs outside of the agent container.