This library implements wrapper for ...
Project description
# vault-client
Клиент предназанчен для унифицированного доступа к переменным окружения размещённым в конфигурационном файле (или переменных окружения) или в хранилище Vault, в зависимости от параметров инициализации.
## Установка клиента
> pip install vault-client
## Интерфейс клиента
### Инициализация клиента:
> client = VaultClient(environ=”LOCAL”)
При таком способе инициализации источником данных является файл *.deploy/.envs/local.env*.
При отсутствии параметра *environ* > client = VaultClient()
или *environ=None*
> client = VaultClient(environ=None)
Данные получаются из Vault, параметры сервера Vault должны быть заданы в переменных окружения.
Для получения параметров из хранилища Vault в переменных окружения задаются следующие данные; - адрес хоста и порт Vault (host, port); - токен доступа к Vault (token); - точка монтирования (mount_point); - стадия разработки (PROD, STAGE, DEV и т.д.) (environ)
Перечисленные параметры должны быть установлены в переменных окружения:
VAULT_TOKEN
VAULT_PORT
VAULT_HOST
VAULT_MOUNT_POINT
VAULT_ENV
Внимание: при записи параметров в Vault, наименование параметра должно указываться строчными символами.
### Пример структуры данных в файле local.env или в Vault
STORAGE_HOST=127.0.0.1 STORAGE_PORT=50001 PARSER_HOST=127.0.0.2 PARSER_PORT=50002
Данные определяется таким образом:
<Сервис>_<Параметр> - при размещении данных в файле local.env;
<Сервис>/STAGE/<Параметр> - при размещении данных в Vault;
#### Пример получения параметра
>client = VaultClient(environ=”LOCAL”) > >result = client.get(“storage”, “host”)
При иницализации клиента с параметром *environ = LOCAL*, значение параметра будет получаться из переменной окружения STORAGE_HOST, в случае отсутствия - *result = None*.
Иницализация клиента с параметром *VAULT_ENV* отличном от *LOCAL* (например: *PROD*), значение параметра будет запрашиваться из Vault по пути: *test_client/STORAGE/PROD/host* (при VAULT_MOUNT_POINT = test_client), в случае отсутствия - *result = None*.
## Unit test
Unit тесты и интеграционные тесты не разделяются. Вы можете найти их в /tests. Для проведения интеграционных тестов, требуется развёрнутый vault.
## Поддержка
Создано при поддержке fless.pro
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 Distributions
Built Distribution
File details
Details for the file vault_client-0.3.4-py3-none-any.whl
.
File metadata
- Download URL: vault_client-0.3.4-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8cad2305917b4800ba6ee0876e80db2534580cdcfc77934746fb9142eb0558d |
|
MD5 | e888f0865051b1e37213a8f02e1aca11 |
|
BLAKE2b-256 | 0617f54fa6401d45c3d70f23ac76444cddfdd8b106bf3d3a5bbfc35a3d357ab2 |