Skip to main content

Plug Kinto notifications to a collection endpoint.

Project description

https://img.shields.io/travis/Kinto/kinto-changes.svg https://img.shields.io/pypi/v/kinto-changes.svg https://coveralls.io/repos/Kinto/kinto-changes/badge.svg?branch=master

kinto-changes tracks modifications of records in Kinto and stores the list of changed collection into a specific bucket and collection.

This plugin is useful to allow for polling on several collections changes with one HTTP request.

Install

pip install kinto-changes

Setup

In the Kinto settings:

kinto.includes = kinto_changes

kinto.event_listeners = changes
kinto.event_listeners.changes.use = kinto_changes.listener

Now everytime a record is modified, the list of modified collections is available at GET /v1/buckets/monitor/collections/changes/records.

Filter collections

It is possible to choose which collections are monitored:

kinto.event_listeners.changes.collections = <list of URIs>

For example, to be notified of record updates in the certificates collection, or every collections of the settings bucket:

kinto.event_listeners.changes.collections =
    /buckets/blocklists/collections/certificates
    /buckets/settings

Permissions

By default the list of changed collections is readable by anonymous users (system.Everyone). But the list of authorized principals can be specified in settings:

kinto.event_listeners.changes.principals =
    system.Authenticated
    group:admins
    twitter:@natim

Advanced options

By default, the list of changed collections is available in the changes collection in the monitor bucket. This can be specified in settings:

kinto.event_listeners.changes.bucket = monitor
kinto.event_listeners.changes.collection = changes

The changes entries will have a host attribute, that can be used to distinguish changes from several Kinto instances.

kinto.event_listeners.changes.http_host = website.domain.tld

By default, it will rely on the global setting kinto.http_host.

Changelog

0.5.0 (2017-01-16)

  • Do not force the timestamp of monitored entries (#27)

0.4.0 (2016-11-07)

  • Add the plugin version in the capability (#20)

  • Add collections in the capability (#18)

  • Add a specific setting to override global http_host value (#24)

0.3.0 (2016-05-19)

  • Update to kinto.core for compatibility with Kinto 3.0. This release is no longer compatible with Kinto < 3.0, please upgrade!

0.2.0 (2016-04-25)

  • Addition of the changes capability

0.1.0 (2015-12-22)

  • Initial code.

  • Bucket and collection name configuration.

  • Changes read permissions configuration.

  • Selection of buckets and collections to follow configuration.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kinto-changes-0.5.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

kinto_changes-0.5.0-py2.py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page