Skip to main content

Library for managing kosciuszko vaults

Project description

libkosciuszko

kosciuszko is a simple vault for storing secrets on GNU/Linux. It is heavily inspired by encnote.

This lib implements all basic features. See also kosciuszko-utils for CLI interfaces.

Rationale

All existing approaches to storing arbitrary secrets on Linux are shit. kosciuszko is a general purpose vault which supercedes all existing approaches. It uses standard technologies and so can easily be implemented in e.g. shell or any arbitrary language.

Method

Unsecured secrets are stored in a directory. This directory is then folded into a squashfs, and then encrypted with a GPG key. To access secrets, the process is simply reversed.

Usage

Import with python3 -m pip install --user libkosciuszko. Create a kosciuszko object with

gpg_id = "example@example.com"	# Email, key name, key ID etc
store = "example.kos"			# Filename
kosciuszko = Kosciuszko(gpg_id, store)

There are several core methods.

kosciuszko.new() 					# Initialise a new store
ls = kosciuszko.list() 				# List contents of a store, either in machine friendly or user-friendly formats (detailed=True flag)
kosciuszko.addfile(filename, data) 	# Add a file called filename, containing data `data` (bytes)
kosciuszko.getfile(filename) 		# Retrieve file called filename

Homepage

https://git.sr.ht/~happy_shredder/libkosciuszko

License

GPLv3+

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

libkosciuszko-0.1.3.tar.gz (15.6 kB view hashes)

Uploaded Source

Built Distribution

libkosciuszko-0.1.3-py3-none-any.whl (15.4 kB view hashes)

Uploaded 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