A Django app for managing secrets.
Project description
# django-encrypted-secrets
`django-encrypted-secrets` brings Rails-style [encrypted credentials](https://edgeguides.rubyonrails.org/security.html#custom-credentials) to the [Django web framework](https://www.djangoproject.com/).
## Installation
To install `django-encrypted-secrets`, first pip install the module:
$ pip install django-encrypted-secrets
Add `encrypted_secrets` to INSTALLED_APPS in your django settings file:
INSTALLED_APPS = [
...
'encrypted_secrets'
]
Finally, you must call `load_secrets()` from within your `manage.py` and `wsgi.py` files:
```
#!/usr/bin/env python
import os
import sys
from encrypted_secrets import load_secrets
if __name__ == "__main__":
load_secrets()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourapp.settings")
# ...
```
## Usage
Django Secrets works by using a key (stored locally in `master.key` file or read from the environment variable `DJANGO_MASTER_KEY`) and reading/writing secrets to the encrypted file `secrets.yml.enc`.
./manage.py init_secrets
You can edit the secrets by running:
./manage.py edit_secrets
When you save the file in your editor, its contents are encrypted and used to overwrite the `secrets.yml.enc` file.
Finally, to read secrets within your codebase, use the `get_secret` utility:
```
from encrypted_secrets import get_secret
# ...
secret_api_key = get_secret("secret_api_key")
````
`django-encrypted-secrets` brings Rails-style [encrypted credentials](https://edgeguides.rubyonrails.org/security.html#custom-credentials) to the [Django web framework](https://www.djangoproject.com/).
## Installation
To install `django-encrypted-secrets`, first pip install the module:
$ pip install django-encrypted-secrets
Add `encrypted_secrets` to INSTALLED_APPS in your django settings file:
INSTALLED_APPS = [
...
'encrypted_secrets'
]
Finally, you must call `load_secrets()` from within your `manage.py` and `wsgi.py` files:
```
#!/usr/bin/env python
import os
import sys
from encrypted_secrets import load_secrets
if __name__ == "__main__":
load_secrets()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourapp.settings")
# ...
```
## Usage
Django Secrets works by using a key (stored locally in `master.key` file or read from the environment variable `DJANGO_MASTER_KEY`) and reading/writing secrets to the encrypted file `secrets.yml.enc`.
./manage.py init_secrets
You can edit the secrets by running:
./manage.py edit_secrets
When you save the file in your editor, its contents are encrypted and used to overwrite the `secrets.yml.enc` file.
Finally, to read secrets within your codebase, use the `get_secret` utility:
```
from encrypted_secrets import get_secret
# ...
secret_api_key = get_secret("secret_api_key")
````
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-encrypted-secrets-0.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 501689a83ed5ce329ef228478e0b6786bb85ff9734f1e2ce7638dacff84b6c08 |
|
MD5 | 5c5bd9ab4302e214b95f5f74f3f5451f |
|
BLAKE2b-256 | 55072d1b5066c264465af98f8759bc77ff6c873d31f42eb8c7dc951c0dce299f |