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 ArmoniK.Core.Base.IDependencyInjectionBuildable 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 ArmoniK.Core.Base.IDependencyInjectionBuildable 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 ArmoniK.Core.Base.IDependencyInjectionBuildable 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.

  • InitWorker__WorkerCheckTimeout: TimeSpan (default: TimeSpan.FromSeconds(5))

    Maximum time to wait for a worker health check RPC to complete. A short deadline ensures a lost gRPC connection is detected quickly instead of hanging until the OS TCP stack times out.

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__PendingRetryDelay: TimeSpan (default: TimeSpan.FromMilliseconds(100))

    Delay between consecutive re-reads of a task that is still in Pending status during acquisition, to allow the submitter time to complete the transition to Submitted.

  • Pollster__NbPendingRetry: int (default: 3)

    Number of times to re-read a Pending task before postponing the message. Covers the window between the queue push and the status update to Submitted that occurs during task submission.

  • 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 0 to 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 Gcs

  • Gcs__ProjectId: string (default: "")

    Google Cloud project identifier owning the bucket.

  • Gcs__BucketName: string (default: "")

    Name of the bucket that the application will read from and write to.

  • Gcs__CredentialsFilePath: string (default: "")

    Path to a service-account JSON credentials file. When empty, Application Default Credentials are used.

  • Gcs__EmulatorEndpoint: string (default: "")

    Custom base URI used to target an emulator (e.g. fake-gcs-server). When empty, the real Google Cloud Storage endpoint is used.

  • Gcs__DegreeOfParallelism: int (default: 0)

    Number of tasks to be used in parallel execution (deletes, metadata lookups).

  • Gcs__ChunkDownloadSize: int (default: 2 * 1024 * 1024)

    Size of one chunk when downloading an object by chunks

  • Gcs__MaxRetry: int (default: 5)

    Number of retry in case of a connection error

  • Gcs__MsAfterRetry: int (default: 500)

    Delay in milliseconds after an error

25.1.12. 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.

  • Amqp__Prefix: string (default: "")

    Path prefix for the AMQP resources.

  • Amqp__Separator: string (default: "###")

    Separator inserted between the partition ID and the queue/link index in AMQP resource names.

25.1.13. 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.14. Options for SQS

  • SQS__ServiceURL: string (default: string.Empty)

    URL of the AWS endpoint hosting the SQS service. Leave empty to use the default AWS endpoint resolution (recommended for production). Override for local testing (e.g. http://localhost:4566 for LocalStack).

  • SQS__Prefix: string (default: string.Empty)

    String prepended to every queue name created by this adapter. Useful to disambiguate queues when multiple ArmoniK deployments share the same AWS account.

  • SQS__Tags: Dictionary<string, string> (default: ())

    AWS resource tags applied to each queue at creation time. Keys and values must comply with AWS tagging rules .

  • SQS__AckDeadlinePeriod: int (default: 120)

    Visibility timeout in seconds for received messages. A message that has not been deleted within this window becomes visible again and will be redelivered. Defaults to 120 seconds.

  • SQS__AckExtendDeadlineStep: int (default: 60)

    Interval in seconds at which the visibility timeout is renewed for messages that are still being processed. Must be strictly less than AckDeadlinePeriod to avoid premature redelivery. Allow sufficient buffer time to account for clock skew and processing delays. Defaults to 60 seconds.

  • SQS__WaitTimeSeconds: int (default: 20)

    Duration in seconds the adapter waits for messages during a single SQS ReceiveMessage call. Valid range is 0–20. 0 uses short polling; 1–20 uses long polling. Long polling is recommended as it reduces empty responses and lowers cost. Defaults to 20 seconds.

  • SQS__DegreeOfParallelism: int (default: 0)

    Maximum number of concurrent operations when the adapter processes items in parallel. Set to 0 to use the number of logical processors on the machine ( System.Environment.ProcessorCount ).

  • SQS__MaxPriority: int (default: 0)

    Number of distinct priority levels. One SQS queue is created per priority level. Set to 0 to disable priority-based routing (single queue).

  • SQS__Attributes: Dictionary<string, string> (default: ())

    Additional SQS queue attributes applied at queue creation time (e.g. FifoQueue , KmsMasterKeyId ). These are merged with any attributes set by the adapter itself; adapter-managed attributes take precedence. For the full list of supported attributes, see the AWS CreateQueue API reference .

  • SQS__MaxRetries: int (default: 5)

    Maximum number of retry attempts for transient AWS SDK errors before the operation is considered failed. Defaults to 5 .

  • SQS__UseSessionMessageGroupId: bool (default: false)

    When true , the SQS MessageGroupId attribute is set to the task’s session ID, ensuring that all messages belonging to the same session are delivered in order on a FIFO queue. Requires the target queues to be FIFO queues (suffix .fifo ). Defaults to false .