Skip to content

Latest commit

 

History

History
 
 

workers

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Workers

Workers operate outside of the Taskcluster services, claiming tasks from the queue and executing them.

Taskcluster currently provides two worker implementations. Docker-worker runs tasks in Docker, and is written in JS. Generic-worker runs on several platforms, with several engines, and is written in Go.

Table of Contents

Docker image with generic worker

In order to simplify generic-worker installation, it is possible to build and use docker image to run generic-worker:

cd workers
docker build -t generic-worker:latest .

docker run --rm -it -v /path/to/config.json:/etc/generic-worker/config.json generic-worker:latest

This builds generic-worker for a given architecture, installs needed binaries, generates ed25519 key. On start shows sample config, if it wasn't mounted.

Minimal config.json looks like this:

{
  "accessToken": "--access-token--",
  "clientId": "--client-id--",
  "ed25519SigningKeyLocation": "/etc/generic-worker/ed25519_key",
  "rootURL": "https://tc-root.url/",
  "workerId": "worker-id",
  "workerType": "worker-type",
  "livelogExecutable": "/usr/local/bin/livelog",
  "taskclusterProxyExecutable": "/usr/local/bin/taskcluster-proxy",
  "publicIP": "127.1.2.3"
}

Access Token and Client Id can be created in https://tc-root.url/auth/clients/create.

This image is also used in a local docker compose development environment.