Skip to content
Open

Pr/6975 #7251

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
aad1fee
rename overrides to overridesConfig
bogdan-st Aug 15, 2025
60d09fb
initial overrides api draft
bogdan-st Aug 15, 2025
9e8166d
Merge branch 'master' into overrides_api
bogdan-st Aug 15, 2025
f97b319
fix docs and integration tests
bogdan-st Aug 15, 2025
608f1ab
remove from all target
bogdan-st Aug 18, 2025
15f9f3c
remove consul and unneeded flags from test
bogdan-st Aug 20, 2025
a2a7665
missed some
bogdan-st Aug 25, 2025
5e21b22
suggestions
bogdan-st Sep 8, 2025
61632a1
Merge branch 'master' into overrides_api
bogdan-st Sep 8, 2025
dff25e3
sugestions from dsabsay
bogdan-st Sep 20, 2025
8e50e9a
lint
bogdan-st Sep 20, 2025
06195e0
lint2
bogdan-st Sep 20, 2025
8ba408b
modernize?
bogdan-st Sep 20, 2025
9a1bb28
Merge upstream/master into overrides_api
bogdan-st Dec 2, 2025
4d9e7c7
fix import
bogdan-st Dec 2, 2025
83b1b7d
fix sum
bogdan-st Dec 2, 2025
255d648
Merge branch 'master' into overrides_api
friedrichg Jan 27, 2026
d2e8c3a
Missing from rebase
friedrichg Jan 27, 2026
1640ed0
Modernize again
friedrichg Jan 27, 2026
1b33cea
fix merging
friedrichg Jan 27, 2026
5dd9cd7
Modernize it
friedrichg Jan 28, 2026
cd5e8d4
Close bucket when stopping to prevent leakage
friedrichg Jan 28, 2026
3ceffe9
Include initial guide on overrides API
friedrichg Jan 28, 2026
fa29aa7
Make sure limits include maximum
friedrichg Jan 28, 2026
9257ce5
Very unlikely, let's remove it
friedrichg Jan 28, 2026
9cc96fd
Merge pull request #1 from cortexproject/pr/6975
bogdan-st Jan 29, 2026
9336c34
Fix more things
friedrichg Feb 9, 2026
b070ba2
Make sure readers are closed
friedrichg Feb 9, 2026
8277244
Merge branch 'master' into pr/6975
friedrichg Feb 9, 2026
03a9e9d
Fix tests
friedrichg Feb 9, 2026
c431a56
Move tests to its own testing thread
friedrichg Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/test-build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,9 @@ jobs:
- runner: ubuntu-24.04
arch: amd64
tags: integration_memberlist
- runner: ubuntu-24.04
arch: amd64
tags: integration_overrides
- runner: ubuntu-24.04
arch: amd64
tags: integration_querier
Expand All @@ -210,6 +213,9 @@ jobs:
- runner: ubuntu-24.04-arm
arch: arm64
tags: integration_memberlist
- runner: ubuntu-24.04
arch: arm64
tags: integration_overrides
- runner: ubuntu-24.04-arm
arch: arm64
tags: integration_ruler
Expand Down
61 changes: 61 additions & 0 deletions docs/api/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ For the sake of clarity, in this document we have grouped API endpoints by servi
| [Delete Alertmanager configuration](#delete-alertmanager-configuration) | Alertmanager || `DELETE /api/v1/alerts` |
| [Tenant delete request](#tenant-delete-request) | Purger || `POST /purger/delete_tenant` |
| [Tenant delete status](#tenant-delete-status) | Purger || `GET /purger/delete_tenant_status` |
| [Get user overrides](#get-user-overrides) | Overrides || `GET /api/v1/user-overrides` |
| [Set user overrides](#set-user-overrides) | Overrides || `POST /api/v1/user-overrides` |
| [Delete user overrides](#delete-user-overrides) | Overrides || `DELETE /api/v1/user-overrides` |
| [Store-gateway ring status](#store-gateway-ring-status) | Store-gateway || `GET /store-gateway/ring` |
| [Compactor ring status](#compactor-ring-status) | Compactor || `GET /compactor/ring` |
| [Get rule files](#get-rule-files) | Configs API (deprecated) || `GET /api/prom/configs/rules` |
Expand Down Expand Up @@ -888,6 +891,64 @@ Returns status of tenant deletion. Output format to be defined. Experimental.

_Requires [authentication](#authentication)._

## Overrides

The Overrides service provides an API for managing user overrides.

### Get user overrides

```
GET /api/v1/user-overrides
```

Get the current overrides for the authenticated tenant. Returns the overrides in JSON format.

_Requires [authentication](#authentication)._

### Set user overrides

```
POST /api/v1/user-overrides
```

Set or update overrides for the authenticated tenant. The request body should contain a JSON object with the override values.

_Requires [authentication](#authentication)._

### Delete user overrides

```
DELETE /api/v1/user-overrides
```

Delete all overrides for the authenticated tenant. This will revert the tenant to using default values.

_Requires [authentication](#authentication)._

#### Example request body for PUT

```json
{
"ingestion_rate": 50000,
"max_global_series_per_user": 1000000,
"ruler_max_rules_per_rule_group": 100
}
```

#### Supported limits

The following limits can be modified via the API:
- `max_global_series_per_user`
- `max_global_series_per_metric`
- `ingestion_rate`
- `ingestion_burst_size`
- `ruler_max_rules_per_rule_group`
- `ruler_max_rule_groups_per_tenant`

#### Hard limits

Overrides are validated against hard limits defined in the runtime configuration file. If a requested override exceeds the hard limit for the tenant, the request will be rejected with a 400 status code.

## Store-gateway

### Store-gateway ring status
Expand Down
2 changes: 2 additions & 0 deletions docs/configuration/v1-guarantees.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Cortex is an actively developed project and we want to encourage the introductio

Currently experimental features are:

- Overrides API
- Runtime configuration API for managing tenant limits
- Ruler
- Evaluate rules to query frontend instead of ingesters (enabled via `-ruler.frontend-address`).
- When `-ruler.frontend-address` is specified, the response format can be specified (via `-ruler.query-response-format`).
Expand Down
Loading
Loading