Application Modes

torero can run in three distinct modes for providing automation to a variety of operating environments. Each mode can be tailored to your specific scenarios, ranging from individual users to complex, distributed ecosystems. To switch between the various application modes, set the configuration variable TORERO_APPLICATION_MODE described in the variables documentation.

See torero.conf for an example config file.

Local Mode

Local mode is the default setting, this mode makes it perfect for users or small teams who need to run automations from a single machine. It is straightforward to use as no login is required, making it ideal for simple setups or initial testing and development phases.

To use local mode, set TORERO_APPLICATION_MODE to local.

Local mode torero.conf file

Below is an example torero.conf file that is configured to run in local mode.

[application]
mode              = local

Server Mode

Server mode allows a for a centralized location where all resources can be managed. Service executions will also take place on a torero server if a distributed architecture with runners is not configured. All requests sent to a torero server will be sent via a torero client. To configure a torero server, please refer to all of the TORERO_SERVER_* configuration variables.

To use server mode set to TORERO_APPLICATION_MODE to server

Server mode torero.conf file

Below is an example torero.conf file a torero server. Anything commented out is the default setting.

[application]
mode              = server

[server]
#api_key_expiration = 1440
#certificate_file   = /etc/torero/torero.crt
listen_address      = 0.0.0.0
#port               = 50051
#private_key_file   = /etc/torero/torero.key
use_tls             = false

Note

TLS where a key/value pair is set on both the server and client is highly encouraged for production usage.

Client Mode

Client mode is essential for managing a torero server. A torero client connects to a torero server instance running in server mode sends all requests. This mode enables the creation and management of services, repositories, secrets, and user accounts. A torero server is required for client mode to function, as all operations performed in client mode are executed against the connected server. To configure a torero client, please refer to all of the TORERO_CLIENT_* configuration variables. A client will need to authenticate to a torero server via the torero login command. More information can be found on the login guide.

To use client mode, set TORERO_APPLICATION_MODE to client

Client mode torero.conf file

Below is an example torero.conf file a torero client. Anything commented out is the default setting.

[application]
mode              = client

[client]
#certificate_file =
host              = some.torero-server.domain
#port             = 50051
#private_key_file =
use_tls           = false

Note

TLS where a key/value pair is set on both the server and client is highly encouraged for production usage.

Runner Mode

Runner mode sets up a torero node that will exclusively be able to execute torero automations sent to it by a torero server if a distributed execution architecture is desired. For more information on torero runners, please refer to the distributed execution guide.

To use runner mode, set TORERO_APPLICATION_MODE to runner

Runner mode torero.conf file

Below is an example torero.conf file required for client mode. Please note that etcd is configured in this example. Anything commented out is the default setting.

[application]
mode              = runner

[runner]
#announcement_address =
#certificate_file     = /etc/torero/torero.crt
listen_address        = 0.0.0.0
#port                 = 50051
#private_key_file     = /etc/torero/torero.key
use_tls               = false

[store]
backend                   = etcd
etcd_hosts                = etcd-host.domain:2379
etcd_use_tls              = false
#etcd_ca_certificate_file =
#etcd_certificate_file    =
#etcd_client_cert_auth    = false
#etcd_private_key_file    =

Note

TLS where a key/value pair is set on both the server and runner is highly encouraged for production usage.

Features Available per Mode

Below is a table that provides a clear view of which features are available in each mode and highlights the dependency of server mode on client connections for running automations. Runner mode has been omitted as torero runners are limited to only execute automations sent to it by a torero server.

Feature Local Mode Server Mode Client Mode
Run Automations Yes Via Client Yes
Create Secrets Yes Via Client Yes
Create Services Yes Via Client Yes
Create Repositories Yes Via Client Yes
Manage Users No Via Client Yes
Login Method None Via Client Required