USP Server Configuration File
The Configuration File is the central setup point for USP Server instances.
On the host where USP Server is installed, the default location of the file is:
# Linux
/opt/udmg/etc/usp-server.hcl
# Windows
C:\Program Files\Stonebranch\USP Server\usp-server.hcl
What is HCL?
The USP Server configuration file is written in HCL (HashiCorp Configuration Language), a human-friendly syntax for structured configuration.
Key points about HCL:
- Blocks group related settings inside curly braces (
{}). For example, theapiblock contains all API-related options. - Arguments are key-value pairs defined within blocks. Each argument has a name (the key) and a value.
- Argument names are unique within their block and describe the purpose of the setting.
Dot Notation
Throughout this documentation we use dot notation to reference nested arguments.
This notation is used only in the documentation for clarity. In the actual HCL file, arguments are defined within their respective blocks, not as dot-separated keys.
api {
port = # Referenced as: api.port
secure {
enable = # Referenced as: api.secure.enable
}
}
HCL vs Environment Variables
Environment Variables override any value specified in the HCL configuration when both are present.
Use HCL arguments for persistent, auditable configuration. Reserve environment variables for temporary overrides or sensitive values such as passwords or keys (for example, in containerized deployments).
Time Duration Format and Allowed Units
Several configuration arguments accept time durations, which are specified as a string with:
- a decimal number (optionally with a fraction), followed by
- a time unit.
The allowed time units are:
nsfor nanosecondsusfor microsecondsmsfor millisecondssfor secondsmfor minuteshfor hours
You can also combine multiple number+unit segments in a single value to express more precise durations.
Examples:
"250ms"= 250 milliseconds"0.5s"= half a second"30s"= 30 seconds"2h45m"= 2 hours and 45 minutes
Arguments by Block
This section lists all configurable arguments available in usp-server.hcl. Arguments are grouped by configuration block (including the root level). For every argument, the table shows its name, description, type, and default value—helping you quickly understand what it controls and how to set it.
All HCL arguments described on this page use dot notation to reference their full path from the root of the configuration file.
Root Level
Defines the top-level attributes of the USP Server.
name
Name of the Proxy Server instance.
Type: string
Default: N/A
connection
The connection block configures USP Server connection settings.
connection.idle_timeout
IDLE timeout for inbound connections. Set to 0 to disable.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "60s"
connection.max_connections
Maximum number of concurrent connections allowed across all listeners. Set to 0 to disable.
Type: number
Default: 0
icap
The icap block configures global parameters for the Internet Content Adaptation Protocol (ICAP) integration.
icap.timeout
Defines how long the USP Server will wait for a response from the ICAP server during scan operations.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "30s"
log
The log block configures USP Server logging output, verbosity level, and log rotation settings.
log.level
Controls the verbosity of logs.
Options (every option contains the messages from the ones below it):
TRACE: The most detailed logging level, used to record fine-grained information about internal operations (e.g., database queries).DEBUG: Detailed internal information for troubleshooting.INFO: General operational messages.WARN: Unexpected errors that are not critical.ERROR: Critical errors.
Use INFO for normal operation and DEBUG when troubleshooting.
Type: string
Default: "INFO"
log.max_age
Rotates logs that are older than a specified number of days.
Each Component checks the age of each log file every time a log message is written, and when the configured threshold is reached, it archives the current log as the original log file plus the time at which the log was rotated (name-timestamp.extension).
For example: if manager.log is the original log file and a rotation happens at 3:00pm on May 10th 2025, the archived file would be named: manager-2025-05-10-T15-00-00.000.log.
Type: number
Default: 0 (disabled)
log.max_backups
Defines how many rotated log files must be kept. Once the number is exceeded, the older log file gets deleted when a new log rotation takes effect.
Type: number
Default: 0 (disabled)
log.max_size
Rotates logs when the log file grows beyond a threshold measured (in MB).
Type: number
Default: 0 (disabled)
log.path
The path to the log file. If no value is set, logs are written to standard output.
Type: string
Default: "" (standard output)
web
Configures the embedded HTTP(S) services used by USP Server for:
- Configuration updates (the control plane endpoint that USP Manager uses to configure and monitor the Proxy Server), and
- Operational endpoints (health check and metrics).
web.api_host
IP address and port where the Proxy Server exposes health check and metrics endpoints.
Type: string
Default: "0.0.0.0:8901"
web.config_host
IP address and port (management port) where the Proxy Server listens for configuration requests from the USP Manager.
Type: string
Default: "0.0.0.0:8900"
web.cors_allowed_origins
Allowed origins for CORS.
Type: List of strings
Default: ["*"]
Example: ["https://my-company.com"]
web.idle_timeout
Web idle timeout.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "120s"
web.rate_limit.global
Global limit for all endpoints in requests per minute.
Type: number
Default: 5000
web.read_timeout
Web read timeout.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "5s"
web.shutdown_timeout
Web shutdown timeout.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "20s"
web.tls.ca
Path to the USP Server's TLS CA(s) for mTLS config API authentication.
Type: string
Default: N/A
web.tls.cert
Path to the USP Server's TLS Certificate for mTLS config API authentication.
Type: string
Default: N/A
web.tls.key
Path to the USP Server's TLS Private Key for mTLS config API authentication.
Type: string
Default: N/A
web.write_timeout
Web write timeout.
For allowed time units, see Time Duration Format and Allowed Units.
Type: string
Default: "10s"