keeper - система для хранения приватных данных: тексты, пароли, данные банковских карт, файлы
Подробнее migrations/01_keeper.sql
Параметры конфигурация сервиса keeper определяются либо файлом конфигурации, либо флагами командной строки, либо переменными окружения.
Переменная окружения | Флаг командной строки | Описание |
---|---|---|
CONFIG_KEEPER |
-c;--config <file> |
путь к файлу конфигурации |
ADDRESS |
-a <host:port> |
адрес и порт сервиса |
DATABASE_DSN |
-d <dsn> |
адрес для подключения к базе данных |
SESSION_KEY |
нет | ключ для аутентификаиции |
Клиент представляет собой CLI-приложение.
Сценарий работы клиента конфигурируется флагом-командой и соответствующим флагами-аргументами.
Шаблон вызова: $keeper-client --action=<команда> [<флаги-аргументы>]
команда:
--action=register
флаги-аргументы:
--user
--password
Пример:
$ keeper-client --action=register --user=someuser --password=secret
команда:
--action=login
флаги-аргументы:
--user
--password
Пример:
$ keeper-client --action=login --user=someuser --password=secret
флаг-команда:
--action=text
флаги-аргументы:
--content
--metadata дополнительная информация (текстовые данные)
Примеры:
// Добавить произвольный текст
$ keeper-client --action=text --content="some text" --metatdata="some metadata"
// Получить все тексты авторизованного пользователя
$ keeper-client --action=text
флаг-команда:
--action=pair
флаги-аргументы:
--user
--password
--metadata дополнительная информация (текстовые данные)
Примеры:
// Добавить пару логин/пароль
$ keeper-client --action=pair --user="newuser" --password="newpassword" --metatdata="some metadata for new user"
// Получить все пары логин/пароль
$ keeper-client --action=pair
флаг-команда:
--action=card
флаги-аргументы:
--pan PAN - Номер платежной карты
--till Valid Thru Date - дата истечения срока действия карты, указанная на поверхности карты
--cvv CVC/CVV — коды верификации пластикового носителя, которые подтверждают его подлинность
--name Имя владельца карты, напечатанное на лицевой стороне карты
--metadata дополнительная информация (текстовые данные)
Примеры:
// Добавить данные банковской карты
$ keeper-client --action=card --pan="4321 6543 3214 8766" --till="11/23" --cvv="123" --name="JOHN SMITH" --metatdata="some metadata for new user"
// Получить все данные банковских карт
$ keeper-client --action=card
флаг-команда:
--file
флаги-аргументы:
--upload загрузить файл на сервер
--download скачать файл
--metadata дополнительная информация (текстовые данные)
Примеры:
// Загрузить файл
$ keeper-client --action=file --upload=/path/to/file --metatdata="some file for upload"
// Скачать файл
$ keeper-client --action=file --download="file"
// Получить список загруженных на сервер файлов
$ keeper-client --action=file
Подготовка частей приложения, тестирование, и запуск выполняется с помощью команды make.
В Makefile определены основные команды для управления приложением.
Подробнее Makefile
- Создание и запуск контейнеров с приложением и базой данных:
$ make docker-keeper-up
- Генерация бинарного файла клиента:
$ make build-client
После генерации, бинарный файл клиента находится в директории bin/
.
Например, команда клиента для регистрации пользователя выглядит так:
$ ./bin/keeper-client --register --user=newuser --password=secret
Можно добавить в приложение следующий функционал:
- Возможность редактирования/удаления объектов
- Поддержка терминального интерфейса для клиента