Integraciones » Go Code Gen

Go Code Gen


Go Code Gen

La extensión "Go Code Gen" te permite generar un servidor Go completamente operativo con integración de Protobuf para gestionar la capa de datos de tu aplicación basándose en el modelo de datos definido.

En el panel de extensiones, haz clic en la extensión "Go Code Gen". Aparecerá una ventana modal con los siguientes parámetros de configuración:

Configuración de Go Code Gen

  • Configuración del Proyecto (Project Configuration):
    • Project Identifier (Identificador del proyecto): El nombre o identificador único para este proyecto generado.
    • Go Module Path (Módulo Go): La ruta del módulo Go para los paquetes Go (por ejemplo, github.com/nombreusuario/proyecto).
  • Capa de Negocio Principal (Core Business Layer):
    • Generate Core logic & models: Habilitado automáticamente para generar las entidades, repositorios y reglas de validación de la base de datos.
    • Database Type (Base de datos): Selecciona el motor de base de datos que utilizarás: MySQL o PostgreSQL.
    • Event Transport (Eventos): Sistema opcional de eventos (Disabled o Apache Kafka) para transmitir notificaciones de cambios en los datos.
  • Protocolos y Servidores de API (Protocols & API Servers):
    • Protobuf Definitions (Definiciones de Protobuf): Si está habilitado, genera definiciones de esquema .proto para tus entidades.
    • gRPC Server Layer (Servidor gRPC): Si está habilitado, genera controladores de servicios gRPC seguros y tipados (requiere Protobuf).
    • REST Server Layer (Servidor REST): Si está habilitado, genera endpoints HTTP REST estándar y archivos de especificación OpenAPI.
    • gRPC Port (Puerto gRPC): El puerto de red donde escuchará el servidor gRPC (por defecto es 50051).
    • REST Port (Puerto REST): El puerto de red donde escuchará el servidor HTTP REST (por defecto es 8080).
  • DevOps y Autenticación (DevOps & Authentication):
    • Authentication Middleware (Autenticación): Configura la autenticación para los endpoints (Disabled, JWT (JSON Web Token) o Keycloak OpenID).
    • Dockerfile Containerization (Dockerfile): Si está habilitado, genera un archivo de compilación multi-etapa Docker para contenedorizar el servicio de Go.
    • Helm Charts Deployment (Helm): Si está habilitado, genera archivos de chart de Kubernetes Helm dentro de una carpeta .helm.
    • GitHub Actions CI/CD: Si está habilitado, genera archivos de configuración de integración continua para GitHub Actions.

Una vez configurado y ejecutado, el generador de código:

  1. Validará las dependencias del modelo base.
  2. Generará la estructura de código en Go, los esquemas de Protobuf, gestores de consultas a base de datos, configuraciones de Docker/Helm y flujos de CI/CD.
  3. Comprimirá el proyecto completo del servidor en un archivo ZIP.
  4. Generará un enlace de descarga para que puedas obtener el código.

Ejecución vía CLI

También puedes ejecutar la extensión Go Code Gen directamente en tu máquina utilizando la CLI de nuzur. Esto escribe los archivos del proyecto del servidor generado directamente en tu sistema de archivos local sin necesidad de descargar un archivo ZIP desde el navegador:

nuzur-cli go-code-gen

La CLI te guiará para seleccionar tu proyecto, versión, parámetros de configuración y la carpeta de salida donde se escribirán los archivos generados.

Próximos pasos