prometheus / prometheus/alertmanager
[Feature Request] Provide capability for `DELETE /silences/<id>` to really delete silence
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.6k
- Forks
- 2.5k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 61
Description
Problem
Currently when call the delete silence API it actually expire them not delete them. An expired silence is actually deleted 5 days later by default. while the intention of this is useful for use cases like auditing but it may become troublesome for users and system admin when there are too many expired silences. When user list their silences there are high chances they don't care about ones that expired more than 1 or 2 days ago. System admin has to constantly worry about impact of performance by the large amount of expired silence in the memory, and there is actually an impact due the number of expired silences, the system admin has no mitigation mechanism currently.
Proposal
The DELETE /silences/<id> API provides a boolean parameter like soft where when soft=true the API expires an alert and when soft=false the API hard deletes the alert.
This way an user can reduce noice by hard delete silences, and a system admin can mitigate issue by asking their customer to hard delete silences (or just hard delete themselves, depending on who they work for).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The entry point is DELETE /silences/; start by tracing its current expiry behavior and how expired silences are removed after five days. Done means the API distinguishes expiring a silence from hard deletion, with both outcomes covered by project tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100