On-Prem Agent Configuration Reference

View as Markdown

The agent container requires the configuration to be in YAML format in the /home/moveworks/agent/conf directory with the file name as agent_config.yml.

The configuration encompasses various aspects such as Moveworks-specific settings, LDAP and REST client configurations, secrets management, and proxy settings.

Secret Object

A secret object is a field in the configuration that is a protected value. All credentials in the configuration are stored as a secret object. There are 3 types of secret objects:

  1. Plaintext/Encrypted Plaintext: These secrets are stored in the config YAML itself. Once the agent starts, all value objects are converted to encrypted_value objects for security.
    1value: "your-default-secret"
    2# Or after encryption:
    3# encrypted_value: "your-encrypted-secret"
  2. AWS Secrets Manager: These secrets can be fetched from AWS Secrets Manager.
    1aws_entry:
    2 secret_name: "my-aws-secret" # Name of the secret in AWS Secrets Manager
    3 region: "us-west-2" # AWS region where the secret is stored
    4 refresh_time_sec: 3600 # Time interval in seconds to refresh / retrieve the secret
  3. Azure Key Vault: These secrets can be fetched from Azure Key Vault
    1azure_entry:
    2 secret_name: "my-azure-secret" # Name of the secret in Azure Key Vault
    3 vault: "my-azure-vault" # Name of the Azure Key Vault
    4 refresh_time_sec: 3600 # Time interval in seconds to refresh / retrieve the secret

For worked examples of complete configurations, see Configuration Examples.

Top-Level Fields

FieldTypeRequiredDescription
bond_versionstringYes (auto-set)Agent configuration version. Set automatically by setup_agent.sh — do not edit.
moveworks_configobjectYesAuthentication and connectivity settings for the Moveworks platform.
ldap_configobjectNoSingle-domain LDAP/Active Directory configuration. Use ldap_forest_config for multiple domains.
ldap_forest_configmapNoMulti-domain LDAP configuration, keyed by domain name. Uses the same fields as ldap_config.
rest_configsmapNoREST API client configurations, keyed by service name (e.g. JIRA, SNOW).
secrets_provider_configobjectNoExternal secrets manager configuration. Only required when using AWS Secrets Manager or Azure Key Vault.
moveworks_proxy_configsmapNoProxy configurations, keyed by proxy name.

moveworks_config

FieldTypeRequiredDescriptionExample
auth_urlstringYesAuthentication endpoint URL.https://agent.moveworks.com/api/v1/auth
config_urlstringYesConfiguration fetch endpoint URL.https://agent.moveworks.com/api/v1/config
access_keystringYesYour organization name (all lowercase).your-org-name
moveworks_access_secretsecret objectYesOrg access secret. Generate in Moveworks Setup > Core Platform > On-Premise Agents.
path_to_certstringNoPath to a TLS certificate for connecting to the Moveworks platform./home/moveworks/agent/certs/cert.pem

secrets_provider_config

FieldTypeRequiredDescriptionExample
aws.default_regionstringNoDefault AWS region for secrets.us-west-2
azure.default_vaultstringNoDefault Azure Key Vault URL.https://my-vault.vault.azure.net/

ldap_config

FieldTypeRequiredDescriptionExample
enabledbooleanNoWhether LDAP is enabled.true
hoststringYesLDAP server hostname or IP. Do not include ldap:// prefix.ldap.company.com
portintegerYesLDAP port. 636 for LDAPS, 389 for LDAP/StartTLS.636
domainstringNoDomain name without protocol prefix.company.com
service_userstringYesService account username. Active Directory format: DOMAIN\username.COMPANY\svc_moveworks
ldap_service_passwordsecret objectYesPassword for the LDAP service account.
use_sslbooleanNoUse LDAPS (SSL from connection start). Recommended with port 636.true
use_start_tlsbooleanNoUse StartTLS (upgrade to TLS after connecting). Typically used with port 389.false
path_to_certstringNoPath to the CA certificate for TLS verification./home/moveworks/agent/certs/ldap_cert.pem
tls_skip_verifybooleanNoSkip TLS certificate verification. Do not use in production.false

ldap_forest_config uses the same fields as ldap_config, with domain names as map keys.

rest_configs

