---
title: Go + Proto Server Generator
group: editor-extensions
---

## 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:

```bash
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
- [Protobuf Generator](/docs/extensions-proto-gen)
- [SQL Gen Extension](/docs/extensions-generate)
- [Data manager overview](/docs/data-manager-overview)
