API для работы с сущностями check/test (проверка/тест) в составе Ozon Code Platform. Представляет собой микросервис, принимающий запросы через gRPC и поддерживающий операции Create/Read/Update/Delete с записью в БД PostgreSQL и отправку в Kafka.
Сборка осуществляется командой
Исполняемый файл будет размещен в директории bin.
Перед запуском создайте в текущей директории или в директории config файл config.yml со следующими параметрами
database:
# url для подключения к БД. Параметр дублируется системной переменной ocp_check_api_database_url
url: postgres://postgres:postgres@localhost:5432/postgres
grpc:
# интерфейс и порт gRPC-сервера, который "поднимается" микросервисом. Параметр дублируется системной переменной ocp_check_api_grpc_address
address: 0.0.0.0:8083
kafka:
# адреса и порты инстансов Kafka, в которые будут отправляться сообщения по операциям Create/Update/Delete. Параметр дублируется системной переменной ocp_check_api_kafka_brokers
brokers: [127.0.0.1:9092, 127.0.0.1:9093]
prometheus:
# интерфейс и порт Prometheus-метрик, которые "выдаются" микросервисом. Параметр дублируется системной переменной ocp_check_api_prometheus_address
address: 0.0.0.0:9100
log:
# Вывод в консоль. Можно включить, установив значение enable: true
console:
enable: false
file:
# Вывод в лог. Можно отключить, установив значение enable: false. Значение path определяет путь к логу.
enable: true
path: /var/log/ocp-check-api.log
Запуск микросервиса осуществляется командой
Файлы для миграций БД размещаются с директории migrations.
Перед запуском миграции необходимо скачать утилиту migrate. Скачивание осуществляется командой
В корневом каталоге репозитория должен появиться исполняемый файл migrate, для миграции нужно запустить его с параметрами
$ ./migrate -source file:./migrations -database postgres://localhost:5432/db?sslmode=require up 2
Возвращает список "проверок"
Name |
Located in |
Description |
Required |
Schema |
limit |
query |
|
No |
string (uint64) |
offset |
query |
|
No |
string (uint64) |
Обновляет "проверку" по идентификатору
Возвращает описание "проверки" по ее идентификатору
Name |
Located in |
Description |
Required |
Schema |
check_id |
path |
|
Yes |
string (uint64) |
Удаляет "проверку" по идентификатору
Name |
Located in |
Description |
Required |
Schema |
check_id |
path |
|
Yes |
string (uint64) |
Возвращает список "тестов"
Name |
Located in |
Description |
Required |
Schema |
limit |
query |
|
No |
string (uint64) |
offset |
query |
|
No |
string (uint64) |
Обновляет "тест" по идентификатору
Возвращает описание "теста" по ее идентификатору
Name |
Located in |
Description |
Required |
Schema |
test_id |
path |
|
Yes |
string (uint64) |
Удаляет "тест" по идентификатору
Name |
Located in |
Description |
Required |
Schema |
test_id |
path |
|
Yes |
string (uint64) |
Name |
Type |
Description |
Required |
buildDateTime |
string |
|
No |
gitCommit |
string |
|
No |
protocolRevision |
string |
|
No |
Name |
Type |
Description |
Required |
id |
string (uint64) |
|
No |
runnerID |
string (uint64) |
|
No |
solutionID |
string (uint64) |
|
No |
success |
boolean |
|
No |
testID |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
runnerID |
string (uint64) |
|
No |
solutionID |
string (uint64) |
|
No |
success |
boolean |
|
No |
testID |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
check_id |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
input |
string |
|
No |
output |
string |
|
No |
taskID |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
test_id |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
check |
Check |
|
No |
Name |
Type |
Description |
Required |
test |
Test |
|
No |
Name |
Type |
Description |
Required |
checks |
[ Check ] |
|
No |
Name |
Type |
Description |
Required |
tests |
[ Test ] |
|
No |
Name |
Type |
Description |
Required |
created |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
created |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
deleted |
boolean |
|
No |
Name |
Type |
Description |
Required |
deleted |
boolean |
|
No |
Name |
Type |
Description |
Required |
id |
string (uint64) |
|
No |
input |
string |
|
No |
output |
string |
|
No |
taskID |
string (uint64) |
|
No |
Name |
Type |
Description |
Required |
updated |
boolean |
|
No |
Name |
Type |
Description |
Required |
updated |
boolean |
|
No |
Name |
Type |
Description |
Required |
type_url |
string |
|
No |
value |
byte |
|
No |
Name |
Type |
Description |
Required |
code |
integer |
|
No |
details |
[ protobufAny ] |
|
No |
error |
string |
|
No |
message |
string |
|
No |