DEV Community

Cover image for 5 Open Source tools written in Golang that you should know about
Utpal Nadiger for Digger

Posted on

5 Open Source tools written in Golang that you should know about

Most modern backend developers absolutely LOVE golang.

Developers continue to build simple, secure, scalable systems with Go, and those who do, swear by it. In this blog, we will explore five essential open-source tools written in Go that are turning heads.

Lets dive right in 👇

Digger

Digger

Digger is an Open Source Infrastructure as Code management tool that helps orchestrate IaC such as Terraform & OpenTofu within GitHub Actions. Digger reuses compute used for application code so that you don't overpay for 3rd party managed compute for IaC. This approach eliminates the duplication of CI/CD infrastructure such as compute, jobs, and logs, and reduces security concerns by keeping sensitive data within the CI job. Digger's integration with existing CI systems offers scalability by leveraging on-demand compute resources and enhances security by confining data within the existing CI environment.

Star Digger on GitHub ✨

Good first issues

Buf.build

Buf.build

The Buf CLI is a versatile tool designed for handling Protocol Buffers (Protobuf), a method of serializing structured data. It offers several key features, including managing Protobuf assets through the Buf Schema Registry (BSR), providing a linter to enforce optimal API design and structure, and a breaking change detector to maintain compatibility either in source code or at the wire level. Additionally, the Buf CLI includes a generator that activates plugins based on user-defined templates and a formatter to standardize the formatting of Protobuf files according to industry norms. It also integrates seamlessly with the Buf Schema Registry, supporting comprehensive dependency management.

Star Buf on GitHub ✨

Feature Requests

Permify

Permify

Permify is an open-source service for creating and managing complex permissions in applications, inspired by Google Zanzibar. It offers a flexible authorization language compatible with various models like RBAC, ReBAC, and ABAC, and allows for efficient authorization data management in preferred databases. Permify's API facilitates access checks, resource filtering, and bulk permission analyses. It also includes comprehensive testing tools for authorization logic, including scenario-based testing and policy coverage analysis. Additionally, Permify supports multi-tenancy, enabling distinct authorization models for different applications within a single instance.

Star Permify on GitHub ✨

Open Bounties

JuiceFS

JuiceFS

JuiceFS under the Apache License 2.0, is a high-performance POSIX file system optimized for cloud-native environments. It stores data in Object Storage (e.g., Amazon S3) and metadata in databases like Redis, MySQL, or TiKV. JuiceFS integrates massive cloud storage with big data, machine learning, and AI applications efficiently, akin to local storage. It features full POSIX and Hadoop compatibility, S3 interface, Kubernetes support, and shared file storage for numerous clients. Some cool features are - strong consistency, scalable performance, data encryption, global file locks, and compression with LZ4 or Zstandard.

Star JuiceFS on GitHub ✨

Open Issues

Steampipe

Steampipe

Steampipe is a tool that simplifies data extraction from APIs and services, eliminating the need for ETL (Extract, Transform, Load) processes. It includes several components: the Steampipe CLI for querying APIs, ensuring compliance, and creating dashboards; Steampipe Postgres FDWs (Foreign Data Wrappers) which turn APIs into foreign tables in Postgres; Steampipe SQLite extensions that convert APIs into SQLite virtual tables; and standalone export tools for directly exporting data from APIs without requiring a database. Additionally, Turbot Pipes, a part of Steampipe, offers capabilities for querying, checking, and visualizing data, tailored for DevOps teams with a focus on intelligence, automation, and security.

Star Steampipe on GitHub ✨

Good first issues

Top comments (16)

Collapse
 
debadyuti profile image
Deb

Neat. I am into Rust, did not get a change to adopt GoLang. But love the innovation coming out from the community.

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Indeed, thanks Deb!

Collapse
 
shreya_gr profile image
Shreya

Great list.

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Thanks @shreya_gr!

Collapse
 
gupta0112 profile image
gupta

Looks Great Thanks !

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Thanks Priya!

Collapse
 
motatoes profile image
Mohamed

I love steampipe

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Yeah Steampipe is AWESOME!

Collapse
 
debadyuti profile image
Deb

Check Fluvio on GitHub if you ever want to see what streaming on Rust and WebAssembly looks like. :)

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Nice list, I've been looking into Steampipe.

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Thanks Nathan. We love steampipe!

Collapse
 
fernandezbaptiste profile image
Bap

Good read, thanks!

Collapse
 
utpalnadiger profile image
Utpal Nadiger

Thanks!

Collapse
 
matijasos profile image
Matija Sosic

Great to learn more about Go! What should I use Digger for, can I use it for my side project, reflectdaily.app/ ?

Collapse
 
utpalnadiger profile image
Utpal Nadiger

In all honesty, you're probably better off using a PaaS like Vercel for your side project. Digger helps solve Terraform/OpenTofu automation and collaboration at scale with PR level locks, Drift Detection, RBAC via Open Policy Agent, etc.

Collapse
 
kiselitza profile image
aldin

Nice!
If you liked Permify, should definitely check out cerbos.dev as well. They solve the same issue, but the way it works with your apps is rather different: github.com/cerbos/cerbos