> 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](/files/-Mcye-H8cMNBRL4WInW_)

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](/files/-Md1h8bUBc9jJf3nYfAP)

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](/files/-Md1gYA7_ZsIHViSz3Rs)

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](/files/-Md1qnvP59CpZyeHsc08)

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](/files/-Md1y9eAK1C6J9cTsBuB)

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](/files/-Md204ZfmdG63Mw28vFp)

{% 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](/files/-Md229OaJdpYhTtDySV-)

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