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 using a 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 configure local mode, set TORERO_APPLICATION_MODE to local.

Local mode torero.conf file

Below is an example torero.conf file required for local mode. Anything commented out is the default setting.

[application]
mode             = local
#auto_accept_eula = false
#working_dir      = ~/.torero.d

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 configure server mode, set:

TORERO_APPLICATION_MODE = server

Server mode torero.conf file

Below is an example torero.conf file required for server mode. Anything commented out is the default setting.

[application]
mode             = server
#auto_accept_eula = false
#working_dir      = ~/.torero.d

[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

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 configure client mode, set:

TORERO_APPLICATION_MODE = client\ TORERO_CLIENT_HOST = some.torero-server.domain

Client mode torero.conf file

Below is an example torero.conf file required for client mode. Anything commented out is the default setting.

[application]
mode             = client
#auto_accept_eula = false
#working_dir      = ~/.torero.d

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

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 configure runner mode, set:

TORERO_APPLICATION_MODE = runner\ TORERO_RUNNER_LISTEN_ADDRESS = 0.0.0.0\ TORERO_RUNNER_USE_TLS = false\ TORERO_STORE_BACKEND = etcd\ TORERO_STORE_ETCD_HOSTS = <servername:2379> TORERO_STORE_ETCD_USE_TLS = false

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
#auto_accept_eula = false
#working_dir      = ~/.torero.d

[runner]
listen_address    = 0.0.0.0
use_tls           = false

[store]
backend           = etcd
etcd_hosts        = etcd-host.domain:2379
etcd_use_tls      = false

Features Availabile 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