25.1. Environment Variables exposed in ArmoniK.Core
25.1.1. Options for AdapterSettings
AdapterSettings__AdapterAbsolutePath: string (default:
"")Absolute file system path of the adapter’s plugin assembly in the container
AdapterSettings__ClassName: string (default:
"")Fully qualified name of the adapter class that implements the interface
25.1.2. Options for Components
Components__TableStorage: string? (default:
null)Represents which database is used for tasks metadata
Components__QueueAdaptorSettings__AdapterAbsolutePath: string (default:
"")Absolute file system path of the adapter’s plugin assembly in the container
Components__QueueAdaptorSettings__ClassName: string (default:
"")Fully qualified name of the adapter class that implements the interface
Components__ObjectStorageAdaptorSettings__AdapterAbsolutePath: string (default:
"")Absolute file system path of the adapter’s plugin assembly in the container
Components__ObjectStorageAdaptorSettings__ClassName: string (default:
"")Fully qualified name of the adapter class that implements the interface
Components__AuthenticationStorage: string? (default:
null)Represents which database is used for authentication
25.1.3. Options for InitServices
InitServices__Authentication: Authentication (default:
())Authentication configurations
InitServices__Partitioning: Partitioning (default:
())Partitioning configurations
InitServices__InitDatabase: bool (default:
true)Whether to perform database initialization (collection creation, indexing, sharding, data insertion, etc…).
InitServices__InitObjectStorage: bool (default:
true)Whether to perform object storage initialization
InitServices__InitQueue: bool (default:
true)Whether to perform queue initialization
InitServices__StopAfterInit: bool (default:
false)Stop the service after performing initialization
25.1.4. Options for InitWorker
InitWorker__WorkerCheckRetries: int (default:
10)Number of times the worker should retry a failed check before giving up.
InitWorker__WorkerCheckDelay: TimeSpan (default:
TimeSpan.FromSeconds(2))Delay duration between each retry attempt.
25.1.5. Options for Pollster
Pollster__GraceDelay: TimeSpan (default:
TimeSpan.FromSeconds(5))Grace delay before the pollster cancels the task and put the message back into the queue
Pollster__ShutdownTimeout: TimeSpan (default:
TimeSpan.FromDays(1))Timeout passed to IHost.StopAsync that will shutdown the application
Pollster__MaxErrorAllowed: int (default:
5)Maximum number of consecutive errors allowed in the pollster before it crashes Negative values disable the check
Pollster__TimeoutBeforeNextAcquisition: TimeSpan (default:
TimeSpan.FromSeconds(10))Timeout before releasing the current acquired task and acquiring a new one This happens in parallel of the execution of another task
Pollster__NbAcquisitionRetry: int (default:
3)Number of acquisitions to try during the processing of a previous task. If the processing task is still running after that many acquisitions, the Agent will stop acquiring tasks until the processing task has finished.
Pollster__SharedCacheFolder: string (default:
"/cache/shared")Root directory for per-task staging folders. Sub-directories are created here for each task and deleted after it completes
Pollster__InternalCacheFolder: string (default:
"/cache/internal")Persistent cache directory. Files are keyed by ResultId. Can be shared across multiple agent processes on the same node.
Pollster__PartitionId: string (default:
"")Identifier of the queue partition
Pollster__MessageDuplicationDelay: TimeSpan (default:
TimeSpan.FromMinutes(2))When a message is detected to be duplicated during the acquisition, delays the message release to the queue.
Pollster__ProcessingCrashedDelay: TimeSpan (default:
TimeSpan.FromSeconds(10))The delay after the agent has verified the other agent crashed before retrying the task.
Pollster__FailReadinessIfNoTasks: bool (default:
false)Indicates that readiness health check fails when no tasks are available for this pollster.
Pollster__CacheEvictionThreshold: double (default:
0)Fraction of disk space used (0–1) above which LRU eviction is triggered. Set to
0to disable caching entirely. When the cache usage reaches or exceeds this threshold, eviction policies may be applied to remove items and free up space. Adjust this value to control how aggressively the cache manages its capacity.
25.1.6. Options for Submitter
Submitter__DefaultPartition: string (default:
string.Empty)Name of the default partition in which submit tasks
Submitter__MaxErrorAllowed: int (default:
5)Specify the maximum number of errors a submitter can encounter before being considered unhealthy Negative values disable the check
Submitter__DeletePayload: bool (default:
false)Toggle payload suppression after the task is successful default: false
Submitter__DegreeOfParallelism: int (default:
0)Parallelism used in the control plane when possible. Defaults to the number of threads.
Submitter__PreferredMessageSize: int (default:
2 * 1024 * 1024)Preferred message size for streamed upload and download. Serves as the threshold to switch from unitary CreateResults to UploadResultData in client codes. The value must be less than the limit of gRPC messages accepted by the server.
25.1.7. Options for MongoDB
MongoDB__Tls: bool (default:
false)Whether to use TLS for the connection.
MongoDB__AllowInsecureTls: bool (default:
false)Whether to allow insecure TLS connections.
MongoDB__DirectConnection: bool (default:
false)Whether to connect directly to the MongoDB server, bypassing the replica set.
MongoDB__ReplicaSet: string (default:
"")Name of the replica set to connect to.
MongoDB__Host: string (default:
"")Hostname of the MongoDB server.
MongoDB__Port: int (default:
0)Port number for the MongoDB server connection.
MongoDB__CAFile: string (default:
"")Path to the Certificate Authority (CA) file for TLS connections.
MongoDB__CredentialsPath: string (default:
"")Path to the credentials file for authentication.
MongoDB__User: string (default:
"")Username for connecting to the MongoDB server.
MongoDB__ConnectionString: string (default:
"")Connection string for the MongoDB server. If not null or empty, the MongoClientSettings are derived from it. Other connection options like Host, Port, User, Password and DataBaseName are ignored in this case. That is, the connection options provided in the ConnectionString take precedence over the connection options defined in this class.
MongoDB__Password: string (default:
"")Password for connecting to the MongoDB server.
MongoDB__MaxRetries: int (default:
5)Maximum number of retry attempts for failed operations.
MongoDB__DatabaseName: string (default:
"ArmoniK")Name of the database to connect to.
MongoDB__DataRetention: TimeSpan (default:
TimeSpan.MaxValue)Duration for which data should be retained in the database.
MongoDB__TableStorage: TableStorage (default:
())Table storage configuration.
MongoDB__MaxConnectionPoolSize: int (default:
500)Maximum size of the connection pool.
MongoDB__ServerSelectionTimeout: TimeSpan (default:
TimeSpan.FromMinutes(2))Timeout duration for server selection.
MongoDB__Sharding: bool (default:
false)Whether sharding is enabled for the database.
MongoDB__AuthSource: string (default:
"")Authentication source for the MongoDB connection.
MongoDB__CausalConsistency: bool? (default:
null)Activate causal consistency for MongoDB operations.
MongoDB__LogRequest: bool (default:
false)Log requests made to the MongoDB server for debugging and monitoring purposes.
MongoDB__UseHashed: bool (default:
true)Whether to use hashed indexes when creating indexes for MongoDB collections. If true, hashed indexes will be created; otherwise, ascending indexes will be used.
25.1.8. Options for Redis
Redis__InstanceName: string (default:
"")Name of the Redis instance.
Redis__EndpointUrl: string (default:
"")Endpoint URL for the Redis server.
Redis__ClientName: string (default:
"")Client connecting to the Redis server.
Redis__SslHost: string (default:
"")Hostname for SSL connections.
Redis__Timeout: int (default:
0)Timeout duration (in milliseconds) for Redis operations.
Redis__Password: string (default:
"")Password for authenticating with the Redis server.
Redis__User: string (default:
"")Username for authenticating with the Redis server.
Redis__Ssl: bool (default:
false)Whether to use SSL for the connection.
Redis__CredentialsPath: string (default:
"")Path to the credentials file for authentication.
Redis__CaPath: string (default:
"")Path to the Certificate Authority (CA) file for SSL connections.
Redis__MaxRetry: int (default:
5)Maximum number of retry attempts for failed operations.
Redis__MsAfterRetry: int (default:
500)Duration (in milliseconds) to wait after a retry attempt.
Redis__TtlTimeSpan: TimeSpan (default:
TimeSpan.MaxValue)Key expiration time (TTL) for keys in the Redis database.
Redis__AllowHostMismatch: bool (default:
false)Whether to allow host name mismatches in SSL certificates.
25.1.9. Options for MetricsExporter
MetricsExporter__Metrics: string (default:
"")Gets or sets the metrics to be exported. This property defines the specific metrics that the exporter will handle. The metrics are separated by commas and can the following:
Creating
Submitted
Dispatched
Completed
Error
Timeout
Cancelling
Cancelled
Processing
Processed
Retried
Pending
Paused
Queued
The following metrics are always present:
Submitted
Dispatched
Processing
Queued
MetricsExporter__CacheValidity: TimeSpan (default:
TimeSpan.FromSeconds(5))Gets or sets the cache validity duration. This defines the time span for which the cached metrics are considered valid.
MetricsExporter__DegreeOfParallelism: int (default:
0)
25.1.10. Options for S3
S3__EndpointUrl: string (default:
"")Endpoint URL of the S3 bucket. Default is an empty string.
S3__Login: string (default:
"")Login credential for accessing the S3 service. Default is an empty string.
S3__Password: string (default:
"")Password associated with the login for S3 access. Default is an empty string.
S3__MustForcePathStyle: bool (default:
false)Boolean property to indicate whether path-style access should be enforced when connecting to the S3 service. Defaults to false.
S3__BucketName: string (default:
"")Name of the S3 bucket that the application will interact with. Default is an empty string.
S3__DegreeOfParallelism: int (default:
0)Number of tasks to be used in parallel execution
S3__ChunkDownloadSize: int (default:
65536)Size of one chunk when downloading an object by chunks
S3__UseChunkEncoding: bool (default:
true)Use Chunk Encoding during upload Should be disabled for GCS
S3__UseChecksum: bool (default:
true)If true, checksum will be verified by the client during upload
S3__MaxRetry: int (default:
5)Number of retry in case of a connection error
S3__MsAfterRetry: int (default:
500)Delay in milliseconds after an error
25.1.11. Options for AMQP
Amqp__Host: string (default:
"")Hostname of the AMQP server.
Amqp__CredentialsPath: string (default:
"")Path to the credentials file for authentication.
Amqp__User: string (default:
"")Username for connecting to the AMQP server.
Amqp__Password: string (default:
"")Password for connecting to the AMQP server.
Amqp__Scheme: string (default:
"")Scheme (protocol) used for the connection (e.g., “amqp”, “amqps”).
Amqp__CaPath: string (default:
"")Path to the Certificate Authority (CA) file for TLS connections.
Amqp__Port: int (default:
0)Port number for the AMQP server connection.
Amqp__MaxPriority: int (default:
0)Maximum priority level for messages in the queue.
Amqp__AllowHostMismatch: bool (default:
false)Whether to allow host name mismatches in TLS certificates.
Amqp__MaxRetries: int (default:
0)Maximum number of retry attempts for failed operations.
Amqp__LinkCredit: int (default:
0)Link credit for flow control in the AMQP connection. The minimum valued supported is 1 For more details see:
Amqp__ParallelismLimit: int (default:
0)Limit on the level of parallelism for operations. If parallelismLimit is 0, the number of threads is used as the limit. If parallelismLimit is negative, no limit is enforced.
Amqp__AllowInsecureTls: bool (default:
false)Whether to allow insecure TLS connections.
25.1.12. Options for PubSub
PubSub__ProjectId: string (default:
string.Empty)GCP project id containing the PubSub instance
PubSub__Prefix: string (default:
string.Empty)Prefix to add to the created topics and subscriptions
PubSub__MessageRetention: TimeSpan (default:
TimeSpan.FromDays(1))Minimum duration to retain a message after it it published to the topic
PubSub__AckDeadlinePeriod: int (default:
120)Acknowledgment deadline in seconds: If a message wasn’t acknowledged within this deadline, it will be redelivered .
PubSub__AckExtendDeadlineStep: int (default:
60)Time in seconds between two modifications of acknowledgment deadline
PubSub__KmsKeyName: string (default:
string.Empty)Name of the KMS key used to protect messages
PubSub__MessageOrdering: bool (default:
false)Option to force the ordering of messages (queue property)
PubSub__ExactlyOnceDelivery: bool (default:
false)Guarantee that messages are not duplicated at Pub/Sub level
25.1.13. Options for SQS
SQS__ServiceURL: string (default:
string.Empty)AWS endpoint containing the SQS instance
SQS__Prefix: string (default:
string.Empty)Prefix to add to the created topics and subscriptions
SQS__Tags: Dictionary<string, string> (default:
())AWS Tags to add to the Queues when they are created
SQS__AckDeadlinePeriod: int (default:
120)Acknowledgment deadline in seconds: If a message wasn’t acknowledged within this deadline, it will be redelivered .
SQS__AckExtendDeadlineStep: int (default:
60)Time in seconds between two modifications of acknowledgment deadline
SQS__WaitTimeSeconds: int (default:
20)SQS long polling wait time in seconds (1-20). Set to 0 in order to disable long polling.
SQS__DegreeOfParallelism: int (default:
0)Parallelism used in the control plane when possible. Defaults to the number of threads.
SQS__MaxPriority: int (default:
0)Number of priority levels supported. Each priority level will create its own SQS topic.
SQS__Attributes: Dictionary<string, string> (default:
())Attributes of the created SQS Attributes reference can be found in AWS documentation
SQS__MaxRetries: int (default:
5)Maximum number of retry attempts for failed operations.
SQS__UseSessionMessageGroupId: bool (default:
false)Use the message group Id SQS property to ensure that messages are sent within groupId.