Skip to main content

Executor

This component is responsible for coordinating with the runtime to manage workload resources.

Throughout the lifecycle of these resources, this component will track and report results back to the server.

Configuration

The following options are used to configure the component:

NameDescriptionRequiredDefaultEnvironment Variables
executor.drivertype of client to control and operate executortruelinuxEXECUTOR_DRIVER`VELA_EXECUTOR_DRIVER`
executor.max_log_sizemaximum log size (in bytes)false0 (no limit)EXECUTOR_MAX_LOG_SIZE`VELA_EXECUTOR_MAX_LOG_SIZE`
executor.log_streaming_timeoutmaximum time to wait, after build completion, for logs to finish streamingfalse5mEXECUTOR_LOG_STREAMING_TIMEOUT`VELA_EXECUTOR_LOG_STREAMING_TIMEOUT`
note

For more information on these configuration options, please see the worker reference.

Drivers

The following drivers are available to configure the component:

NameDescriptionDocumentation
linuxuses a Linux executor for running workloadshttps://www.linux.com/
localuses a Local executor for running workloads (CLI only)N/A

Linux

From the Linux official website:

Linux has been around since the mid-1990s and has since reached a user-base that spans the globe. Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of the most popular platforms on the planet, Android, is powered by the Linux operating system.

The below configuration displays an example of starting the Vela worker that will use a Linux executor:

$ docker run \
--detach=true \
+ --env=VELA_EXECUTOR_DRIVER=linux \
--env=VELA_QUEUE_DRIVER=redis \
--env=VELA_SERVER_ADDR=https://vela-server.example.com \
--env=VELA_SERVER_SECRET=<shared-secret> \
--env=VELA_WORKER_ADDR=https://vela-worker.example.com \
--name=worker \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--volume=/var/run/docker.sock:/var/run/docker.sock \
target/vela-worker:latest
note

This Linux configuration is enabled by default and is not necessary to provide in order for Vela to operate.

Local

The local executor driver is only intended for use with the Vela CLI.

It's not recommended to run any workloads on a worker configured with this driver.