Top 23 Go DevOps Tool Projects
Production-Grade Container Scheduling and ManagementProject mention: Can someone recommend me a Golang complete repo | reddit.com/r/golang | 2021-06-14
Moby Project - a collaborative project for the container ecosystem to assemble container-based systemsProject mention: TIL that you declaring version in docker-compose has been deprecated. | reddit.com/r/docker | 2021-06-13
Swarm mode unfortunately breaks stuff like remote address (original client's IP address) because it uses its TCP ingress proxy, which makes all remote addresses look like they're coming from Docker. See https://github.com/moby/moby/issues/25526
Scout APM - Leading-edge performance monitoring starting at $39/month. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Gogs is a painless self-hosted Git serviceProject mention: GitHub Reinstated YouTube-DL but Restoring Forks Is Apparently a Problem | news.ycombinator.com | 2021-04-17
Sure, I reported an issue to the Gogs maintainer over two weeks ago and he hasn't acknowledged it at all. Here's the public reference that their SECURITY.md asks for: https://github.com/gogs/gogs/issues/6534
Here's another one posted about a week ago: https://github.com/gogs/gogs/issues/6536
Git with a cup of tea, painless self-hosted git serviceProject mention: Self-hosted CI environment / pipelines? | reddit.com/r/selfhosted | 2021-06-10
I'm currently self-hosting Gitea for source control, but I was wondering if any of you fine people have set up any self-hosted continuous integration environments. I would obviously prefer ones that work with Gitea.
HTTP load testing tool and library. It's over 9000!Project mention: How to measure the number of requests a node.js application is receiving per second? | reddit.com/r/node | 2021-06-05
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.Project mention: Provisioning Terraform EC2 Instances via Ansible playbooks & roles | reddit.com/r/Terraform | 2021-06-10
Try Packer and then pick up AMI in your terraform project.
HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boomProject mention: Load Testing Tool | reddit.com/r/devops | 2021-05-07
Run Linux Software Faster and Safer than Linux with Unikernels.
A toolkit for building secure, portable and lean operating systems for containersProject mention: Ask HN: How are you using unikernels? | news.ycombinator.com | 2021-05-27
The definition of what a unikernel is needs to be narrowed down, a lot of these projects in the space (not all the ones listed above) have material differences that are not clear:
- some run only one language
- some require recompilation
- some essentially swap out libraries, others do something closer to dropping your already mostly static binary in a minimal disk image
- some build pid1 processes, others VMs images
Anyway, here are some additional entries in the space:
- https://github.com/linuxkit/linuxkit (more embedded/minimal VM than unikernel)
- https://nabla-containers.github.io/ (runs on Solo5)
I am going through using Linuxkit to build AMIs for cloud providers now. I wouldn’t necessarily class linuxkit as a universal project because it doesn’t have the hallmark blurring of user and kernel space or kernel-as-a-library but you can customize the kernel so it’s an adjacent idea, and I think it’s the one most likely to be in actual use at non-hyperscalers.
webhook is a lightweight incoming webhook server to run shell commandsProject mention: Ask HN: Is there an open-source AWS Code Deploy or similar? | news.ycombinator.com | 2021-04-27
Unfortunately I don't have a specific answer but I've was thinking of doing something similar - I've since changed my approach but this is what I was thinking.
There are a number of these kinds of things for Kubernetes (Keel.sh, et al) but nothing that I could find for plain docker.
One idea I had was to use something like https://github.com/adnanh/webhook and ping a webhook from the Github action. Yes it'd be publicly accessible, but using an HMAC header signed by a github secret would probably mitigate much of the risk. The webhook would do the pull and restart (via a shell script).
I also spent some time playing with waypoint (from Hashicorp) and think it has potential, but of course is a bit different. They do have a docker image 'builder' and I think the webhook could be built into the server side to do the pull on new image.
fwiw, I am looking at moving my app to fly.io
HTTP(S) load generator, ApacheBench (ab) replacement, written in Go
A Mighty CLI for AWSProject mention: Ask HN: Show me the sexy, sexy home page of your favorite free CLI project | news.ycombinator.com | 2021-04-20
Build powerful pipelines in any programming language.Project mention: best way to mock/unit test http.Client? | reddit.com/r/golang | 2021-03-15
Something like this: https://github.com/gaia-pipeline/gaia/blob/8a9f66742fbb4c5120e52fcfeef94ff4fcfd63a0/workers/pipeline/git.go#L233
Quick and Easy server testing/validationProject mention: Find The Cube | dev.to | 2020-11-24
The repository is private but there is a CI/CD no-downtime deployment process. So fancy! I use goss to test the built image along with the docker/build-push-action. The end of my ci.yml GitHub Action workflow looks like this:
A dead simple, no frills Go cross compile tool
yq is a portable command-line YAML processorProject mention: yq: Mastering YAML Processing in Command Line | dev.to | 2021-06-15
Before we begin using yq, we first need to install it. When you google yq though, you will find two projects/repositories. First of them, at https://github.com/kislyuk/yq is wrapper around jq - the JSON processor. If you're already familiar with jq you might want to grab this one and use the syntax you already know. In this article though, we will use the other - a bit more popular project - from https://github.com/mikefarah/yq. This version does not 100% match the jq syntax, but its advantage is that it's dependency free (does not depend on jq), for more context on the differences, see following GitHub issue.
Time Series Alerting Framework
Go port of Coda Hale's Metrics library
Fast cross-platform HTTP benchmarking tool written in GoProject mention: What's the fastest template parser in Go? | dev.to | 2020-10-01
Bulk port forwarding Kubernetes services for local development.Project mention: Using Telepresence 2 for Kubernetes debugging and local development | dev.to | 2021-04-15
Kubefwd works similar to Telepresence by making your local environment think it is inside the cluster. The networking tunnel is one direction only. Telepresence is much smarter as it also makes the other cluster applications think that your local app is inside the same cluster. So with Kubefwd you only get 50% of what basic Telepresence offers. Telepresence also has volume mounting support for more advanced scenarios.
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.Project mention: Docker Compose Alternatives for Kubernetes: Tilt | dev.to | 2021-06-09
Many engineers developing apps that run in Kubernetes use Docker Compose for their local environment, but a lot of great alternatives are out there that make developing against a Kubernetes cluster fast and easy. Tilt is an open source tool for developer workflows with Kubernetes, created by the Tilt team. Other tools in the space include Skaffold, created by Google, and DevSpace, created by Loft Labs. I work at Loft Labs and developer productivity is a big interest of mine, so I thought I'd look at what Tilt has to offer.
aptly - Debian repository management tool
rtop is an interactive, remote system monitoring tool based on SSH
Making it easy to write shell-like scripts in GoProject mention: Any Resources For Implementing Railway Oriented | reddit.com/r/golang | 2020-12-21
The 'script' library is an example of exactly this: https://github.com/bitfield/script
What are some of the best open-source DevOps Tool projects in Go? This list will help you: