# Terminal Duty Terminal Duty(termdut) is a server that helps teams manage alerts, oncall schedules etc. - The app will integrate with alertmanager(prometheus alertmanager), as a receiver of alertmanager webhooks without the need for adapters. - Incoming alerts will be logged to a database(postgres or sqlite). - Alerts can be marked as "acknowledged", when someone is already working on it. - Comments can be added to alerts, such as solutions, tips or actions. - Statistics can be produced for the alerts in the database, such as most common alert, most busy times of the day/week etc. - The server exposes a rest-api, where users, schedules, alerts etc can be managed. - Alerts will be received from alertmanager with no authentication initially. - The exposed api however(besides receiving alert from alertmanager) needs authentication. - Authentication is managed on a user basis, each user has his or her own credentials, these are stored hashed in the database. - Each user can be assigned to time slots in the oncall-schedule. - The smallest unit of time managed in the schedule is a day. This may change later. - The server is written in golang