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 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.
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.
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.
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.
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.
Top comments (17)
Looks Great Thanks !
Thanks Priya!
Neat. I am into Rust, did not get a change to adopt GoLang. But love the innovation coming out from the community.
Indeed, thanks Deb!
Great list.
Thanks @shreya_gr!
I love steampipe
Yeah Steampipe is AWESOME!
Check Fluvio on GitHub if you ever want to see what streaming on Rust and WebAssembly looks like. :)
Nice list, I've been looking into Steampipe.
Thanks Nathan. We love steampipe!
Good read, thanks!
Thanks!
Great to learn more about Go! What should I use Digger for, can I use it for my side project, reflectdaily.app/ ?
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.
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
How can I contribute to cerbos?