Ponos agent

    Information

    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.