> For the complete documentation index, see [llms.txt](https://docs.replex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.replex.io/settings/custom-cost.md).

# Custom Cost

The **Custom Cost** section of the **Settings Page** allows admins to edit, review, delete and add custom cost models to their Kubernetes environments.&#x20;

This functionality is especially useful for organisations running Kubernetes environments on privately hosted infrastructure, on premises or private cloud.&#x20;

The Custom Cost feature supports both regular **Node Types** as well as **GPUs**.

Admins can add **Node Types** with custom **CPU cores** and **RAM capacity** reflecting their private infrastructure. In addition, admins can also add a **Total Cost/h**, **CPU Cost/h** and **RAM Cost/h** for their custom nodes. Custom GPU types with specific **Models**, **Regions** and **Cost/h** can also be added.

The ability to add custom node and GPU types enables Replex to provide accurate cost allocation and chargeback for privately hosted Kubernetes environments.

### Add Custom Node Type

To add a new custom node, click on **+ Add Node Type** in the top right of the **Node Types** section.&#x20;

On the next screen, name the new node type and optionally input the **Operating System** and **Region** of the node. &#x20;

Next toggle between **Total Cost** and **Split Cost** to choose whether to input CPU and RAM costs for that node combined or individually.&#x20;

When entering combined costs (Total Cost) you are required to enter **Total Cost/h**, the **Number of CPU Cores** and **Gigabyte of RAM** for the custom node.

![Add New Custom Node Type](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-McydXTsBZ0M_QSM3n0m%2F-Mcye-H8cMNBRL4WInW_%2FNew-Node-Type-Replex.png?alt=media\&token=eccecac4-0a09-4131-b72d-b1afe9eca255)

Alternatively, when entering cost individually (Split Cost) you are required to enter **CPU Cost/h** and **RAM Cost/h** for that node type. You can also optionally enter the **Number of CPU Cores** and **Gigabyte of RAM**.

![Add New Custom Node Type](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md1gfDm9QvclGhP4nc4%2F-Md1h8bUBc9jJf3nYfAP%2FNew-Node-Type-Replex%20\(2\).png?alt=media\&token=ac99d8e6-9779-4194-a391-658d998165ed)

Click **Save** to create the new node type.&#x20;

This will create the new custom node and populate it in the **Node Types** section of the **Custom Cost** screen.

### Add Multiple Node Types

Multiple node types can be added using the csv file upload functionality.&#x20;

When adding multiple node types, Kubernetes admins can opt to split CPU and RAM costs for those nodes and upload the cost model using the **Split Cost** csv format.&#x20;

Alternatively they can combine CPU and RAM costs for node types and upload the cost model using the **Total Cost** csv format.

{% hint style="info" %}
Split Cost csv format for adding multiple node types:
{% endhint %}

| type;              | cpu\_cost; | ram\_cost; | cpu\_cores; | ram\_gb | operating\_system; | region |
| ------------------ | ---------- | ---------- | ----------- | ------- | ------------------ | ------ |
| instance\_type\_a; | 0.09;      | 0.37;      | 4;          | 16      | linux;             | west-1 |
| instance\_type\_b; | 0.117;     | 0.8236;    | 8;          | 32      | linux;             | west-2 |

{% hint style="info" %}
Total Cost csv model for adding multiple node types:
{% endhint %}

| type;              | total\_cost; | cpu\_cores; | ram\_gb | operating\_system; | region |
| ------------------ | ------------ | ----------- | ------- | ------------------ | ------ |
| instance\_type\_a; | 0.09;        | 4;          | 16      | linux;             | west-1 |
| instance\_type\_b; | 0.117;       | 8;          | 32      | linux;             | west-2 |

Once the csv has been formatted correctly click **Upload CSV** in the top right of the **Node Types** section.&#x20;

Click **Choose File** in the pop-up screen, choose the csv and click **Upload**.

![Upload Custom Cost CSV](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md1CJXlmvDRAYEKgrTb%2F-Md1gYA7_ZsIHViSz3Rs%2FCustom-Cost-Replex.png?alt=media\&token=0cb23a49-d976-43c2-bc5c-50ca4d5a50db)

Once uploaded, the custom node types will be populated in the **Node Types** section of the **Custom Cost** screen.. &#x20;

### Edit or Remove Node Types

Admins can edit previously added **Node Types** by clicking the edit icon in front of each node. &#x20;

![Edit Node Type](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md1qVrxRdRyoM9_XLcq%2F-Md1qnvP59CpZyeHsc08%2FEdit-Node-Type-Replex.png?alt=media\&token=6ec40c80-06e0-403b-8006-259ca975f81f)

Previously added **Node Types** can be deleted by clicking on the delete icon in front of each node.

### Add Custom GPU Type

To add a new **GPU Type**, click on **+ Add GPU Type** in the top right of the **GPU Types** section of the **Custom Cost** screen.

On the next screen, enter the **Model** and **Cost/h** of the GPU type. Optionally enter the **Region of the GPU**. &#x20;

![Add New GPU Type](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md1rFiq73MPw0u5iTNs%2F-Md1y9eAK1C6J9cTsBuB%2FNew-GPU-Type-Replex.png?alt=media\&token=3d434820-fc47-4fa2-b1c5-bab55f355fb8)

Click **Save** to create the new GPU type.&#x20;

This will create the new GPU type and populate it in the **GPU Types** section of the **Custom Cost** screen.

### Add Multiple GPU Types

Multiple GPU types can be added using the csv file upload functionality.&#x20;

To add a new csv file, click on **Upload CSV** in the top right of the **GPU Types** section.

Click **Choose File** in the pop-up screen, choose the csv and click **Upload**.

![Add Multiple GPU Types](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md2-BG2zRAI1v05SKcs%2F-Md204ZfmdG63Mw28vFp%2FCustom-Cost-Replex%20\(2\).png?alt=media\&token=24d537a3-6e62-4d3b-87df-cfe95e76a13e)

{% hint style="info" %}
The uploaded csv should follow the following format:&#x20;
{% endhint %}

| model;                | cost\_hourly; | region; |
| --------------------- | ------------- | ------- |
| nvidia-rtx-2080;0.09; | 5.5;          | west-1  |
| nvidia-tesla-t4;      | 2.1;          | west-2  |

Once uploaded the new GPU types will be populated in the **GPU Types** section.&#x20;

### Edit or Remove GPU Types

Admins can edit previously added **GPU Types** by clicking the edit icon in front of each GPU. &#x20;

![Edit GPU Type](https://4068579783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFGA2pJIFrMdGZ5i84m%2F-Md22-t0fCU5aegTZE3S%2F-Md229OaJdpYhTtDySV-%2FEdit-GPU-Type-Replex.png?alt=media\&token=a149bb45-dd8a-458e-91ae-664fff7ff779)

Previously added **GPU Types** can be deleted by clicking on the delete icon in front of each GPU.
