> 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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.replex.io/settings/custom-cost.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
