# Software Requirements

Before installing the infrastructure and core components of Aizen, check that your cluster has all the required software installed on it.

| Required Software        | Description                                                                                                                                                                                                                                                                                                       |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Kubernetes cluster 1.26+ | Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, which facilitates both declarative configuration and automation.                                                                                                                                    |
| Persistent storage class | Aizen uses persistent volumes (PV) for storing ephemeral cache and transient data. It needs a storage class that can dynamically provision volumes. This storage should have high performance, typical of the SSD class. Storage class options are available for public or private cloud and on-prem deployments. |
| Object storage           | Aizen needs scalable cloud storage for object storage.                                                                                                                                                                                                                                                            |
| Helm 3.2.0+              | Helm is a tool that automates creation, packaging, configuration, and deployment of Kubernetes applications into a single, reusable package.                                                                                                                                                                      |
| kubectl                  | kubectl is a command-line tool that enables communications between the Kubernetes API and the control plane. It allows application deployment, cluster resource management, and resource monitoring.                                                                                                              |
| Ingress infrastructure   | Ingress is a load balancer for Kubernetes clusters using standard protocols.                                                                                                                                                                                                                                      |
| Docker Hub credentials   | Docker Hub credentials are necessary to access microservice images.                                                                                                                                                                                                                                               |
|                          |                                                                                                                                                                                                                                                                                                                   |

To install and configure the required software, see [setting-up-your-environment](../setting-up-your-environment "mention").

## Adding the Aizen Helm Charts

Helm charts for Aizen are available in the GitHub repository: [https://aizen-corp.github.io/helm-charts/aizen](https://aizen-corp.github.io/helm-charts/aizen).

Add the Aizen Helm chart repository to your cluster's environment by running these Helm commands:

{% code overflow="wrap" %}
```
helm repo add aizen https://aizen-corp.github.io/helm-charts/aizen
helm repo update
```
{% endcode %}

If you are doing model training on GPU nodes, you will need to add the Aizen Helm charts for deploying Aizen remote components. Run these Helm commands:

{% code overflow="wrap" %}
```
helm repo add aizenremote https://aizen-corp.github.io/helm-charts/aizenremote
helm repo update
```
{% endcode %}

## Getting Credentials for the Aizen Microservice Images

All microservice images for Aizen are privately hosted in Docker Hub ([hub.docker.com](https://hub.docker.com)). To use them, contact the Aizen support team (support@aizencorp.com) to get read-only credentials.
