Editor Extensions » Go + Proto Server Generator

Go + Proto Server Generator

The "Go + Proto Server Gen" extension allows you to generate a fully operational Go server with Protobuf integration to manage your application's data layer based on the defined data model.

In the extensions panel, click on the "Go + Proto Server Gen" extension. A modal window will appear with the configuration settings:

  • Identifier: The unique identifier/name for this generated server.
  • Go Module: The Go module namespace (e.g., github.com/company/server-service).
  • Database (Db): Select the target database driver you will be using: mysql or postgresql.
  • Authentication (Auth): Configure authentication for server endpoints:
    • disabled: No built-in authentication.
    • jwt: JSON Web Token authentication.
    • keycloak: Integration with Keycloak identity provider.
  • Event Streaming (Events): Choose the event system:
    • disabled: No events triggered.
    • kafka: Emits data change and lifecycle events to an Apache Kafka broker.
  • gRPC Port: The port number on which the gRPC server should listen (e.g., 50051).
  • Helm: If enabled, generates Kubernetes Helm charts (.yaml configurations) under a .helm directory to help you package and deploy the server.
  • Dockerfile: If enabled, includes a ready-to-use Dockerfile for containerizing the application.
  • GitHub Actions: If enabled, generates standard CI/CD workflow configuration files for GitHub Actions.

Once configured and executed, the code generator:

  1. Validates base model dependencies.
  2. Generates the Go code structure, Protobuf schemas, database query managers, Docker/Helm configurations, and CI/CD pipelines.
  3. Compresses the complete server project into a ZIP file.
  4. Generates a download link for you to retrieve the code.

Run via CLI

You can also run the Go + Proto Server Generator extension directly on your machine using the nuzur CLI. This writes the generated server project files directly to your local filesystem without requiring you to download a ZIP archive from the browser:

nuzur-cli run-extension

The CLI will guide you to select your project, version, configuration settings, and the output folder where the generated files will be written.

Next steps