25 KiB
Horde > Configuration > Globals.json
Globals.json
Global configuration
Name | Description |
---|---|
version |
integer Version number for the server. Values are indicated by the . |
include |
ConfigInclude[] Other paths to include |
macros |
ConfigMacro[] Macros within the global scope |
dashboard |
DashboardConfig Settings for the dashboard |
downtime |
ScheduledDowntime[] List of scheduled downtime |
plugins |
GlobalPluginsConfig Plugin config objects |
parameters |
object General parameters for other tools. Can be queried through the api/v1/parameters endpoint. |
acl |
AclConfig Access control list |
ConfigInclude
Directive to merge config data from another source
Name | Description |
---|---|
path |
string Path to the config data to be included. May be relative to the including file's location. |
ConfigMacro
Declares a config macro
Name | Description |
---|---|
name |
string Name of the macro property |
value |
string Value for the macro property |
ScheduledDowntime
Settings for the maintenance window
Name | Description |
---|---|
startTime |
string Start time |
finishTime |
string Finish time |
duration |
string Duration of the maintenance window. An alternative to FinishTime. |
timeZone |
string The name of time zone to set the Coordinated Universal Time (UTC) offset for StartTime and FinishTime. |
frequency |
ScheduledDowntimeFrequency Frequency that the window repeats |
ScheduledDowntimeFrequency (Enum)
How frequently the maintenance window repeats
Name | Description |
---|---|
Once |
Once |
Daily |
Every day |
Weekly |
Every week |
GlobalPluginsConfig
Name | Description |
---|---|
analytics |
AnalyticsConfig Configuration for the analytics plugin |
build |
BuildConfig Configuration for the build plugin |
compute |
ComputeConfig Configuration for the compute plugin |
ddc |
EmptyPluginConfig Configuration for the ddc plugin |
experimental |
ExperimentalConfig Configuration for the experimental plugin |
secrets |
SecretsConfig Configuration for the secrets plugin |
storage |
StorageConfig Configuration for the storage plugin |
symbols |
SymbolsConfig Configuration for the symbols plugin |
tools |
ToolsConfig Configuration for the tools plugin |
AnalyticsConfig
Config settings for analytics
Name | Description |
---|---|
stores |
TelemetryStoreConfig[] Metrics to aggregate on the Horde server |
BuildConfig
Configuration for the build plugin
Name | Description |
---|---|
perforceClusters |
PerforceCluster[] List of Perforce clusters |
devices |
DeviceConfig Device configuration |
maxConformCount |
integer Maximum number of conforms to run at once |
agentShutdownIfDisabledGracePeriod |
string Time to wait before shutting down an agent that has been disabled Used if no value is set on the actual pool. |
artifactTypes |
ArtifactTypeConfig[] Configuration for different artifact types |
projects |
ProjectConfig[] List of projects |
enableConformTasks |
boolean Whether to allow conform tasks to run |
issueFixedTag |
string Commit tag to use for marking issues as fixed |
PerforceCluster
Information about a cluster of Perforce servers.
Name | Description |
---|---|
name |
string Name of the cluster |
serviceAccount |
string Username for Horde to log in to this server. Will use the first account specified below if not overridden. |
canImpersonate |
boolean Whether the service account can impersonate other users |
supportsPartitionedWorkspaces |
boolean Whether to use partitioned workspaces on this server |
servers |
PerforceServer[] List of servers |
credentials |
PerforceCredentials[] List of server credentials |
autoSdk |
AutoSdkWorkspace[] List of autosdk streams |
PerforceServer
Information about an individual Perforce server
Name | Description |
---|---|
serverAndPort |
string The server and port. The server may be a DNS entry with multiple records, in which case it will be actively load balanced. If "ssl:" prefix is used, ensure P4 server's fingerprint/certificate is trusted. See Horde's documentation on connecting to SSL-enabled Perforce servers. |
healthCheck |
boolean Whether to query the healthcheck address under each server |
resolveDns |
boolean Whether to resolve the DNS entries and load balance between different hosts |
maxConformCount |
integer Maximum number of simultaneous conforms on this server |
condition |
string Optional condition for a machine to be eligible to use this server |
properties |
string[] List of properties for an agent to be eligible to use this server |
PerforceCredentials
Credentials for a Perforce user
Name | Description |
---|---|
userName |
string The username |
password |
string Password for the user |
ticket |
string Login ticket for the user (will be used instead of password if set) |
AutoSdkWorkspace
Path to a platform and stream to use for syncing AutoSDK
Name | Description |
---|---|
name |
string Name of this workspace |
properties |
string[] The agent properties to check (eg. "OSFamily=Windows") |
userName |
string Username for logging in to the server |
stream |
string Stream to use |
DeviceConfig
Configuration for devices
Name | Description |
---|---|
platforms |
DevicePlatformConfig[] List of device platforms |
pools |
DevicePoolConfig[] List of device pools |
DevicePlatformConfig
Configuration for a device platform
Name | Description |
---|---|
id |
string The id for this platform |
name |
string Name of the platform |
models |
string[] A list of platform models |
legacyNames |
string[] Legacy names which older versions of Gauntlet may be using |
legacyPerfSpecHighModel |
string Model name for the high perf spec, which may be requested by Gauntlet |
DevicePoolConfig
Configuration for a device pool
Name | Description |
---|---|
id |
string The id for this platform |
name |
string The name of the pool |
poolType |
DevicePoolType The type of the pool |
projectIds |
string[] List of project ids associated with pool |
DevicePoolType (Enum)
The type of device pool
Name | Description |
---|---|
Automation |
Available to CIS jobs |
Shared |
Shared by users with remote checking and checkouts |
ArtifactTypeConfig
Configuration for an artifact
Name | Description |
---|---|
name |
string Legacy 'Name' property |
type |
string Name of the artifact type |
acl |
AclConfig Acl for the artifact type |
keepCount |
integer Number of artifacts to retain |
keepDays |
integer Number of days to retain artifacts of this type |
namespaceId |
string Storage namespace to use for this artifact types |
AclConfig
Parameters to update an ACL
Name | Description |
---|---|
entries |
AclEntryConfig[] Entries to replace the existing ACL |
profiles |
AclProfileConfig[] Defines profiles which allow grouping sets of actions into named collections |
inherit |
boolean Whether to inherit permissions from the parent ACL |
exceptions |
string[] List of exceptions to the inherited setting |
AclEntryConfig
Individual entry in an ACL
Name | Description |
---|---|
claim |
AclClaimConfig Name of the user or group |
actions |
string[] Array of actions to allow |
profiles |
string[] List of profiles to grant |
AclClaimConfig
New claim to create
Name | Description |
---|---|
type |
string The claim type |
value |
string The claim value |
AclProfileConfig
Configuration for an ACL profile. This defines a preset group of actions which can be given to a user via an ACL entry.
Name | Description |
---|---|
id |
string Identifier for this profile |
actions |
string[] Actions to include |
excludeActions |
string[] Actions to exclude from the inherited actions |
extends |
string[] Other profiles to extend from |
ComputeConfig
Configuration for the compute system
Name | Description |
---|---|
acl |
AclConfig Inherited root acl |
versionEnum |
ConfigVersion Config version number |
rates |
AgentRateConfig[] List of costs of a particular agent type |
clusters |
ComputeClusterConfig[] List of compute profiles |
pools |
PoolConfig[] List of pools |
software |
AgentSoftwareConfig[] List of costs of a particular agent type |
networks |
NetworkConfig[] List of networks |
ConfigVersion (Enum)
Global version number for running the server. As new features are introduced that require data migrations, this version number indicates the backwards compatibility functionality that must be enabled. When adding a new version here, also add a message to ConfigService.CreateSnapshotAsync describing the steps that need to be taken to upgrade the deployment.
Name | Description |
---|---|
None |
Not specified |
Initial |
Initial version number |
PoolsInConfigFiles |
Ability to add/remove pools via the REST API is removed. Pools should be configured through globals.json instead. |
Latest |
Latest version number |
LatestPlusOne |
One after the l`ast defined version number |
AgentRateConfig
Describes the monetary cost of agents matching a particular criteria
Name | Description |
---|---|
condition |
string Condition string |
rate |
number Rate for this agent |
ComputeClusterConfig
Profile for executing compute requests
Name | Description |
---|---|
id |
string Name of the partition |
namespaceId |
string Name of the namespace to use |
requestBucketId |
string Name of the input bucket |
responseBucketId |
string Name of the output bucket |
condition |
string Filter for agents to include |
acl |
AclConfig Access control list |
PoolConfig
Mutable configuration for a pool
Name | Description |
---|---|
id |
string Unique id for this pool |
base |
string Base pool config to copy settings from |
name |
string Name of the pool |
condition |
string Condition for agents to automatically be included in this pool |
properties |
string -> string Arbitrary properties related to this pool |
color |
PoolColor Color to use for this pool on the dashboard |
enableAutoscaling |
boolean Whether to enable autoscaling for this pool |
minAgents |
integer The minimum number of agents to keep in the pool |
numReserveAgents |
integer The minimum number of idle agents to hold in reserve |
conformInterval |
string Interval between conforms. If zero, the pool will not conform on a schedule. |
scaleOutCooldown |
string Cooldown time between scale-out events |
scaleInCooldown |
string Cooldown time between scale-in events |
shutdownIfDisabledGracePeriod |
string Time to wait before shutting down an agent that has been disabled |
sizeStrategy |
PoolSizeStrategy |
sizeStrategies |
PoolSizeStrategyInfo[] List of pool sizing strategies for this pool. The first strategy with a matching condition will be picked. |
fleetManagers |
FleetManagerInfo[] List of fleet managers for this pool. The first strategy with a matching condition will be picked. If empty or no conditions match, a default fleet manager will be used. |
leaseUtilizationSettings |
LeaseUtilizationSettings Settings for lease utilization pool sizing strategy (if used) |
jobQueueSettings |
JobQueueSettings Settings for job queue pool sizing strategy (if used) |
computeQueueAwsMetricSettings |
ComputeQueueAwsMetricSettings Settings for job queue pool sizing strategy (if used) |
PoolColor (Enum)
Color to use for labels of this pool
Name | Description |
---|---|
Default |
|
Blue |
|
Orange |
|
Green |
|
Gray |
PoolSizeStrategy (Enum)
Available pool sizing strategies
Name | Description |
---|---|
LeaseUtilization |
Strategy based on lease utilization |
JobQueue |
Strategy based on size of job build queue |
NoOp |
No-op strategy used as fallback/default behavior |
ComputeQueueAwsMetric |
A no-op strategy that reports metrics to let an external AWS auto-scaling policy scale the fleet |
LeaseUtilizationAwsMetric |
A no-op strategy that reports metrics to let an external AWS auto-scaling policy scale the fleet |
PoolSizeStrategyInfo
Metadata for configuring and picking a pool sizing strategy
Name | Description |
---|---|
type |
PoolSizeStrategy Strategy implementation to use |
condition |
string Condition if this strategy should be enabled (right now, using date/time as a distinguishing factor) |
config |
object Configuration for the strategy, serialized as JSON |
extraAgentCount |
integer Integer to add after pool size has been calculated. Can also be negative. |
FleetManagerInfo
Metadata for configuring and picking a fleet manager
Name | Description |
---|---|
type |
FleetManagerType Fleet manager type implementation to use |
condition |
string Condition if this strategy should be enabled (right now, using date/time as a distinguishing factor) |
config |
object Configuration for the strategy, serialized as JSON |
FleetManagerType (Enum)
Available fleet managers
Name | Description |
---|---|
Default |
Default fleet manager |
NoOp |
No-op fleet manager. |
Aws |
Fleet manager for handling AWS EC2 instances. Will create and/or terminate instances from scratch. |
AwsReuse |
Fleet manager for handling AWS EC2 instances. Will start already existing but stopped instances to reuse existing EBS disks. |
AwsRecycle |
Fleet manager for handling AWS EC2 instances. Will start already existing but stopped instances to reuse existing EBS disks. |
AwsAsg |
Fleet manager for handling AWS EC2 instances. Uses an EC2 auto-scaling group for controlling the number of running instances. |
LeaseUtilizationSettings
Lease utilization sizing settings for a pool
Name | Description |
---|---|
sampleTimeSec |
integer Time period for each sample |
numSamples |
integer Number of samples to collect for calculating lease utilization |
numSamplesForResult |
integer Min number of samples for a valid result |
minAgents |
integer The minimum number of agents to keep in the pool |
numReserveAgents |
integer The minimum number of idle agents to hold in reserve |
JobQueueSettings
Job queue sizing settings for a pool
Name | Description |
---|---|
scaleOutFactor |
number Factor translating queue size to additional agents to grow the pool with The result is always rounded up to nearest integer. Example: if there are 20 jobs in queue, a factor 0.25 will result in 5 new agents being added (20 * 0.25) |
scaleInFactor |
number Factor by which to shrink the pool size with when queue is empty The result is always rounded up to nearest integer. Example: when the queue size is zero, a default value of 0.9 will shrink the pool by 10% (current agent count * 0.9) |
samplePeriodMin |
integer How far back in time to look for job batches (that potentially are in the queue) |
readyTimeThresholdSec |
integer Time spent in ready state before considered truly waiting for an agent A job batch can be in ready state before getting picked up and executed. This threshold will help ensure only batches that have been waiting longer than this value will be considered. |
ComputeQueueAwsMetricSettings
Settings for
Name | Description |
---|---|
computeClusterId |
string Compute cluster ID to observe |
namespace |
string AWS CloudWatch namespace to write metrics in |
AgentSoftwareConfig
Selects different agent software versions by evaluating a condition
Name | Description |
---|---|
toolId |
string Tool identifier |
condition |
string Condition for using this channel |
NetworkConfig
Describes a network The ID describes any logical grouping, such as region, availability zone, rack or office location.
Name | Description |
---|---|
id |
string ID for this network |
cidrBlock |
string CIDR block |
description |
string Human-readable description |
computeId |
string Compute ID for this network (used when allocating compute resources) |
EmptyPluginConfig
Empty implementation of
ExperimentalConfig
Configuration for the experimental plugin
Name | Description |
---|---|
notifications |
NotificationConfig[] Notifications to be sent on the Horde server |
SecretsConfig
Configuration for the secrets system
Name | Description |
---|---|
secrets |
SecretConfig[] List of secrets |
providerConfigs |
SecretProviderConfig[] List of configurations for secret providers |
SecretConfig
Configuration for a secret value
Name | Description |
---|---|
id |
string Identifier for this secret |
data |
string -> string Key/value pairs associated with this secret |
sources |
ExternalSecretConfig[] Providers to source key/value pairs from |
acl |
AclConfig Defines access to this particular secret |
ExternalSecretConfig
Configuration for an external secret provider
Name | Description |
---|---|
providerConfig |
string The name to look up a secret provider config. A config is mutually exclusive to and to be used when a secret requires additional options than just the name of the provider |
provider |
string Name of the provider to use |
format |
ExternalSecretFormat Format of the secret |
key |
string Optional key indicating the parameter to set in the resulting data array. Required if is . |
path |
string Optional value indicating what to fetch from the provider |
ExternalSecretFormat (Enum)
Format describing how to parse external secret values
Name | Description |
---|---|
Text |
Secret is a plain text value which will be stored using the external secret key |
Json |
Secret is a JSON formatted string containing key/value pairs |
SecretProviderConfig
Common settings object for different secret providers
Name | Description |
---|---|
name |
string Name of the secret provider config |
provider |
string Name of the provider |
hcpVault |
HcpVaultConfig Configuration for HCP Vault |
HcpVaultConfig
Configuration for HCP Vault secrets.
Name | Description |
---|---|
preSharedKey |
string The Vault authentication token to use when the type of credentials is . More information on this token can be found in the API documentation for X-Vault-Token |
endPoint |
string The address of the Vault server. |
awsArnRole |
string The optional AWS ARN to assume a role when logging into Vault. To be used when the type of credentials is . When not set the AWS SDK default credential search will be used. |
awsIamServerId |
string The value for the X-Vault-AWS-IAM-Server-ID header when the Vault server is configured with iam_server_id_header_value. Most likely to be the Vault server's DNS name. To be used when the type of credentials is . |
role |
string The name of the role in the Vault configuration for the login. This role name can be different to the name of the AWS IAM principal. To be used when the type of credentials is . When not set the name of IAM principal will be used. |
credentials |
HcpVaultCredentialsType Type of credentials to use. |
HcpVaultCredentialsType (Enum)
Credentials to use to log into HCP Vault.
Name | Description |
---|---|
PreSharedKey |
Use a pre-shared token provided by Vault for authentication. |
AwsAuth |
Use AWS IAM credentials to authenticate against the Vault server. |
StorageConfig
Configuration for storage
Name | Description |
---|---|
enableGc |
boolean Whether to enable garbage collection |
enableGcVerification |
boolean Whether to enable garbage collection in verification mode (nothing deleted, just logging on access to deleted blobs) |
backends |
BackendConfig[] List of storage backends |
namespaces |
NamespaceConfig[] List of namespaces for storage |
BackendConfig
Common settings object for different providers
Name | Description |
---|---|
id |
string The storage backend ID |
base |
string Base backend to copy default settings from |
secondary |
string Specifies another backend to read from if an object is not found in this one. Can be used when migrating data from one backend to another. |
type |
StorageBackendType |
baseDir |
string |
awsBucketName |
string Name of the bucket to use |
awsBucketPath |
string Base path within the bucket |
awsCredentials |
AwsCredentialsType Type of credentials to use |
awsRole |
string ARN of a role to assume |
awsProfile |
string The AWS profile to read credentials form |
awsRegion |
string Region to connect to |
azureConnectionString |
string Connection string for Azure |
azureContainerName |
string Name of the container |
relayServer |
string |
relayToken |
string |
gcsBucketName |
string Name of the GCS bucket to use |
gcsBucketPath |
string Base path within the bucket |
StorageBackendType (Enum)
Types of storage backend to use
Name | Description |
---|---|
FileSystem |
Local filesystem |
Aws |
AWS S3 |
Azure |
Azure blob store |
Gcs |
Google Cloud Storage |
Memory |
In-memory only (for testing) |
AwsCredentialsType (Enum)
Credentials to use for AWS
Name | Description |
---|---|
Default |
Use default credentials from the AWS SDK |
Profile |
Read credentials from the profile in the AWS config file |
AssumeRole |
Assume a particular role. Should specify ARN in |
AssumeRoleWebIdentity |
Assume a particular role using the current environment variables. |
NamespaceConfig
Configuration of a particular namespace
Name | Description |
---|---|
id |
string Identifier for this namespace |
backend |
string Backend to use for this namespace |
prefix |
string Prefix for items within this namespace |
gcFrequencyHrs |
number How frequently to run garbage collection, in hours. |
gcDelayHrs |
number How long to keep newly uploaded orphanned objects before allowing them to be deleted, in hours. |
enableAliases |
boolean Support querying exports by their aliases |
acl |
AclConfig Access list for this namespace |
SymbolsConfig
Configuration for the tools system
Name | Description |
---|---|
stores |
SymbolStoreConfig[] List of symbol stores |
SymbolStoreConfig
Configuration for a symbol store
Name | Description |
---|---|
id |
string Identifier for this store |
namespaceId |
string Configuration for the symbol store backend |
public |
boolean Whether to make this store available without auth |
acl |
AclConfig Access to the symbol store |
ToolsConfig
Configuration for the tools system
Name | Description |
---|---|
tools |
ToolConfig[] Tool configurations |
ToolConfig
Options for configuring a tool
Name | Description |
---|---|
id |
string Unique identifier for the tool |
name |
string Name of the tool |
description |
string Description for the tool |
category |
string Category for the tool. Will cause the tool to be shown in a different tab in the dashboard. |
group |
string Grouping key for different variations of the same tool. The dashboard will show these together. |
platforms |
string[] Platforms for this tool. Takes the form of a NET RID (https://learn.microsoft.com/en-us/dotnet/core/rid-catalog). |
public |
boolean Whether this tool should be exposed for download on a public endpoint without authentication |
showInUgs |
boolean Whether to show this tool for download in the UGS tools menu |
showInDashboard |
boolean Whether to show this tool for download in the dashboard |
showInToolbox |
boolean Whether to show this tool for download in Unreal Toolbox |
metadata |
string -> string Metadata for this tool |
namespaceId |
string Default namespace for new deployments of this tool |
acl |
AclConfig Permissions for the tool |