Ship Secure and Streamlined Multi-Environment Specification.
Project description
click to read first article about this package
a more efficient, automated, and developer-friendly approach, allowing them to define deployment environment requirements using simple JSON or YAML descriptions.
Specify the exact conditions under which a container can run, mitigating compatibility issues and enforcing security standards seamlessly…
This environment description can either be one or multiple files and can also be a combination for each type of environment…
$ pip install env_should_be
env_should_be -fs --description /path/to/description/db.yml /path/to/description/app.json --env-file /path/to/.env --callback ./notify_admin.bash
examples
a number of example should be available under this link
or just do a
env_should_be --help
env_should_be [-h] -d DESCRIPTION [DESCRIPTION ...] [-fs FAIL_SILENTLY] [-e ENV_FILE] [-cb CALLBACK]
How should your environment be?
options:
-d DESCRIPTION [DESCRIPTION ...], --description DESCRIPTION [DESCRIPTION ...]
<Required> either one or multiple paths for description files. (json/yml)
-fs FAIL_SILENTLY, --fail-silently FAIL_SILENTLY
<Optional> will return an exit status of 0 even if the description(s) fail to match the current env (still triggers the callback).
-e ENV_FILE, --env-file ENV_FILE
<Optional> not specifying a path to a specific env file to validate description(s) against, environment variables in the current shell will be loaded instead.
-cb CALLBACK, --callback CALLBACK
<Optional> a callback script to be executed an environment fails to match the a description. (still triggered on fail-silently)
full list of possible descriptions:
(
"boolean",
"length",
"min_length",
"max_length",
"regex",
"option",
"constant",
"is_int",
"is_str",
"is_float",
"is_number",
"is_greater_than_eq",
"is_lower_than_eq",
"is_http",
"is_https",
"is_ipv4",
"is_ipv6",
"is_email",
"is_uuid",
)
TODOs:
- better exceptions
- support required arg
- support callbacks
- example Dockerfiles for different base images (only flask for now)
- a more helpful readme
- collect/open issues
- support older python versions
- support different/more complex descriptions
- support setting default values
- ship a single executable ?
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
env_should_be-0.2.7.tar.gz
(416.5 kB
view hashes)
Built Distribution
Close
Hashes for env_should_be-0.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82199a6249bdeb7bf5a779b8ac0dcc0b4068297b6b401fadbac6118d707a4a6 |
|
MD5 | ae8214888aab6d0707884c0ee106a941 |
|
BLAKE2b-256 | 3463425f34d15fc0eefaa4bf079ca7b5c244b0bbce4d5cd28f01b295219e1d73 |