- Go 99.2%
- Shell 0.8%
|
All checks were successful
continuous-integration/drone/tag Build is passing
|
||
|---|---|---|
| .vscode | ||
| db | ||
| handler | ||
| lib | ||
| .drone.yml | ||
| .gitignore | ||
| docker-compose.yml | ||
| docker-entrypoint.sh | ||
| Dockerfile.amd64 | ||
| Dockerfile.arm64 | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| main_test.go | ||
| README.md | ||
Настройки
Модуль для хранения настроек в БД. Сервис предназначен для хранения централизованных настроек различных приложений и сервисов как внутренних, так и внешних. Данный сервис является простой службой и работает как система запрос/ответ.
Для управления настройками через систему администрирования используется web-интерфейс.
Установка
Подготовка
Подготовка пакетов
go install github.com/swaggo/swag/cmd/swag@latest
Генерация описания
swag init
Использование
Для получения параметров (getParam) используется массив строк в формате ["one","two","three"]. В итоге функция должна вернуть структуру JSON вида {"one":"param1","two":"param2","three":"param3"}. Если какой-то параметр из запрошенных не будет найден, то он будет проигнорирован и не добавлен в возвращаемый результат.
Для установки параметров (setParam) принимает JSON вида {"one":"param1","two":"param2","three":"param3"} и устанавливает значение в БД.
Список параметров (listParams) возвращает список (массив) параметров. В качестве параметра может быть JSON вида {"param_name":{recursive:false}} В данном случае будет найден параметр, от которого будут искаться вложенные параметры. Если указать вариант как {"":{recursive:true}}, то список будет искаться от корня. Это равносильно если в качестве параметра запроса ничего не передавать. Флаг recursive говорит нужно ли запрашивать весь список параметров рекурсивно. true - да, false - нет.
Для удаления параметра (removeParam) используется массивстрок в формате ["one","two","three"]. В итоге функция должна вернуть массив строк JSON вида ["one","two","three"] включающий список тех параметров, которые были успешно удалены.
Параметры one.two и two не одно и тоже, так как, по сути первый параметр имеет вложенность (two в one), а второй вариант находится в корне параметров.
Параметры
Параметры устанавливаются переменными окружения.
ENV
Устанавливается в development/production. По умолчанию development.
NATS_ADDR
Адрес подключения к NATS.io
DB_DRIVER
Драйвер для подключения к БД. Возможные варианты:
- sqlite - SQLite (поумолчанию)
- postgres - PostgreSQL
- mysql - MySQL/MariaDB
- sqlserver - SQLServer
DB_NAME
Имя БД. Если драйвер указан sqlite, то указывается пут на диске
DB_LOGIN
Логин для подключения к БД
DB_PASSWORD
Пароль подключения к БД
DB_HOST
Адрес подключения к БД
DB_PORT
Порт подключения к БД. Если не указан, то используется, который задан разработчким по умолчанию.
TIMEZONE
Временная зона.
QUEUE_LOG
Название очереди логов