clair/notifier
Matt Moore 057f1afae7 Initial services refactoring of database.Datastore
This breaks out the following service interfaces:
 - locks.Service
 - keyvalue.Service
 - notifications.Service
 - vulnerabilities.Service
 - layers.Service
 - namespaces.Service

Make Travis work on my fork by rsyncing the build dir as coreos/clair
2016-05-31 12:53:32 -07:00
..
notifiers Initial services refactoring of database.Datastore 2016-05-31 12:53:32 -07:00
notifier.go Initial services refactoring of database.Datastore 2016-05-31 12:53:32 -07:00
README.md readme: clarify "marked as read" notifications 2016-02-25 13:49:24 -05:00

Notifications

Notifications are a way for Clair to inform an endpoint that changes to tracked vulnerabilities have occurred. Because notification data can require pagination, Clair should only send the name of a notification. It is expected that the receiving endpoint calls the Clair API for reading notifications and marking them as read after being notified. If the notification is never marked as read, Clair will continue attempting to send the same notification to the endpoint indefinitely.

Webhook

Webhook is an out-of-the-box notifier that sends the following JSON object via an HTTP POST:

{
  "Notification": {
    "Name": "6e4ad270-4957-4242-b5ad-dad851379573"
  }
}

Custom Notifiers

Clair can also be compiled with custom notifiers by importing them in main.go. Custom notifiers are any Go package that implements the Notifier interface and registers themselves with the notifier package. Notifiers are registered in init() similar to drivers for Go's standard database/sql package.