Modes of Operation
  • 29 Oct 2024
  • Dark
    Light
  • PDF

Modes of Operation

  • Dark
    Light
  • PDF

Article summary

Application Modes

IAG5 can run in three distinct modes for providing automation to a variety of operating environments. Each mode can be tailored to specific scenarios, ranging from individual users to complex, distributed ecosystems.

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

See an example configuration file in Using Config Variables.

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 is required.
  • Ideal for simple setups or initial testing and development phases.

To use Local mode, set GATEWAY_APPLICATION_MODE to local.

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

[application]
mode              = local

Server Mode

Server mode sets a centralized location where all resources can be managed.

  • Service executions will take place on a gateway server if a distributed architecture with runners is not configured.
  • All requests sent to gateway server are sent via gateway client.

To configure a gateway server, refer to the GATEWAY_SERVER_* configuration variables here.

To use Server mode, set GATEWAY_APPLICATION_MODE to server.

Below is an example gateway.conf file that is configured to run in gateway 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

  use_tls is where a key/value pair is set on both the server and client. Itential highly recommends this for production usage.

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 all requests.
  • This mode enables the creation and management of services, repositories, secrets, and user accounts.
  • A gateway server is required for client mode to function, as all operations performed in client mode are executed against the connected server.

To configure a gateway client, refer to the GATEWAY_CLIENT_* configuration variables here.

To use Client mode, set GATEWAY_APPLICATION_MODE to client.

Below is an example 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

  use_tls is where a key/value pair is set on both the server and client. Itential highly recommends this for production usage.

Runner Mode

Runner mode sets up an exclusive gateway node for high availability.

  • The gateway node is able to execute gateway automations sent to it by a gateway server in a cluster architecture.
  • Use Runner mode if a distributed execution architecture is desired.

More information on gateway runners is available in Distributed Service Execution.

To use Runner mode, set GATEWAY_APPLICATION_MODE to runner.

Below is an example gateway.conf file configured for runner mode. Note that etcd is configured in this example. 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    =

  use_tls and etcd_use_tls is where a key/value pair is set on both the server and client. Itential highly recommends this for production usage.

Feature Availability in Each Mode

The table below 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 as gateway runners are limited to only execute automations sent to it by a gateway 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

Was this article helpful?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.