Skip to main content

Runtime Settings (config.yaml)

Separate from the install-time .env file, the agent keeps a YAML-backed settings store — config.yaml — for values that can change while the agent is running, with no restart required. On first start, every key is seeded from an existing YAML value, then a matching environment variable, then a compiled-in default, so the file always ends up with every key present and visible.

Editing config.yaml

Read and write these values with the getapp CLI (getapp config get, getapp config set ...), or push them from the Server Dashboard. A subset is also exposed as CLI flags directly (--delivery-auto-trigger, --deploy-timeout, --tcp-timeout, ...). By default, server-pushed values win on conflict with local ones — set LOCAL_CONFIG_PRIORITY=true in .env to flip that.

Source of truth

Reconstructed from the key constants and startup defaults in agent/src/settings/settings_io.rs. Paths below are dotted for readability; in the file they're nested YAML — delivery.max_parallel_deliveries is stored as a max_parallel_deliveries field nested under a delivery section.

Device​

KeyDefaultDescription
device.device_idautoUnique device ID (device-id file → DEVICE_ID env → hardware machine ID)
device.device_type_tokenOS-specificDevice type token(s), e.g. agent_linux, agent_macos, agent
device.platform—Platform type token
device.platform_id—Platform's unique ID
device.meta_data.namegeneratedDevice display name
device.meta_data.misc—Free-form misc metadata
device.meta_data.platform_name—Human-readable platform name
device.meta_data.unit—Unit/location label
device.local_config_priorityfalseWhen true, local values win over server-pushed values on conflict
device.orchestrate_mefalseWhether this device participates in orchestration as a managed (slave-side) node
device.reactive_modefalseEnable reactive orchestration mode
device.orchestrated_by—ID of the orchestrator managing this device, when orchestrated

Network​

KeyDefaultDescription
network.getapp_server_urlsfrom BASE_URLServer URLs the agent connects to
network.availability_url—URL used to probe network availability
network.net_tcp_stream_timeout_sec5TCP stream timeout, in seconds
network.connection_refresh_enabledfalsePeriodically re-check and refresh the network connection
network.connection_refresh_interval_secs60Interval between connection refresh checks
network.scan_interval_secs5Interval between network scans
network.scan_gateway_timeout_ms500Timeout for gateway scan probes, in milliseconds

General​

KeyDefaultDescription
general.query_status_interval_sec2Seconds between polls for import/prepared status

Releases​

KeyDefaultDescription
releases.health_check_timeout_secs5Timeout for a single health check probe
releases.health_check_interval_mins1Interval between health check scheduling runs

Discovery​

KeyDefaultDescription
discovery.periodic_interval_min60Interval between periodic discovery runs, in minutes
discovery.stale_after_mins30Minutes after which a discovery result is considered stale
discovery.status_entry_ttl_hours24Hours to retain a discovery status entry before it's pruned

Delivery​

KeyDefaultDescription
delivery.delivery_auto_trigger—Automatically trigger a download as soon as a matching offering is discovered
delivery.delivery_storage_buffer_bytes0Extra storage buffer, in bytes, reserved before a delivery may start
delivery.use_only_artifacts_size_for_storage_calculationfalseIgnore totalSize and calculate storage from raw artifact sizes only (CDN scenarios)
delivery.max_parallel_deliveries1Maximum concurrent deliveries
delivery.delivery_timeout_mins30Minutes before a single delivery is considered failed
delivery.delivery_retry_count2Download retry attempts on failure
delivery.delivery_retry_delay_secs5Delay between download retries, in seconds
delivery.delivery_sourcecacheDelivery source: remote | cache

Deploy​

KeyDefaultDescription
deploy.deploy_auto_on_pullfalseAutomatically trigger deployment after a successful pull/download
deploy.deploy_timeout_sec60Timeout for a deployment to complete, in seconds
deploy.install_done_timeout_min15Minutes to wait for install-done confirmation

Bandwidth​

KeyDefaultDescription
bandwidth.measurement_interval_sec60Interval between bandwidth measurements
bandwidth.tier_high_kbps5000Threshold, in kbps, for the "high" bandwidth tier
bandwidth.tier_medium_kbps1000Threshold, in kbps, for the "medium" bandwidth tier
bandwidth.measurement_timeout_sec5Timeout for a single bandwidth measurement probe

Rules & policy enforcement​

KeyDefaultDescription
rules.device_anytrueWhether rules that target "any device" apply to this device
rules.allow_no_policiestrueOffer components that have no policies attached
rules.enforcetrueGlobally enable/disable policy enforcement
rules.enforcement_modeofferingWhere policies are enforced: offering | delivery | deploy

See Policy Enforcement Configuration for the full behavior of each enforcement mode.

Logs​

KeyDefaultDescription
logs.logs_run_dispatch_job—Enable the background log dispatch job

Telemetry​

KeyDefaultDescription
telemetry.enabledtrueMaster switch for telemetry collection
telemetry.logs_enabledfalseInclude logs in telemetry
telemetry.metrics_enabledfalseInclude metrics in telemetry
telemetry.send_interval_mins60Minutes between telemetry send attempts
telemetry.log_min_levelERRORMinimum log level included in telemetry
telemetry.deploy_log_min_levelDEBUGMinimum log level for per-component deployment logs
telemetry.send_batch_size500Max records per telemetry send batch
telemetry.backup_retention_hours48Hours to retain un-sent telemetry backups
telemetry.reactive_modefalseSend telemetry reactively rather than on a fixed interval
telemetry.metrics_collect_interval_mins5Minutes between metrics collection runs

Matomo​

KeyDefaultDescription
matomo.matomo_use_buffertrueBuffer Matomo events instead of sending immediately
matomo.matomo_server_url—URL to send Matomo events to
matomo.matomo_site_id—Matomo site ID
matomo.matomo_dimension_id—Matomo dimension IDs, key=value;key=value
matomo.matomo_max_retention_hours720Max retention of buffered Matomo events, in hours
matomo.matomo_max_buffer_size_mb20Max Matomo buffer size, in MB

Orchestration​

KeyDefaultDescription
reactive.sysinfo_push_interval_mins5Minutes between system-info pushes when in reactive/orchestrated mode

See also​