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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file libkosciuszko-0.1.3.tar.gz.

File metadata

  • Download URL: libkosciuszko-0.1.3.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.7

File hashes

Hashes for libkosciuszko-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6b2e7b3fcea2cd209e01c4c61f43504b1d0a525a2f6c001b0555854dcb9dfb25
MD5 172375a52208189e5d6a651593a98c3b
BLAKE2b-256 ad3c6a56ba6aa60f3ac0f0ebe07644509131fba9010e8cbd7dd4ae2b6e9c4826

See more details on using hashes here.

File details

Details for the file libkosciuszko-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: libkosciuszko-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.7

File hashes

Hashes for libkosciuszko-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5221f340766769d4497d848c2e60f44496d3db1596f4ba7c66a3dbacb4d362c3
MD5 9a614c8e8f4351b23e128c80cb5aa391
BLAKE2b-256 8748d350ad06821c34cc85d7b428813f1cd47689e01afe71e8ab1425681abb66

See more details on using hashes here.

Supported by

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