22.1. Environment Variables exposed in ArmoniK.Core

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

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

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

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

22.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")

    Shared folder between Agent and Worker

  • Pollster__InternalCacheFolder: string (default: "/cache/internal")

    Internal cache for data

  • 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.75)

    Gets or sets the threshold as a storage size fraction at which cache eviction is triggered. 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.

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

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

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

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

22.1.10. Options for PartitionMetricsExporter

  • PartitionMetricsExporter__Host: string (default: "localhost")

    Host of the metrics exporter

  • PartitionMetricsExporter__Port: int (default: 80)

    Port of the metrics exporter

  • PartitionMetricsExporter__Path: string (default: "/metrics")

    Path to access the metrics

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

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

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

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