kawa: Key-value store in single files.

[ bsd3, database, library, program ] [ Propose Tags ]

Simple command-line tool to manage some key-value store in a single file.

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS]
Change log CHANGELOG.md
Dependencies attoparsec, base (>=4.9 && <5), directory, hashable, kawa, optparse-applicative, text, unordered-containers [details]
License BSD-3-Clause
Author Thomas Feron
Maintainer thomas.feron@redspline.com
Category Database
Home page https://github.com/thoferon/kawa#readme
Bug tracker https://github.com/thoferon/kawa/issues
Source repo head: git clone https://github.com/thoferon/kawa
Uploaded by thoferon at 2018-01-15T13:21:52Z
Executables kawa
Downloads 843 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-15 [all 1 reports]

Readme for kawa-

[back to package description]

Kawa is a small command-line tool to manage some key-value store in a single file. It manages files containing key-value pairs like the following. These files are meant to be human-readable.

hostname = localhost
port = 5432
username = myuser
password = secret
database = mydb

There are three commands supported by the executable: get, set and replace which, respectively, gets the value assigned to a key from a store, sets a new value to a key in a store and replaces all occurences of keys by their values in a file.

This can be used to generate a file from a template and some secrets contained in such a store. For instance, a provisioning tool could create a file config.template.yml for some application containing its configuration with lines like username: USERNAME and the variables would be stored in secrets.kawa. Then, before launching the application, a systemd service could run kawa replace secrets.kawa -i config.template.yml -o config.yml.

For more information, run kawa --help.