# Resource Quotas

{% hint style="info" %}
For guidance on setting quotas in Kubernetes, refer to the official documentation: [Kubernetes Resource Quotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/).
{% endhint %}

### Resource Requirements:

All jobs are exclusively created in the **install namespace**(namespace where T4K is installed), and as such, quotas are only required for that namespace.

#### Target Validation:

<table><thead><tr><th>Resource</th><th width="146">Resource Kind</th><th>Resource Type</th><th>Number of PVCss</th><th>Number of Pods</th></tr></thead><tbody><tr><td>Target Validator</td><td>Job</td><td>Ephemeral</td><td>1 PVC (for NFS Storage)</td><td>1 Pod</td></tr></tbody></table>

{% hint style="info" %}
Note: While the Target Validator pod is ephemeral, the associated PVC remains static.
{% endhint %}

#### Target Browsing:

<table><thead><tr><th>Resource</th><th width="146">Resource Kind</th><th>Resource Type</th><th>Number of PVCss</th><th>Number of Pods</th></tr></thead><tbody><tr><td>Target Browser</td><td>Deployment</td><td>Static</td><td>1 PVC (for NFS Storage)</td><td>1 Pod</td></tr></tbody></table>

#### Backup or Restore:

1. The jobs in the install namespace are ephemeral. They'll be automatically removed when their related operations are successfully completed.
2. In the event of an operation failure, the corresponding job will persist. To clean up any remaining failed jobs, you can do so by deleting the respective operation's Custom Resource.

**Quota requirements for sample application with 5 PVCs**

This is an example for an application with 5PVCs. Make sure to tailor the quota settings to match the specific PVC requirements of your application.

<table><thead><tr><th>Resource</th><th width="172">Resource Kind</th><th>Number of PVCs</th><th>Number of Pods</th></tr></thead><tbody><tr><td>DataMover (for an application with 5 PVCs)</td><td>5 Jobs</td><td>5 PVCs</td><td>5 Pods</td></tr><tr><td>MetaMover</td><td>2 Jobs</td><td>-</td><td>2 Pods</td></tr><tr><td>Image Backup</td><td>1 Job</td><td>-</td><td>1 Pod</td></tr><tr><td>Retention</td><td>1 Job</td><td>-</td><td>1 Pod</td></tr><tr><td>Hook (Quiesce)</td><td>1 Job</td><td>-</td><td>1 Pod</td></tr><tr><td>Hook (UnQuiesce)</td><td>1 Job</td><td>-</td><td>1 Pod</td></tr></tbody></table>

{% hint style="warning" %}
If sufficient quota for any of the resources is not available then operation might result in failure. With above example, if you have quota of 4 PVCs only, then creation of 5th PVC will fail which will result in failed Backup
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.trilio.io/kubernetes/reference/tvk-pod-job-capabilities/resource-quotas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
