The kawa package

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

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

[Skip to Readme]


Change log
Dependencies attoparsec, base (>=4.9 && <5), directory, hashable, kawa, optparse-applicative, text, unordered-containers [details]
License BSD3
Author Thomas Feron
Category Database
Home page
Bug tracker
Source repo head: git clone
Uploaded Mon Jan 15 13:21:52 UTC 2018 by thoferon
Distributions NixOS:
Executables kawa
Downloads 36 total (10 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-15 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

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.