Sobre el proyecto

Kratos es un framework ligero de Go orientado a la creación de microservicios nativos de la nube. Expone API pequeñas y explícitas que cubren transporte, middleware, registro, configuración, logging, codificación y generación de código, para que el código de la aplicación pueda concentrarse en la lógica de negocio. Capacidades clave descritas en el README: - Desarrollo API-first usando Protobuf, con código HTTP y gRPC generado. - Una capa de transporte unificada que maneja servidores HTTP y gRPC. - Middleware componible para aspectos como recuperación, logging, validación, tracing, métricas y autenticación. - Componentes de registro, configuración y codificación conectables, lo que permite intercambiar distintos backends. - Logging construido sobre la biblioteca estándar log/slog, con extensiones de OpenTelemetry disponibles mediante paquetes contrib. - Manejo consistente de metadatos, errores, validación, OpenAPI y flujos de generación de código. - Un ecosistema contrib para integraciones opcionales, incluidos registros, almacenes de configuración, middleware, codificaciones y observabilidad. Para empezar se requiere Go 1.25 o posterior, protoc y protoc-gen-go. La CLI se instala con go install; después, kratos new crea el andamiaje de un servicio, kratos proto add/client/server genera artefactos de Protobuf y kratos run inicia el servicio. Un ejemplo mínimo muestra cómo crear servidores HTTP y gRPC, registrarlos con kratos.New y llamar a app.Run. El proyecto señala que v3 reduce las dependencias del núcleo y hace explícito el comportamiento que antes era implícito, y remite a los lectores a una guía de migración de v2 a v3 antes de actualizar servicios en producción. Otros recursos incluyen documentación oficial, un repositorio de ejemplos, una estructura de proyecto recomendada y una guía de contribución de la comunidad. Las tareas de desarrollo se ejecutan mediante make test y make lint. Los canales de la comunidad incluyen documentación, un grupo de WeChat, Discord y GitHub Discussions. Los problemas de seguridad se gestionan de forma privada mediante una dirección de correo dedicada. El proyecto tiene licencia MIT y reconoce la influencia de go-kit, go-micro, go-cloud, go-zero y beego.