1. ArmoniK.Core
1.1. What is ArmoniK.Core?
This project is part of the ArmoniK project. ArmoniK.Core is responsible for the implementation of the services needed for ArmoniK which are defined in ArmoniK.Api.
ArmoniK.Core provides services for submitting computational tasks, keeping track of the status of the tasks and retrieving the results of the computations. The tasks are processed by external workers whose interfaces are also defined in ArmoniK.Api. ArmoniK.Core sends tasks to the workers, manages eventual errors during the execution of the tasks and manages also the storage of the task’s results.
More detailed information on the inner working of ArmoniK.Core is discussed in the Project componets section.
1.2. Installation
ArmoniK.Core can be installed only on Linux machines. For windows users, it is possible to do it on WSL2.
1.2.1. Prerequisites
Terraform version >= 1.4.2
Just >= 1.29.0
Dotnet >= 10.0
Docker >= 20.10.16
GitHub CLI>= 2.23.0 (optional)
1.2.2. Quick Start
New to ArmoniK.Core? The Quick Start guide walks you through prerequisites, a first local deployment, and running your first integration test — all in under 15 minutes.
1.2.3. Local deployment
To deploy ArmoniK.Core locally, you need first to clone the repository ArmoniK.Core. Then, to see all the available recipes for deployment, place yourself at the root of the repository ArmoniK.Core where the justfile is located, and type on your command line:
just
More about local deployment, see Local Deployment of ArmoniK.Core.
1.2.4. Tests
There are a number of tests that help to verify the successful installation of ArmoniK.Core. Some of them depend of ArmoniK.Core deployment, others do not.
More about tests, see Tests in ArmoniK.Core.
1.3. Environment Variables Reference
All configurable environment variables are documented and published at armonikcore.readthedocs.io in the Environment Variables section. The documentation is auto-generated from the source code using ArmoniK.Utils.DocExtractor.
To generate the reference locally, run:
dotnet tool install -g ArmoniK.Utils.DocExtractor
cd .docs/content/envars/
armonik.utils.docextractor -s ../../ArmoniK.Core.sln
The generated files will appear in .docs/content/envars/. You can also cross-reference the environment variables documented inline in the concept pages:
Initialization flags: Initialization
Cache configuration: Cache
Authentication: Authentication
Partitions: Partitions
1.4. Contribution
Contributions are always welcome!
See ArmoniK.Community for ways to get started.