The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Go Open-Source Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
-
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
-
Moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
-
leetcode-master
《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫!🔥🔥 来看看,你会发现相见恨晚!🚀
-
rclone
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
-
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
-
tidb
TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang (awesome-go.com)
Make sure you have Go installed https://go.dev/.
Project mention: Building Scalable GraphQL Microservices With Node.js and Docker: A Comprehensive Guide | dev.to | 2024-04-10To learn more, you can start by exploring the official Kubernetes documentation.
Seems to be the exact opposite of https://github.com/fatedier/frp which is a reverse tunnel over a variety of protocols (including HTTP).
Project mention: How to Build and Document a Go REST API with Gin and Go-Swagger | dev.to | 2024-03-08Now let’s define the functions that will be called whenever a request hits our API. All the functions will be referencing the context provided by the Gin web framework. Paste the following code below the sample slice we just added to api.go:
This blog is running on Hugo. It had previously been running on Jekyll. Both these SSGs ship with the ability to create excerpts from your markdown content in 1 line or thereabouts.
Having been featured in our February 2023, and January 2024 Release Radars, Moby is the original Linux Container runtime. This new version adds a bunch of changes to the Docker CLI and Moby itself with additional features. There's bug fixes and enhancements, with the main thing for users to be on the look out for containers that were created using Docker Engine 25.0.0. These containers might have duplicate MAC addresses, and thus must be recreated. The same goes for those containers created with Moby 25.0+ and with user defined MAC addresses. Read up on all these changes in the release notes.
Project mention: Docker Log Observability: Analyzing Container Logs in HashiCorp Nomad with Vector, Loki, and Grafana | dev.to | 2024-04-19Monitoring application logs is a crucial aspect of the software development and deployment lifecycle. In this post, we'll delve into the process of observing logs generated by Docker container applications operating within HashiCorp Nomad. With the aid of Grafana, Vector, and Loki, we'll explore effective strategies for log analysis and visualization, enhancing visibility and troubleshooting capabilities within your Nomad environment.
fzf : https://github.com/junegunn/fzf
Project mention: Platform issues which disadvantage Firefox compared to first-party browsers | news.ycombinator.com | 2024-01-19My biggest gripe with Firefox on Android is that sometimes I enter a domain in the address bar, press enter and nothing happens.
This behaviour seems to be erratic and only affects a few websites, such as https://forum.syncthing.net.
Closing the tab or using a different one doesn't solve the problem. I need to force close the app to fix this.
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
Project mention: Oracle Linux 8.8'de PostgreSQL 13 Yedekli Yapı Nasıl Kurulur? - Patroni, ETCD, HAProxy | dev.to | 2023-12-07sudo dnf -y install curl wget vim ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4) echo $ETCD_RELEASE wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz tar xvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz cd etcd-${ETCD_RELEASE}-linux-amd64 sudo mv etcd* /usr/local/bin ls /usr/local/bin /usr/local/bin/etcd --version
Even more relevant would be the Ethereum Improvement Proposal repo (where people submit proposals to change the spec):
https://github.com/ethereum/EIPs
Or the go-ethereum execution client (the most popular execution client):
https://github.com/ethereum/go-ethereum
cmd: here where we will leave the main.go that starts our app.
> Gitea but the other one
Wouldn't that also be Gogs? https://gogs.io/
I remember when that one was what a lot of people were looking into, before the Gitea fork happened. It's odd to see how this has happened yet again, but I guess is a good thing that it's even possible in the first place, if there are indeed differing values and goals?
Project mention: A Distributed File System in Go Cut Average Metadata Memory Usage to 100 Bytes | news.ycombinator.com | 2024-02-22Looks like minio added this in 2022:
https://github.com/minio/minio/pull/15433
rclone: a command-line program to manage files on cloud storage.
Linux Mint with Cinnamon: https://www.linuxmint.com/ as far as desktop OSes go it's familiar (Ubuntu without snaps by default), whereas the UI feels both snappy, doesn't use too much resources and is actually pretty to look at.
MobaXTerm: https://mobaxterm.mobatek.net/ this one is a bit more Windows centric but I ended up paying for it and replaced mRemoteNg and PuTTY with it, it's even better than Remmina or whatever Linux has to offer - you can manage SSH/RDP/VNC/... sessions, input across multiple sessions side by side and it just simplifies things a lot (jump host support, a port forwarding too and so much more).
GitKraken: https://www.gitkraken.com/ also a piece of software that I paid for, this one actually makes using Git pleasant, feels better to use than SourceTree and Git Cola (even though that latter is wonderfully lightweight, too) and honestly I prefer that to the CLI nowadays.
Kanboard: https://kanboard.org/ is a lightweight Kanban project management tool, it might not have every feature under the sun but it's the most snappy project management tool I've ever used, looks simple and runs well. I honestly love it, what a nice thing to have.
Most modern text editors and IDEs: I personally pay for JetBrains IDEs but also like Visual Studio Code as a text editor and both have helped me immensely, they're reasonably performant when you have the RAM, look nice, often give you suggestions about how to improve your code and also have a plethora of plugins in their ecosystems. Nowadays I unapologetically use LLMs as well and overall it feels like I have these great tools and cool autocomplete (that is sometimes a bit silly and wrong) at my disposal, that makes me happy.
Kdenlive: https://kdenlive.org/ imagine if there was a successor to Windows Movie Maker, though something that gets most of the important stuff out of Sony Vegas, except is also completely free and works on most platforms. Kdenlive is all of that and also somehow quite pleasant to use, I actually prefer it to DaVinci resolve. There is a bit of a learning curve to any piece of software like this, but everything mostly makes sense in this one.
Gitea: https://about.gitea.com/ I still use this for my personal Git repositories and integrating with CI systems and it's lightweight, looks good and just feels pleasant to use. Previously I self-hosted GitLab and constantly ran into resource exhaustion as well as doubts about the next update is going to corrupt all of my data and break (it did), so now I use Gitea instead.
Drone CI: https://www.drone.io/ a container native CI solution that I can also self host. It's container oriented, integrates with Gitea nicely, is similarly nice to GitLab CI and doesn't cause me headaches like Jenkins would.
Docker: https://www.docker.com/ yes, even Docker desktop. It just makes working with containers really pleasant and predictable, even when something like Podman also exists (and also is great). I don't know, I feel like Docker really saved me from having brittle legacy environments, even self-contained containers with health checks and resource limits with still the same brittle code inside of those make me feel way more safe.
Project mention: A MySQL compatible database engine written in pure Go | news.ycombinator.com | 2024-04-09tidb has been around for a while, it is distributed, written in Go and Rust, and MySQL compatible. https://github.com/pingcap/tidb
Somewhat relatedly, StarRocks is also MySQL compatible, written in Java and C++, but it's tackling OLAP use-cases. https://github.com/StarRocks/starrocks
We can use the flag with --date or -date, Go already does the automatic check. We can make our entire boilerplate with this approach, but let's make it a little easier and use the Cobra CLI package.
GORM is a comprehensive ORM tool in Go, offering a code-first approach which allows defining database schemas using struct tags in Go. It's known for its developer-friendly nature, making it suitable for both beginners and experienced users. GORM supports a variety of SQL databases like MySQL, PostgreSQL, and SQLite. It's designed to be flexible, allowing developers to drop down to raw SQL when necessary. However, it's important to be cautious about its performance implications in large-scale applications.
Go related posts
- How short can Git abbreviate? (2013)
- Fastest Zero Allocation Golang LRU for key value pairs in []byte
- Ask HN: Which books/resources to understand modern Assembler?
- Ask HN: What software sparks joy when using?
- Docker compose, orchestrating and automating services
- How to Visualize and Analyze Data in Open Source Communities
- Learn to ask for help
-
A note from our sponsor - WorkOS
workos.com | 23 Apr 2024
Index
What are some of the best open-source Go projects? This list will help you:
Project | Stars | |
---|---|---|
1 | go-formatter | 120,346 |
2 | go | 119,397 |
3 | kubernetes | 106,611 |
4 | frp | 79,379 |
5 | Gin | 75,354 |
6 | Hugo | 72,452 |
7 | Moby | 67,687 |
8 | Grafana | 60,279 |
9 | fzf | 59,462 |
10 | syncthing | 59,372 |
11 | Caddy | 53,568 |
12 | traefik | 47,726 |
13 | leetcode-master | 47,124 |
14 | etcd | 46,292 |
15 | go-ethereum | 46,000 |
16 | golang-standards/project-layout | 45,717 |
17 | Gogs | 44,097 |
18 | minio | 44,094 |
19 | rclone | 43,720 |
20 | Gitea | 41,851 |
21 | tidb | 36,096 |
22 | cobra | 35,891 |
23 | GORM | 35,416 |
Sponsored