Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

vault_client-0.3.4-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file vault_client-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for vault_client-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b8cad2305917b4800ba6ee0876e80db2534580cdcfc77934746fb9142eb0558d
MD5 e888f0865051b1e37213a8f02e1aca11
BLAKE2b-256 0617f54fa6401d45c3d70f23ac76444cddfdd8b106bf3d3a5bbfc35a3d357ab2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page