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
Hashes for vault_client-0.3.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8cad2305917b4800ba6ee0876e80db2534580cdcfc77934746fb9142eb0558d |
|
MD5 | e888f0865051b1e37213a8f02e1aca11 |
|
BLAKE2b-256 | 0617f54fa6401d45c3d70f23ac76444cddfdd8b106bf3d3a5bbfc35a3d357ab2 |