Skip to content

Latest commit

 

History

History
20 lines (10 loc) · 1.49 KB

task.md

File metadata and controls

20 lines (10 loc) · 1.49 KB

Тестовое задание на позицию «Инженер-стажёр по разработке ПО для систем хранения данных на Go»

Необходимо реализовать сервис и клиент для выставления имени хоста в Linux, а также изменения списка DNS серверов.

Сервис

Сервис слушает сокет в системе по протоколу gRPC.

Сервис описывает .proto файл, из которого при сборке генерится как код самого gRPC сервиса, так и код с документацией для REST (swagger).

Всё это обеспечивает библиотека grpc-gateway: https://github.com/grpc-ecosystem/grpc-gateway

Клиент

CLI клиент написанный, использующий фреймворк Cobra.

Клиент ждет ввода команды и если она соответствует команде изменения хостнейма, отправляет запрос сервису, который прои зводит изменение и возвращает результат.

Чуть сложнее реализация для изменения у DNS. Тут понадобится несколько команд как для листинга списка DNS серверов, так и для добавления/удаления сервера.