Vault asyncio
Project description
================================
Async library for Hasicorp Vault
================================
.. image:: https://img.shields.io/pypi/v/aiovault.svg
:target: https://pypi.python.org/pypi/aiovault
.. image:: https://img.shields.io/travis/terrycain/aiovault.svg
:target: https://travis-ci.org/terrycain/aiovault
.. image:: https://codecov.io/gh/terrycain/aiovault/branch/master/graph/badge.svg
:target: https://codecov.io/gh/terrycain/aiovault
.. image:: https://readthedocs.org/projects/aiovault/badge/?version=latest
:target: https://aiovault.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/terrycain/aiovault/shield.svg
:target: https://pyup.io/repos/github/terrycain/aiovault/
:alt: Updates
.. image:: https://pyup.io/repos/github/terrycain/aiovault/python-3-shield.svg
:target: https://pyup.io/repos/github/terrycain/aiovault/
:alt: Python 3
aiovault 0.1.X release
======================
This is the inital release, aimed to get started with PyPI.
There is some basic support of Vault features. The interface is sorta stable, I kinda like where its going. Most if not all methods use the Python3's typing module to add type hinting.
Example
=======
Simple example of authenticating with vault and then writing then reading a secret
.. code-block:: python
import aiovault
with aiovault.VaultClient(token='6c84fb90-12c4-11e1-840d-7b25c5ee775a') as client:
is_authed = await client..is_authenticated()
print(is_authed) # True
await client.secrets.generic.create('some_secret', key1='value1', key2='value2')
secret = await client.secrets.generic.read('some_secret')
print(secret['key1']) # value1
print(secret['key2']) # value2
Documentation
=============
https://pyaiovault.readthedocs.io/en/latest/
Features
--------
- Token, GitHub and User/Password Authentication backends
- Generic Secret backend
- File and Syslog Audit backends
- Policy management
- Backend renaming
TODO (Near future)
------------------
- Secret backends: Transit, TOTP, Consul
- Auth backends: AppRole, LDAP, Radius, MFA
- Tests for vault initialisation, sealing and rekeying
TODO (Long term)
----------------
- More docs, more examples
- Possibly utility functions like a coroutine to keep renewing a token/secret
- Policy validation with hcl library?
- Socket audit backend
- Okta, TLS and AWS auth support
- Database, PKI, RabbitMQ, SSH secret support
Credits
-------
I used the cookiecutter package to setup the initial project. Was pretty good.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
License
=======
* Free software: GNU General Public License v3
* Documentation: https://aiovault.readthedocs.io.
=======
History
=======
0.1.0 (2017-07-10)
------------------
* First release on PyPI.
Async library for Hasicorp Vault
================================
.. image:: https://img.shields.io/pypi/v/aiovault.svg
:target: https://pypi.python.org/pypi/aiovault
.. image:: https://img.shields.io/travis/terrycain/aiovault.svg
:target: https://travis-ci.org/terrycain/aiovault
.. image:: https://codecov.io/gh/terrycain/aiovault/branch/master/graph/badge.svg
:target: https://codecov.io/gh/terrycain/aiovault
.. image:: https://readthedocs.org/projects/aiovault/badge/?version=latest
:target: https://aiovault.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/terrycain/aiovault/shield.svg
:target: https://pyup.io/repos/github/terrycain/aiovault/
:alt: Updates
.. image:: https://pyup.io/repos/github/terrycain/aiovault/python-3-shield.svg
:target: https://pyup.io/repos/github/terrycain/aiovault/
:alt: Python 3
aiovault 0.1.X release
======================
This is the inital release, aimed to get started with PyPI.
There is some basic support of Vault features. The interface is sorta stable, I kinda like where its going. Most if not all methods use the Python3's typing module to add type hinting.
Example
=======
Simple example of authenticating with vault and then writing then reading a secret
.. code-block:: python
import aiovault
with aiovault.VaultClient(token='6c84fb90-12c4-11e1-840d-7b25c5ee775a') as client:
is_authed = await client..is_authenticated()
print(is_authed) # True
await client.secrets.generic.create('some_secret', key1='value1', key2='value2')
secret = await client.secrets.generic.read('some_secret')
print(secret['key1']) # value1
print(secret['key2']) # value2
Documentation
=============
https://pyaiovault.readthedocs.io/en/latest/
Features
--------
- Token, GitHub and User/Password Authentication backends
- Generic Secret backend
- File and Syslog Audit backends
- Policy management
- Backend renaming
TODO (Near future)
------------------
- Secret backends: Transit, TOTP, Consul
- Auth backends: AppRole, LDAP, Radius, MFA
- Tests for vault initialisation, sealing and rekeying
TODO (Long term)
----------------
- More docs, more examples
- Possibly utility functions like a coroutine to keep renewing a token/secret
- Policy validation with hcl library?
- Socket audit backend
- Okta, TLS and AWS auth support
- Database, PKI, RabbitMQ, SSH secret support
Credits
-------
I used the cookiecutter package to setup the initial project. Was pretty good.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
License
=======
* Free software: GNU General Public License v3
* Documentation: https://aiovault.readthedocs.io.
=======
History
=======
0.1.0 (2017-07-10)
------------------
* First release on PyPI.
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
aiovault-0.1.2.tar.gz
(25.9 kB
view hashes)
Built Distribution
Close
Hashes for aiovault-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41002a936ac45df27ea334f86390f6aabb45915caf85698f906cad1f7c145a5d |
|
MD5 | afb975dcabfa35d5caf067b270f6943f |
|
BLAKE2b-256 | de02334f216b28c037cdd99f596c3e8bf6fd5290a9e6069b77d8423a1242d9cb |