Browse free open source Go Frameworks and projects below. Use the toggles on the left to filter open source Go Frameworks by OS, license, language, programming language, and project status.

  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    More flexibility. More control.

    Generate interest, access liquidity without selling, and execute trades seamlessly. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it Free
  • 1
    Octant

    Octant

    Highly extensible platform for developers

    Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications. Provide a visual interface to managing Kubernetes that complements and extends existing tools like kubectl and customize. Add information to your cluster views through Octant’s plug-in system. Support a variety of debugging features such as filtering labels and streaming container logs to be part of the Kubernetes development toolkit. Learn about why Octant was created and how it aims to improve upon past attempts to create a Kubernetes dashboard. Debug applications running on a cluster in a local environment by creating port forwards through an intuitive interface. With a complete view of an object and all its related objects, you can more accurately assess the status of applications and avoid unfocused debugging when things go wrong.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 2
    Pion WebRTC

    Pion WebRTC

    Pure Go implementation of the WebRTC API

    Pion implements the WebRTC API. Spend more time building and less time learning a new API. Pion is fast! With quick build times, examples and godoc you will be deploying in no time. Pion works almost everywhere thanks to Go. Ship to Mobile, Desktop, Servers and WASM all with one code base. We built everything from scratch, come learn from our journey. We have docs not just on Pion, but also deep WebRTC knowledge. Pion is owned by the community, no private bugs or roadmaps. Come join in the development on GitHub and Slack. Pion has multiple large production users already. Come learn from them and be the next! Example applications contains code samples of common things people build with Pion WebRTC. Example-webrtc-applications contains more full featured examples that use 3rd party libraries.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 3
    Terratest

    Terratest

    Go library that makes it easier to write automated tests

    Terratest is a Go library that provides patterns and helper functions for testing infrastructure, with 1st-class support for Terraform, Packer, Docker, Kubernetes, AWS, GCP, and more. Create a file ending in _test.go and run tests with the go test command. E.g., go test my_test.go. Use Terratest to execute your real IaC tools (e.g., Terraform, Packer, etc.) to deploy real infrastructure (e.g., servers) in a real environment (e.g., AWS). Use the tools built into Terratest to validate that the infrastructure works correctly in that environment by making HTTP requests, API calls, SSH connections, etc. Undeploy everything at the end of the test. Write automated tests for infrastructure code, including the code you write for use with tools such as Terraform, Kubernetes, Docker, and Packer. This code is released under the Apache 2.0 License.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 4
    WeChat SDK for Go

    WeChat SDK for Go

    WeChat SDK for Go

    WeChat SDK is a Golang version of WeChat SDK, which is simple and easy to use. It is recommended to use go module for dependency management. According to different functions, enter the corresponding module documentation to view. To test the public account, you can use the WeChat public platform interface to test the platform. If you develop in a local environment, you can use the public network address mapped by the ngrok tool to facilitate debugging. The backend of the WeChat official account will verify the interface when filling in the interface configuration information to ensure that the interface can respond normally. If the official account needs to know the IP address list of the WeChat server for security considerations in order to make relevant restrictions, you can obtain the IP address list or IP network segment information of the WeChat server through this interface.
    Downloads: 4 This Week
    Last Update:
    See Project
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Try Free
  • 5
    Wombat

    Wombat

    Cross platform gRPC client

    Cross-platform gRPC client.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    go-gin-api

    go-gin-api

    The API framework based on Gin's modular design

    The API framework based on Gin's modular design encapsulates common functions, is easy to use, and is dedicated to rapid business development. For example, it supports cors cross-domain, jwt signature verification, zap log collection, panic exception capture, trace link tracking, prometheus monitoring indicators, swagger document generation, viper configuration file parsing, gorm database components, gormgen code generation tools, graphql query language, errno uniformly defines error codes, the use of gRPC, cron scheduled tasks, etc. go-gin-api It is an API framework based on Gin 's modular design. It encapsulates commonly used functions and is easy to use. It is dedicated to rapid business research and development. At the same time, it adds more restrictions to constrain the development members of the project team and avoid chaotic and free coding.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    hashmap

    hashmap

    A Golang lock-free thread-safe HashMap optimized for fastest access

    A Golang lock-free thread-safe HashMap optimized for fastest read access. It is not a general-use HashMap and currently has slow write performance for write-heavy use. The minimal supported Golang version is 1.19 as it makes use of Generics and the new atomic package helpers. Reading from the hash map for numeric key types in a thread-safe way is faster than reading from a standard Golang map in an unsafe way and four times faster than Golang's sync.Map. Technical design decisions have been made based on benchmarks that are stored in an external repository: go-benchmark. The library uses a sorted linked list and a slice as an index into that list. The Get() function contains helper functions that have been inlined manually until the Golang compiler will inline them automatically. It optimizes the slice access by circumventing the Golang size check when reading from the slice.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 8
    sftp

    sftp

    SFTP support for the go.crypto/ssh package

    The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem. It also implements an SFTP server for serving files from the filesystem. The basic operation of the package mirrors the facilities of the os package. The Walker interface for directory traversal is heavily inspired by Keith Rarick's fs package.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 9
    Argo Events

    Argo Events

    Event-driven Automation Framework for Kubernetes

    Argo Events is an event-driven workflow automation framework for Kubernetes. It allows you to trigger 10 different actions (such as the creation of Kubernetes objects, invoking workflows or serverless workloads) on over 20 different events (such as webhook, S3 drop, cron schedule, messaging queues - e.g. Kafka, GCP PubSub, SNS, SQS).
    Downloads: 3 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 10
    Beep

    Beep

    A little package that brings sound to any Go application

    A little package that brings sound to any Go application. Suitable for playback and audio processing. Beep is built on top of its Streamer interface, which is like io.Reader, but for audio. It was one of the best design decisions I've ever made and it enabled all the rest of the features to naturally come together with not much code. Decode and play WAV, MP3, OGG, and FLAC. Encode and save WAV. Very simple API. Limiting the support to stereo (two channel) audio made it possible to simplify the architecture and the API. Rich library of compositors and effects. Loop, pause/resume, change volume, mix, sequence, change playback speed, and more. Easily create new effects. With the Streamer interface, creating new effects is very easy. Generate completely own artificial sounds. Again, the Streamer interface enables easy sound generation. Very small codebase. The core is just ~1K LOC.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Buffalo

    Buffalo

    Rapid Web Development w/ Go

    A Go web development eco-system, designed to make your life easier. If you’re familiar with Rake tasks from Ruby, you’ll be right at home using Grift. Seeding a database, and running a cleaning job is now at hand! Running background tasks is easy too, using the Background Workers. Writing a web application module always begins with the same tasks. Buffalo provides you a simple toolbox, the buffalo command, to generate many parts of your app and run the usual tasks. Extend the toolbox with plugins, using the language you want! Use the Webpack-generated configuration to build your frontend assets, so you can optimize both the backend and frontend. Code, save, refresh. Use the buffalo dev command to rebuild your app, from backend to frontend, and just see the changes live! Deep integration with pop provides a simple way to handle databases and common-related tasks. Supported databases: MySQL/MariaDB, PostgreSQL, CockroachDB, SQLite.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    Crossplane Kubernetes

    Crossplane Kubernetes

    The Cloud Native Control Plane

    Build control planes without needing to write code. Crossplane has a highly extensible backend that enables you to orchestrate applications and infrastructure no matter where they run, and a highly configurable frontend that lets you define the declarative API it offers. Upbound built Crossplane to help organizations build their platforms like the cloud vendors build theirs—with control planes. Crossplane is an open source, CNCF project built on the foundation of Kubernetes to orchestrate anything. Encapsulate policies, permissions, and other guardrails behind a custom API line to enable your customers to self-service without needing to become an infrastructure expert. Crossplane is designed from the ground up with extension in mind. From Providers that extend Crossplane to orchestrate new kinds of applications and infrastructure, to Configurations that extend Crossplane to expose new APIs, our community will help you find what you need to build your ideal control plane.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    Fabio

    Fabio

    Consul Load-Balancing made simple

    Fabio is an HTTP and TCP reverse proxy that configures itself with data from Consul. Traditional load balancers and reverse proxies need to be configured with a config file. The configuration contains the hostnames and paths the proxy is forwarding to upstream services. This process can be automated with tools like consul-template that generate config files and trigger a reload. Fabio works differently since it updates its routing table directly from the data stored in Consul as soon as there is a change and without restart or reloading. When you register a service in Consul all you need to add is a tag that announces the paths the upstream service accepts, e.g. urlprefix-/user or urlprefix-/order and fabio will do the rest. Fabio was developed and maintained by Frank Schröder through January, 2020. Since that date primary maintenance has been the responsibility of ENA and the great community of users.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Fiber

    Fiber

    Express inspired web framework written in Go

    An Express-inspired web framework written in Go. Fiber is a Go web framework built on top of Fasthttp, the fastest HTTP engine for Go. It's designed to ease things up for fast development with zero memory allocation and performance in mind. Setting up routes for your application has never been so easy! The Express-like route definitions are easy to understand and work with. Serve your static HTML, CSS, and JavaScript files with ease by defining static routes. You can also serve the contents of multiple directories on the same route! Since Fiber is built on top of Fasthttp, your apps will enjoy unmatching performance! Don't believe us? Here's a benchmark that proves how Fiber shines compared to other frameworks. Are you building an API server? We've got you covered! Fiber is the perfect choice for building REST APIs in Go. Receiving and sending data is fast and easy!
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    Ginkgo

    Ginkgo

    BDD testing framework for Go

    Ginkgo is a Go testing framework built to help you efficiently write expressive and comprehensive tests using Behavior-Driven Development (“BDD”) style. It is best paired with the Gomega matcher library but is designed to be matcher-agnostic. These docs are written assuming you’ll be using Gomega with Ginkgo. They also assume you know your way around Go and have a good mental model for how Go organizes packages under $GOPATH. Ginkgo is tested against Go v1.6 and newer To install Go, follow the installation instructions. An empty test suite is not very interesting. While you can start to add tests directly into books_suite_test.go you’ll probably prefer to separate your tests into separate files (especially for packages with multiple files). Ginkgo builds on Go's testing package, allowing expressive Behavior-Driven Development ("BDD") style tests. It is typically (and optionally) paired with the Gomega matcher library.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    Glamour

    Glamour

    Stylesheet-based markdown rendering for your CLI apps

    Stylesheet-based markdown rendering for your CLI apps. glamour lets you render markdown documents & templates on ANSI-compatible terminals. You can create your own stylesheet or simply use one of the stylish defaults. You can find all available default styles in our gallery. Want to create your own style? Learn how! There are a few options for using a custom style. Call glamour.Render(inputText, "desiredStyle") Set the GLAMOUR_STYLE environment variable to your desired default style or a file location for a style and call glamour.RenderWithEnvironmentConfig(inputText). Set the GLAMOUR_STYLE environment variable and pass glamour.WithEnvironmentConfig() to your custom renderer.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    Go Clean template

    Go Clean template

    Clean Architecture template for Golang services

    The purpose of the template is to show how to organize a project and prevent it from turning into spaghetti code, where to store business logic so that it remains independent, clean, and extensible, how not to lose control when a microservice grows. Configuration. First, config.yml is read, then environment variables overwrite the yaml config if they match. The config structure is in the config.go. The env-required: true tag obliges you to specify a value (either in yaml, or in environment variables). For configuration, we chose the cleanenv library. It does not have many stars on GitHub, but is simple and meets all the requirements. Reading the config from yaml contradicts the ideology of 12 factors, but in practice, it is more convenient than reading the entire config from ENV. It is assumed that default values are in yaml, and security-sensitive variables are defined in ENV.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    Goa

    Goa

    Design-based APIs and microservices in Go

    Goa takes a different approach to building services by making it possible to describe the design of the service API using a simple Go DSL. Goa uses the description to generate specialized service helper code, client code and documentation. Goa is extensible via plugins, for example the goakit plugin generates code that leverage the Go kit library. The service design describes the transport independent layer of the services in the form of simple methods that accept a context and a payload and return a result and an error. The design also describes how the payloads, results and errors are serialized in the transport (HTTP or gRPC). For example a service method payload may be built from an HTTP request by extracting values from the request path, headers and body. This clean separation of layers makes it possible to expose the same service using multiple transports. It also promotes good design where the service business logic concerns are expressed and implemented separately.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    Goravel

    Goravel

    A Golang framework for web artisans. Tribute to Laravel

    Goravel is a web application framework with complete functions and excellent scalability. As a starting scaffolding to help Gopher quickly build their own applications. The framework style is consistent with Laravel, let PHP developers don't need to learn a new framework, but are also happy to play around with Golang! In tribute to Laravel.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    Iris Web Framework

    Iris Web Framework

    The fastest community-driven web framework for Go

    Iris is a fast, full-featured and futuristic web framework written in Go. It is by far the fastest HTTP/2 web framework ever crafted, is highly efficient yet simple. Iris provides a beautifully expressive and easy-to-use foundation for your next website, API or distributed app. Iris comes packed with Webassembly, Automatic HTTPS with Public Domain, MVC, Sessions, Caching, Versioning API, Problem API, Websocket, Dependency Injection and more. It is also fully-compatible with the standard library and 3rd-party middleware packages. Iris is open source and cross-platform, so you can write once and run anywhere with minimum machine power.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    Jobber

    Jobber

    An alternative to cron, with sophisticated status-reporting

    Jobber is a lightweight utility for Unix-like systems that can run arbitrary commands, or "jobs", according to a schedule. It is meant to be a replacement for the classic Unix utility cron. Job execution history: you can see what jobs have recently run, and whether they succeeded or failed. Sophisticated error handling: you can control whether and when a job is run again after it fails. For example, after an initial failure of a job, Jobber can schedule future runs using an exponential backoff algorithm. Sophisticated error reporting: you can control whether Jobber notifies you about each failed run, or only about jobs that have been disabled due to repeated failures.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    Keploy

    Keploy

    Testing for Developers. Toolkit that creates test-cases and data mocks

    Keploy is a functional testing toolkit for developers. It generates E2E tests for APIs (KTests) along with mocks or stubs(KMocks) by recording real API calls. KTests can be imported as mocks for consumers and vice-versa. Merge KTests with unit testing libraries(like Go-Test, JUnit..) to track combined test coverage. KMocks can also be referenced in existing tests or use anywhere (including any testing framework). KMocks can also be used as tests for the server. Keploy is added as a middleware to your application that captures and replays all network interaction served to the application from any source. Keploy has native interoperability as it integrates with popular testing libraries like go-test, junit. Code coverage will be reported with existing plus KTests. It'll also be integrated in CI pipelines/infrastructure automatically if you already have go-test, junit integrated.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    Kratos

    Kratos

    Your ultimate Go microservices framework for the cloud-native era

    Kratos is a microservice-oriented governance framework implemented by golang, which offers convenient capabilities to help you quickly build a bulletproof application from scratch. The communication protocol is based on the HTTP/gRPC through the definition of Protobuf. Abstract transport layer support: HTTP / gRPC. Powerful middleware design, support: Tracing (OpenTelemetry), Metrics (Prometheus is default), Recovery and more. Registry interface able to be connected with various other centralized registries through plug-ins. The standard log interfaces ease the integration of the third-party log libs with logs collected through the Fluentd. Automatically support the selection of the content encoding with Accept and Content-Type. Multiple data sources are supported for configurations and dynamic configurations (use atomic operations). In the protocol of HTTP/gRPC, use the uniform metadata transfer method. You can define errors in protos and generate enums with protoc-gen-go.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    Kubeless

    Kubeless

    Kubernetes Native Serverless Framework

    kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting, and more. Kubeless stands out as we use a Custom Resource Definition to be able to create functions as custom Kubernetes resources. We then run an in-cluster controller that watches these custom resources and launches runtimes on-demand. The controller dynamically injects the functions code into the runtimes and makes them available over HTTP or via a PubSub mechanism. Kubeless is purely open-source and non-affiliated to any commercial organization. Chime in at any time, we would love the help and feedback.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    MinDoc

    MinDoc

    Document management system developed for the IT team

    MinDoc is a simple and easy-to-use document management system developed for the IT team. MinDoc's predecessor was the SmartWiki document system. SmartWiki is a document management system developed based on the PHP framework laravel. Because the deployment of PHP is too complicated for ordinary users, it was developed instead of Golang. It can facilitate user deployment and practicality. The starting point for development is that the company's IT department needs a simple and practical system for document management and sharing of project interfaces. Its function and interface originate from kancloud. It can be used to store daily interface documents, database dictionaries, manual descriptions and other documents. Built-in project management, user management, permission management and other functions can meet the document management needs of most small and medium teams.
    Downloads: 3 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB