README.md
Koteyye Ecosystem API
Этот репозиторий служит API Schema Registry для экосистемы Koteyye. Он реализует подход API First: сначала пишутся контракты (Protobuf, OpenAPI), затем генерируется код.
Структура проекта
api/— Исходный код спецификаций (Source of Truth).api/proto/— gRPC сервисы и сообщения (Protobuf).api/openapi/— REST API спецификации (OpenAPI/Swagger).
gen/— Автоматически сгенерированный код. Не редактировать!gen/go/— Go (gRPC стабы, HTTP серверы, модели).
Taskfile.yml— Скрипты автоматизации (аналог make).
Как создавать спецификацию
1. Добавление gRPC сервиса (Protobuf)
- Создайте директорию:
api/proto/<service_name>/v1/. - Создайте файл
.proto(например,service.proto). -
В начале файла укажите корректный
go_package:syntax = "proto3"; package ecosystem.<service_name>.v1; option go_package = "gitflic.ru/project/koteyye/koteyye_eco_system_api/gen/go/<service_name>/v1/grpc;<pkg_alias>"; - Запустите генерацию:
task gen:proto.
2. Добавление REST сервиса (OpenAPI)
- Создайте директорию:
api/openapi/<service_name>/v1/. - Составьте спецификацию
service.yaml(OpenAPI 3.0+). - Убедитесь, что настроена генерация в
Taskfile.yml(командаgen:openapi:go). - Запустите генерацию:
task gen:openapi:go.
Генерация кода
Для генерации всего кода используйте Task:
task gen
Доступные подкоманды:
task gen:proto— только Protobuf/gRPC.task gen:openapi:go— только OpenAPI (Go).task gen:openapi:ts— только OpenAPI (TypeScript).
Требования
Описание
Контракты для экосистемы
Конвейеры
0
успешных
0
с ошибкой