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 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:
MySQLoPostgreSQL. - Event Transport (Eventos): Sistema opcional de eventos (
DisabledoApache 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
.protopara 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).
- Protobuf Definitions (Definiciones de Protobuf): Si está habilitado, genera definiciones de esquema
- DevOps y Autenticación (DevOps & Authentication):
- Authentication Middleware (Autenticación): Configura la autenticación para los endpoints (
Disabled,JWT (JSON Web Token)oKeycloak 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.
- Authentication Middleware (Autenticación): Configura la autenticación para los endpoints (
Una vez configurado y ejecutado, el generador de código:
- Validará las dependencias del modelo base.
- 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.
- Comprimirá el proyecto completo del servidor en un archivo ZIP.
- 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.