Skip to content

Save/Load Kinto server content to/from a YAML file

License

Notifications You must be signed in to change notification settings

Kinto/kinto-wizard

Repository files navigation

kinto-wizard

pypi ci

kinto-wizard is a tool that lets you setup an entire Kinto server from a Yaml file, or inspect an existing server and output a Yaml file.

You can define Kinto objects (bucket, collection, groups, records) and configure their attributes and permissions.

Read more information about the file structure

Installation

Use pip:

$ pip install kinto-wizard

How to use it?

Load

kinto-wizard load \
    --server https://kinto-writer.stage.mozaws.net/v1 \
    --auth admin:credentials \
    new-config.yml

Dump

kinto-wizard dump \
    --server https://kinto-writer.stage.mozaws.net/v1 \
    --auth admin:credentials \
    > current-config.yml

The dump command also accepts these options:

  • --data - Include buckets, collections and groups data (attachments, schemas, display fields, uischema etc.).
  • --records - Include collections` records.
  • --full - Combination of data and records.

Validate a dump

The way Kinto works is by letting you change a collection schema but won't enforce the new schema for existing records.

When you dump a collection and its records, you can end-up having records that Kinto won't let you upload back because the schema changed and they are invalid with the current schema.

This can lead to unexpected behavior on loading time which is a bit cumbersome because depending of the size of the file you are loading, it can takes a long time before getting an actual error.

In order to fix the file before loading, you can use the validate command that would give you the error Kinto would return if you were to load the file on a Kinto server.

kinto-wizard validate current-config.yml

Development

See contributing docs