Skip to content

Future of the Config Service #1244

Open
@jtlisi

Description

@jtlisi

The Config Service is a central component to the Alertmanager and Ruler. It receives JSON data with an embedded yaml blobs that represent prometheus config files. Preliminary work to decouple the Ruler from the config service has already started. Instead of polling the config service the ruler will host it's own api and interact with the Postgres database directly. If the alertmanager moves in this direction that leaves little reason to keep the config service. Below I added some goals to keep in mind when considering the Config service. I would be interested to know what people think and what the general sentiment is around deprecating the config db in favor of embedding the libs within the alertmanager and ruler.

Goals for Configuration

  1. Maintain the ability to upload prometheus config files

In my opinion the ability to upload and export prometheus config files is essential to the cortex user experience. Users should have a portable configuration that they can move from prometheus to cortex and vice versa. However, this does not mean we need to store each user information in a json blob. Structuring user configs into a more refined format could be necessary for user friendly CRUD features related to alerts/rules in the future.

  1. Validate User Configs in API

Validation features that ensure users have properly formatted configuration files would increase the user experience with the ruler. It would be beneficial for users to know they have an inoperable group of rules as a response to an api call rather than an internal error when that rule group is polled by the ruler.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions