Skip to main content

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):

ResourcesRequirements
CPU32 Cores
MemoryAt least 64GB of RAM
StorageAt least 300TB (SSD/HDD)

1x Artemis LLM Workers

The desired hardware requirements for lightweight workers that power the LLM interactions of Artemis (1 machine):

ResourcesRequirements
CPU64 Cores
MemoryAt least 128GB of RAM
StorageAt 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.

ResourcesRequirements
CPU64 Cores
MemoryAt least 128GB of RAM
StorageAt 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

ResourcesRequirements
GPUNvidia CUDA-capable GPU / Intel® Data Center GPU Max 1550 / Gaudi 2
CPU64 Cores
MemoryAt least 128GB of RAM
StorageAt 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:

  1. We can allocate to you a unique username and password, permitting direct pulling privileges.
  2. 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:

  1. 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.
  2. 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
  1. Ensure access to the remote image registry.
    • docker login (username and password should be provided by TurinTech)
  2. Extract the configuration (.zip file, provided by TurinTech) into a folder named artemis.
  3. Navigate to the artemis directory and run the following commands:
    • make deploy
    • make create-users
  4. Access the Artemis platform at http://<machine-ip>:80
Kubernetes Cluster
  1. Get access to our deployment CLI
  2. Ensure the access to the remote image registry
  3. Ensure the access to the Kubernetes Cluster
  4. Execute the Artemis CLI
  5. Check and configure connectivity to the cluster ./artemis config cluster
  6. Deploy Artemis and input prompted information ./artemis deploy up

Environment without access to the internet (air-gapped Installation)

  1. Get access to our deployment CLI
  2. Get access to Artemis required images and transfer them to your in-house private registry
  3. Import images from the single tar file ./artemis bundle import
  4. Transfer the images directly ./artemis transfer –dest <registry>
  5. Ensure the access to the Kubernetes Cluster
  6. Execute the Artemis CLI
  7. Check and configure connectivity to the cluster ./artemis config cluster
  8. 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.