For any questions or issues related to provider provisioning, please join our Slack community.

Provider provisioning in Keep allows you to set up and manage data providers dynamically. This feature enables you to configure various data sources that Keep can interact with, such as monitoring systems, databases, or other services.

Configuring Providers

To provision providers, set the KEEP_PROVIDERS environment variable with a JSON string containing the provider configurations. Here’s an example:

{
  "keepVictoriaMetrics": {
    "type": "victoriametrics",
    "authentication": {
      "VMAlertHost": "http://localhost",
      "VMAlertPort": 1234
    }
  },
  "keepClickhouse1": {
    "type": "clickhouse",
    "authentication": {
      "host": "http://localhost",
      "port": 1234,
      "username": "keep",
      "password": "keep",
      "database": "keep-db"
    }
  }
}

Spin up Keep with this KEEP_PROVIDERS value:

# ENV
KEEP_PROVIDERS={"keepVictoriaMetrics":{"type":"victoriametrics","authentication":{"VMAlertHost":"http://localhost","VMAlertPort": 1234}},"keepClickhouse1":{"type":"clickhouse","authentication":{"host":"http://localhost","port":"4321","username":"keep","password":"1234","database":"keepdb"}}}

Supported Providers

Keep supports a wide range of provider types. Each provider type has its own specific configuration requirements. To see the full list of supported providers and their detailed configuration options, please refer to our comprehensive provider documentation.

Update Provisioned Providers

Provider configurations can be updated dynamically by changing the KEEP_PROVIDERS environment variable.

On every restart, Keep reads this environment variable and determines which providers need to be added or removed.

This process allows for flexible management of data sources without requiring manual intervention. By simply updating the KEEP_PROVIDERS variable and restarting the application, you can efficiently add new providers, remove existing ones, or modify their configurations.

The high-level provisioning mechanism:

  1. Keep reads the KEEP_PROVIDERS value.
  2. Keep checks if there are any provisioned providers that are no longer in the KEEP_PROVIDERS value, and deletes them.
  3. Keep installs all providers from the KEEP_PROVIDERS value.