Add a Linux runner via Runners

<< Click to Display Table of Contents >>

Raynet One > 1.1 > User Guide > Start your journey now! > Add a new runner 

Add a Linux runner via Runners

We provide the Linux variant of the runner as Docker image. Using a dedicated Docker Compose File you can link the runner into your own Docker-powered infrastructure. The runner can be configured using environment variables in the same way as the Windows variant. Some functionality tied to the Windows operating system may not be available in the Linux variant.

 

Basic Linux runner Docker compose template

version: "1.0"

 

services:

  rno-runner:

    container_name: rno-runner

    image: raynetgmbh/raynet-one-runner:latest

    restart: always

    volumes:

      - rno_runner_data:/app/data

    environment:

      RunnerDatabaseConfig__Location: /app/data/runner.db

      Logging__LogLevel__Default: Information

      ServiceSettings__BackendServerApiUrl: [BACKENDURL]

      ServiceSettings__EnrollmentToken: [TOKEN]

      ServiceSettings__HearBeatDelaySeconds: 20

      HttpProxySettings__IsEnabled: false

      HttpProxySettings__Address: http://proxy.url/

      HttpProxySettings__Port: 3128

      HttpProxySettings__BypassProxyOnLocal: false

      HttpProxySettings__UseDefaultCredentials: false

      HttpProxySettings__UseCredentials: false

      HttpProxySettings__UserName: user

      HttpProxySettings__Password: password

      HttpProxySettings__DisableSslVerification: true

      Messaging__Configuration__Protocol: [PROTOCOL]

      

volumes:

  rno_runner_data:

 

Copy the above template into a new Docker Compose file (named for example docker-compose.yaml) in a dedicated separate directory. Before execution using docker compose up, you need to configure it.

 

If you already have a Docker Compose file and want to extend it with the runner, copy & paste the rno-runner service entry into the service list and the rno_runner_data volume entry into the volume list of your own file.

 

Important runner configuration parameters

We support the adjustment of the following configuration parameters to set-up and maintain your runner. The parameter key is in environment variable notation.

 

Parameter Key

Parameter Value

ServiceSettings__BackendServerApiUrl

The URL to the main command & control server, the backend of the Raynet One system. The default port of the backend if 38080.

 

Example: http://raynet.contoso.com:38080

ServiceSettings__EnrollmentToken

The enrollment token used to authenticate the runner to a valid runner entry in the system. Use a different enrollment token for each separate runner instance. Each enrollment token is valid only once. You can generate new enrollment tokens by adding runners in the web interface.

Messaging__Configuration__Protocol

The protocol used for communication with the backend server. The protocols vary in performance and abstraction. AMQP focuses on performance while STOMP uses the popular HTTP as backbone.

 

Valid options: AMQP, STOMP

HttpProxySettings__IsEnabled

Used to turn on or off the HTTP proxy feature.

HttpProxySettings__Address

The endpoint URL used for HTTP proxy requests. The communication to the backend server is tunneled through it.

HttpProxySettings__Port

The TCP port used for HTTP proxy networking.

HttpProxySettings__BypassProxyOnLocal

Maps to the .NET WebProxy.BypassProxyOnLocal property. If it is set to true, local addresses are not tunneled through the HTTP proxy.

HttpProxySettings__UseDefaultCredentials

Maps to the .NET WebProxy.UseDefaultCredentials property. If it is set to true, the application credentials are used as proxy credentials.

HttpProxySettings__UseCredentials

If true, then credentials are sent as part of HTTP proxy communication. The used credentials have to be specified.

HttpProxySettings__UserName

The username that should be used in the HTTP proxy credentials.

HttpProxySettings__Password

The password that should be used in the HTTP proxy credentials. The raw password is encoded in UTF-8. This UTF-8 string is then encoded as base64. You put this base64 string as value to this parameter.

HttpProxySettings__DisableSslVerification

If true, then no PKI trust check is performed on the public certificates received from SSL / TLS connection endpoints. See Appendix A for further details.

 

Adding transport encryption security certificates to the runner container

If your runner needs to connect to secure and trusted local network endpoints, it might need additional encryption certificates (see the PKI chapter). Assuming a compatible Docker compose configuration as provided above, here is how to extend it to include your own certificates.

 

1.Put all of your certificate files to trust into a folder called certs inside of the folder of your Docker compose file. You only have to include the public key certificate files of the trusted signing certification authorities.

 

clip0085

 

This is how a runner Docker compose folder usually looks like. You can see the certs folder we have just created.

 

2.Add the following entrypoint parameter to the rno-runner service entry.

 

    entrypoint: >

      bash -c "update-ca-certificates

      && ./RunnerLaunch.sh"

 

3.Merge the following volumes list to the one of the rno-runner service entry.

 

    volumes:

      - ./certs/:/usr/local/share/ca-certificates/certs/

 

4.Run docker compose up to verify the correct configuration of your runner Docker compose file. The runner will launch and connect to the system, only if the configuration is done correctly.