On-premise deployment guide
This section covers instructions and recommendations to set up Artemis in a Kubernetes environment. The guide covers the prerequisites for setting up the environment and steps for installation, and details regarding the images and tools used by the platform. The installation is straightforward and does not require users to have any specific knowledge.
Prerequisites
Note below the minimum and recommended hardware and software requirements to deploy Artemis.
Hardware
1x Artemis Services
The desired hardware requirements for the services required by Artemis (1 machine):
Resources | Requirements |
---|---|
CPU | 32 Cores |
Memory | At least 64GB of RAM |
Storage | At least 300TB (SSD/HDD) |
1x Artemis LLM Workers
The desired hardware requirements for lightweight workers that power the LLM interactions of Artemis (1 machine):
Resources | Requirements |
---|---|
CPU | 64 Cores |
Memory | At least 128GB of RAM |
Storage | At least 500GB (SSD/HDD) |
1x Artemis Code Execution Workers (Optional)
The desired hardware requirements for workers needed to enable the code execution features of Artemis. Those workers eventually will scale with the number of applications being executed.
Resources | Requirements |
---|---|
CPU | 64 Cores |
Memory | At least 128GB of RAM |
Storage | At least 500GB (SSD/HDD) |
Self-Hosted LLMs (Optional)
Note 1: For self-hosted LLM capabilities, an environment with GPU(s) is required. Exact specifications depend on the LLMs chosen to deploy. (However, we would need to run a Llama 3 8B model and a 70B model for inference). Exact VRAM requirements for each LLM can be found here: VRAM requirements for LLMs
Resources | Requirements |
---|---|
GPU | Nvidia CUDA-capable GPU / Intel® Data Center GPU Max 1550 / Gaudi 2 |
CPU | 64 Cores |
Memory | At least 128GB of RAM |
Storage | At least 1TB (SSD/HDD) |
Note 1: GPU capabilities are optional to operate Artemis, but we would recommend NVIDIA Pascal or better with compute capability 6.0+
Note 2: The operation system on Kubernetes cluster can be any Linux based distribution.
Note 3: To enable GPU capabilities on on-premise deployments you have to install NVIDIA/Cuda drivers and NVIDIA container toolkit.
Kubernetes Cluster
Artemis needs a Kubernetes cluster to operate. We have been tested and verified to successfully support the following cloud and on-premise clusters:
Cloud
On Premise
Container Image Registry
An image registry is required for air-gapped environments to host all the images that synthesize Artemis product. Some image registries that can be used are:
- Sonatype Nexus
- JFrog Artifactory
- Other image registries
Configuration files and Images
Artemis configuration employs a combination of public and proprietary helm charts. The primary sources for public charts are derived mainly from Bitnami. In contrast, the configuration files, which are essential to build the core components of Artemis, are based on exclusive, internally developed helm charts. Together, these helm charts refer to a total of 25 distinct images:
- 12 proprietary Artemis images
- 13 publicly available images
The publicly available images are hosted on Docker Hub, a universally accessible platform, and can be extracted directly. Conversely, our confidential images are securely housed within both AWS ECR repositories and Docker Hub repositories, ensuring maximum security.
To promote enhanced accessibility and flexibility, we've devised two methods for sharing these images:
- We can allocate to you a unique username and password, permitting direct pulling privileges.
- In a commitment to streamline the process, we have encapsulated all the required images into a single tar file (43.8 GB). This file can be disseminated via an AWS S3 URL that is preconfigured and can be sent to your email. Alternatively, we can grant access to our private SFTP server for the file download.
When it comes to relocating these images to your registry, we provide a well-structured, user-friendly method. You can utilize our deployment CLI, which makes the transfer process far more streamlined and manageable. Our CLI operates as a wrapper around Skopeo, a popular tool renowned for its efficiency in image transfers. This potent combination allows for a straightforward and seamless relocation of images.
Deployment CLI
To streamline the process of deploying Artemis onto a Kubernetes cluster, we've custom-engineered a command-line interface (CLI) using Node.js. This all-inclusive package integrates crucial Kubernetes software like kubectl, helm, and skopeo. By serving as a wrapper around these fundamental tools, our CLI simplifies the deployment of configuration files into the cluster, rendering the process swift and straightforward.
Crucially, we've designed our CLI to be a cross-platform executable. This means it supports an extensive range of operating systems and architectures to enhance its adaptability and broaden its usability.
To maximize accessibility and flexibility, we've created two methods for disseminating this custom CLI:
- Via AWS S3 URL: This URL will be shared via email and will remain active for 12 hours. Using this method ensures secure, time-limited access to the CLI, providing a controlled environment for its distribution.
- Via our SFTP server: As a direct alternative, users can connect to our SFTP server to download the CLI. This method ensures immediate and convenient access.
By employing these dual-access options, we've significantly broadened the accessibility of our custom CLI. The overarching aim is to simplify the task of deploying Artemis onto a Kubernetes cluster for all users.
Installation
Our platform is fine-tuned to guarantee a seamless installation, irrespective of your target machine's network connectivity. We'll be detailing how to install Artemis on Kubernetes clusters in the upcoming sections, covering both scenarios: machines with internet access and air-gapped environments. Please note, however, that during a GPU deployment, the deployment process could be further enriched.
Installation Steps
Environment with access to the internet
Single Machine/VM
- Ensure access to the remote image registry.
docker login
(username and password should be provided by TurinTech)
- Extract the configuration (.zip file, provided by TurinTech) into a folder named
artemis
. - Navigate to the
artemis
directory and run the following commands:make deploy
make create-users
- Access the Artemis platform at
http://<machine-ip>:80
Kubernetes Cluster
- Get access to our deployment CLI
- Ensure the access to the remote image registry
- Ensure the access to the Kubernetes Cluster
- Execute the Artemis CLI
- Check and configure connectivity to the cluster
./artemis config cluster
- Deploy Artemis and input prompted information
./artemis deploy up
Environment without access to the internet (air-gapped Installation)
- Get access to our deployment CLI
- Get access to Artemis required images and transfer them to your in-house private registry
- Import images from the single tar file
./artemis bundle import
- Transfer the images directly
./artemis transfer –dest <registry>
- Ensure the access to the Kubernetes Cluster
- Execute the Artemis CLI
- Check and configure connectivity to the cluster
./artemis config cluster
- Deploy Artemis and input prompted information
./artemis deploy up
Browser Support
Artemis is thoroughly tested and optimized for compatibility with Chrome, Firefox, and Edge. To guarantee an optimal user experience, we strongly advocate using the most recent version of Chrome. While Artemis supports Firefox and Edge, performance may vary, and certain issues may arise when utilizing older versions of these browsers or alternative web browsers. Always keep your browsers updated to benefit from the best experience.
Appendix
Container Images
Publicly Available Images
- docker.io/stakater/reloader:v1.0.121
- docker.io/bitnami/kafka:3.8.0-debian-12-r5
- docker.io/bitnami/mongodb:7.0.12-debian-12-r4
- docker.io/bitnami/postgresql:16.4.0-debian-12-r9
- docker.io/bitnami/rabbitmq:3.13.7-debian-12-r2
- docker.io/bitnami/redis:7.4.0-debian-12-r4
- docker.io/qdrant/qdrant:v1.11.4
- docker.io/bitnami/minio:2024.9.13-debian-12-r0
Private Available Images
- docker.io/turintech/loki:1.12.4
- docker.io/turintech/enigma-backend:1.12.4
- docker.io/turintech/thor:1.12.4
- docker.io/turintech/falcon:1.6.2
- docker.io/turintech/vision:1.6.2
- docker.io/turintech/ui:1.6.2
- docker.io/turintech/code-optimiser:1.6.2
- docker.io/turintech/misc-workers:1.6.2
- docker.io/turintech/pair-coder:1.6.2
- The required images list can be changed due to the rapid development of Artemis.