Modes of Operation

Prev Next

Itential Automation Gateway (IAG) can run in four distinct modes to provide automation for various operating environments. You can tailor each mode to specific scenarios, ranging from individual users to complex, distributed ecosystems.

To switch between application modes, set the configuration variable GATEWAY_APPLICATION_MODE as described in Application variables.

See an example configuration file in Configuration variables.

Note

The following examples disable TLS. However, Itential strongly recommends enabling TLS in production environments.

Local Mode

Local mode is the default setting.

  • Suitable for users or small teams who need to run automations from a single machine
  • No login required.
  • Ideal for simple setups or initial testing and development phases

To use Local mode, set GATEWAY_APPLICATION_MODE to local.

The following example shows a gateway.conf file configured to run in local mode:

[application]
mode              = local

Server Mode

Server mode sets a centralized location where you can manage all resources.

  • IAG executes services on the gateway server if you don't configure a distributed architecture with runner nodes
  • Gateway Manager and the gateway client send requests to the gateway server

For information about configuring a gateway server, see Server Variables.

To use Server mode, set GATEWAY_APPLICATION_MODE to server.

The following example shows a gateway.conf fileconfigured to run in server mode. Anything commented out is the default setting.

[application]
mode              = server

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

Client Mode

Client mode is essential for managing a gateway server.

  • A gateway client connects to a gateway server instance running in server mode and sends requests to the server
  • This mode enables you to create and manage services, repositories, secrets, and user accounts
  • A gateway server is required for client mode to function because client mode execfutes all operations against the connected server

For more information on configuring a gateway client, see Client variables.

To use Client mode, set GATEWAY_APPLICATION_MODE to client.

The following example shows a gateway.conf file configured to run in gateway client mode. Anything commented out is the default setting.

[application]
mode              = client

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

Runner Mode

Runner mode are specialized execution-only nodes that receive service execution requests from gateway servers. They handle the actual automation task processing while the gateway servers manage coordination and communication.

For more information on runner nodes and IAG architectures, see Architecture & Deployment.

To use Runner mode, set GATEWAY_APPLICATION_MODE to runner.

The following example shows a gateway.conf file configured for runner mode. Note that this example configures etcd as the store backend, but you can use either an etcd database or an Amazon DynamoDB table as your shared database. Anything commented out is the default setting.

[application]
mode              = runner

[runner]
#announcement_address =
#certificate_file     = /etc/gateway/gateway.crt
listen_address        = 0.0.0.0
#port                 = 50051
#private_key_file     = /etc/gateway/gateway.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    =

Feature Availability in Each Mode

The following table shows 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 because gateway runners are limited to executing only automations that a gateway server sends to them.

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