FieldTypeRequiredDescriptionExample
servicestringYesService identifier. Must match the service name configured in Moveworks Setup.JIRA
enabledbooleanNoWhether this REST config is enabled.true
header_decoratorsarrayNoAuthentication and header configurations. See Header Decorators below.
body_decoratorsarrayNoRequest body configurations. See Body Decorators below.
url_decoratorsarrayNoURL/query parameter configurations. See URL Decorators below.
do_not_use_rest_proxybooleanNoBypass the configured REST proxy for this client.true
ca_cert_pathstringNoCA certificate path for TLS verification for this service./home/moveworks/agent/certs/ca-cert.pem
tls_skip_verifybooleanNoSkip TLS certificate verification. Do not use in production.false
max_response_sizeintegerNoMaximum response size in bytes. Default: 10 MB.1048576
use_ntlmv2booleanNoUse NTLMv2 authentication.false

moveworks_proxy_configs

FieldTypeRequiredDescriptionExample
target_urlstringYesURL of the target where forwarded requests should go.https://proxy.example.com
portintegerYesPort the proxy listens on.8080

Decorators

Decorators attach authentication or fixed values to every request made through a REST client. Multiple decorators can be combined in a single rest_configs entry.

Header Decorators

Add to header_decorators. Applied to the HTTP headers of every outbound request.

TypeYAML keyDescription
Static headerplainAdd a fixed key-value header
File-basedfileLoad headers from a JSON file at runtime
Basic Authbasic_authHTTP Basic Authentication
OAuth2 Client Credentialsoauth2_client_credentials_authMachine-to-machine OAuth2; credentials sent in request body
OAuth2 Basic Authoauth2_basic_authOAuth2 where credentials are sent as a Basic Auth header
OAuth2 Refresh Tokenoauth2_refresh_token_authOAuth2 with a long-lived refresh token
Custom Authcustom_authCustom token endpoint for non-standard auth flows

plain — Fields: header_key (string), header_value (string).

file — Fields: file_path (string). File must be a flat JSON object mapping header names to values.

basic_auth — Fields: username (string), password (secret object).

OAuth2 types (oauth2_client_credentials_auth, oauth2_basic_auth, oauth2_refresh_token_auth) share these top-level fields:

FieldRequiredDescription
client_idYesOAuth2 client identifier
client_secretYesOAuth2 client secret (secret object)
client_refresh_tokenRefresh token onlyLong-lived refresh token (secret object)
scopeRecommendedSpace-separated OAuth2 scopes
rest_call_configYesToken endpoint settings — see below

rest_call_config (shared by all OAuth2 types):

FieldDefaultDescription
urlToken endpoint URL (secret object, required)
methodPOSTHTTP method for the token request
header_keyAuthorizationHeader name to send the token in
header_templateBearer %sFormat string for the header value
refresh_time_sec3600How often to refresh the token (seconds)
token_body_keyaccess_tokenJSON key to extract the token from the response
token_body_patternRegex to extract the token when the response is not standard JSON
request_bodyCustom body for the token request
auth_headers{Content-Type: application/x-www-form-urlencoded}Headers sent with the token request

custom_auth uses the same fields as rest_call_config directly (no nested object). Use it for non-standard token endpoints that don’t follow OAuth2 conventions.

For full YAML examples of every header decorator type, see Header Decorators in Configuration Examples.


Body Decorators

Add to body_decorators. Merge key-value pairs into the request body of every outbound request.

TypeYAML keyDescription
Static valueplainAdd a fixed key-value pair to the request body
File-basedfileLoad body values from a JSON file at runtime

plain — Fields: body_key (string), body_value (string).

file — Fields: file_path (string). File must be a flat JSON object mapping field names to values.

See Body Decorators in Configuration Examples.


URL Decorators

Add to url_decorators. Append query parameters to the URL of every outbound request.

TypeYAML keyDescription
Static query parameterplain_query_parameterAppend a fixed query parameter to every request URL
Oracle WebCenter Authoracle_web_centre_authToken-based authentication for Oracle WebCenter

plain_query_parameter — Fields: query_key (string), query_value (secret object).

oracle_web_centre_auth — Fields: username (string), password (secret object), query_parameter (object with query_key, query_template, and rest_call_config).

See URL Decorators in Configuration Examples.