# Running on premises

{% hint style="danger" %}
This article is under construction. Please refer to your LIBNOVA contact for more information.
{% endhint %}

The LABDRIVE platform can be used running in the cloud, delivered by LIBNOVA as a service, or in your own infrastructure.

This article provides information on how to deploy, test and operate an on-premises deployment.

### Requirements&#x20;

Running LABDRIVE on premises requires the following elements:

* Database service
* Indexing service
* Kubernetes cluster
* CEPH-based storage
* Monitoring facilities
* Backup infrastructure

#### Topology

![](https://2290386118-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MVFE6MnOK93sACDCxxx%2Fuploads%2F0hfoUKdL28B3X4ZaNOhC%2Fimage.png?alt=media\&token=08b0b920-ba2f-4859-a2d8-825b3d546683)

#### Database service

LABDRIVE keeps most of your content information in a MySQL database, with the following being required:

* Managed MySQL v5.7 Database cluster.
* For low-medium volume repositories, the database cluster should scale to minimum of 5.000 concurrent connections. For medium-large repositories, it should be capable of scaling at least to 10.000 concurrent connections, all handled with minimal latency and maximum throughput.
* An account with *root* permissions should exist for the installation.

#### Elasticsearch indexing service

Logs, metadata and other information is kept in an Elasticsearch-based index, with the following being required:

* Managed Elasticsearch 7.1 cluster, with a minimum  of 3 master nodes and 4 data nodes, with at least 200GB of fast storage each.

#### Kubernetes cluster

Platform Processing is performed within a Kubernetes cluster, with the following being required:

Managed Kubernetes cluster:

* With at least 3 worker nodes with 100GB of fast storage each.
* Load Balancer and Ingress controllers
* Support for PVCs (Persistent Volume Claims)
* Support for concurrent storage access (Nodes will need to access a shared, persistent volume)
* Networking between pods already configured.

{% hint style="info" %}
For low-medium volume repositories, expect a workload between 200 and 300 pods running concurrently. For medium-high, expect 300-800 concurrent pods. Cluster networking should support the pods.
{% endhint %}

#### CEPH-based storage

Preserved content is finally stored in a CEPH cluster, with the following being required:

Managed CEPH v16 Cluster:

* The CEPH S3 endpoint should be externally accesible, so both LABDRIVE and LABDRIVE clients/users can reach it.
* S3 notifications enabled (using HTTP or AMQP)
* Notifications can be synchronous (slower writes) or asynchronous (faster, provided that the log pool is placed on fast media)

{% hint style="info" %}
Redundancy and availability as required by your use case.
{% endhint %}

#### Monitoring facilities

For production environments, the platform should be monitored, with the following being required:

* Zabbix version 6 monitoring platform.

### Deployment process

*In progress*

### Initial configuration

*In progress*

### Testing

*In progress*

### Operation and maintenance&#x20;

*In progress*
