---
# System prepended metadata

title: Local Deployment of ArmoniK Core
tags: [A]

---

# Local Deployment of ArmoniK Core

Deployment is done via a set of [terraform](https://github.com/aneoconsulting/ArmoniK.Core/tree/main/terraform) modules whose functionality is to set up a "simplified infrastructure" in which all different services composing ArmoniK.Core may interact with each other. Each module takes care of fetching the necessary docker images, in case of the external dependencies of the code, e.g., database, queue, etc. And either building or fetching existing
images of the different components of ArmoniK.Core.

In order the facilitate the deployment without the burden of defining dozens of terraform variables, we make use of the [just](https://github.com/casey/just) command runner, which among many useful functionalities, allows us to pass variables to our`make`-like recipes.

The following command shows all the available recipes, with all the parameters that you can pass to each recipe. 
```
cd [ArmoniK.Core repository]
just 
```

Some of the main recipes include:
- Build recipes : allow to build one or more docker images.
- Deploy recipes : allow to deploy ArmoniK Core or specific components of it.
- Destroy recipes: allow to destroy a deployment.

Here is the full recipe for deployment:
```
just tag=<tag> queue=<queue> worker=<worker> object=<object> replicas=<replicas> partitions=<number of partitions> local_images=<bool> deploy
```

The main parameters for the recipes are:
- tag: tag of the docker image(s).
- worker: worker that runs the tasks 
- object: object storage that store tasks data and results
- queue: queue used by ArmoniK.Core to publish messages
- replicas: number of polling agents / worker to be replicated 
- partitions: number of partitions
- local_images: 
 To see the options for those parameters, please refer to the output of the just command. 
