Prototype ConfigServer in ruby for learn
- port: Порт на котором будет доступен сервер
- use_auth: true если нужно проводить аутентификацию пользователей из файла users.yml
- timezone: Таймзона для корректной работы периодических задач
- repository_url: Адрес репозитория с конфигурациями
- cron_duration: Периодичность запуска задачи по обновлению репозитория
При запуске в папку GitRepoLocal клонируется репозиторий с конфигурациями который периодически обновляется.
Получение настроек идет посылкой GET запроса на адрес сервера с указанием в заголовках запроса параметра APIKey с токеном присуствующим в файле users.yaml, если аутентификация не нужна то в настройках ее можно отключить и проверки наличия параметра и валидности токена не будет.
Разделение приложений настройки которых запрашиваются у сервера идет посредством формирования url http(s)://адрес_сервера:порт/имя_приложения Имя приложения и файл с конфигурацией одинаковые.
- Работа над ошибками
- Логирование
- Вывод содержимого настроек в зависимости от формата json/yaml