API для работы с сущностями check/test (проверка/тест) в составе Ozon Code Platform. Представляет собой микросервис, принимающий запросы через gRPC и поддерживающий операции Create/Read/Update/Delete с записью в БД PostgreSQL и отправку в Kafka.
Сборка осуществляется командой
$ make build
Исполняемый файл будет размещен в директории 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
Запуск микросервиса осуществляется командой
$ ./bin/main
Файлы для миграций БД размещаются с директории migrations. Перед запуском миграции необходимо скачать утилиту migrate. Скачивание осуществляется командой
$ make 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) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | ListChecksResponse |
default | An unexpected error response. | runtimeError |
Обновляет "проверку" по идентификатору
Code | Description | Schema |
---|---|---|
200 | A successful response. | UpdateCheckResponse |
default | An unexpected error response. | runtimeError |
Возвращает описание "проверки" по ее идентификатору
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
check_id | path | Yes | string (uint64) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | DescribeCheckResponse |
default | An unexpected error response. | runtimeError |
Удаляет "проверку" по идентификатору
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
check_id | path | Yes | string (uint64) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | RemoveCheckResponse |
default | An unexpected error response. | runtimeError |
Возвращает список "тестов"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
limit | query | No | string (uint64) | |
offset | query | No | string (uint64) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | ListTestsResponse |
default | An unexpected error response. | runtimeError |
Обновляет "тест" по идентификатору
Code | Description | Schema |
---|---|---|
200 | A successful response. | UpdateTestResponse |
default | An unexpected error response. | runtimeError |
Возвращает описание "теста" по ее идентификатору
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
test_id | path | Yes | string (uint64) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | DescribeTestResponse |
default | An unexpected error response. | runtimeError |
Удаляет "тест" по идентификатору
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
test_id | path | Yes | string (uint64) |
Code | Description | Schema |
---|---|---|
200 | A successful response. | RemoveTestResponse |
default | An unexpected error response. | runtimeError |
Code | Description | Schema |
---|---|---|
200 | A successful response. | ApiVersionResponse |
default | An unexpected error response. | runtimeError |
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 |