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 hashes)

Uploaded Python 3

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