#DevOps Tools

Open-source projects categorized as DevOps Tools
Language filter: + Go + Python + Ruby + Shell

Top 23 DevOps Tool Open-Source Projects

  • GitHub repo kubernetes

    Production-Grade Container Scheduling and Management

    Project mention: Ask HN: Use VMs to host Containers? | news.ycombinator.com | 2021-04-19
  • GitHub repo Moby

    Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

    Project mention: Fedora 34 and docker rootless insanity. Warning: rant-y | reddit.com/r/docker | 2021-04-15

    For Fedora 33 I had to use https://github.com/AkihiroSuda/moby-snapshot and like 10 workarounds I don't even remember anymore e.g. https://github.com/moby/moby/issues/41230 https://github.com/moby/moby/pull/42199/files

  • GitHub repo Ansible

    Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.

    Project mention: UNH CEPS / General Advice | reddit.com/r/unh | 2021-04-14

    The job market in New England was terrible for junior devs in 2010 and there were only 6-7 CS graduates that year down from the ~130 that started in freshman year. Anyway, I graduated and looked in NH, Boston, Stamford, and NYC and couldn't find anything, but ended up finding a neat gig outside of DC working for BAE as a kernel developer for a proprietary operating system called STOP (https://www.baesystems.com/en/product/stop-os). I worked there for two years before realizing I hated the area and also the DoD's budget got slashed so we were looking at staff reductions. I reached out to a fellow 2010 UNH CS graduate and ex-IOLer working at NetApp and he hooked me up with an interview down in Raleigh for a SAN interoperability role which was basically getting paid a lot more money to do what I did at the IOL. Two years after that NetApp did a ton of layoffs and my whole group got cut in half. Some of the smarter people went to a startup called Nimble Storage, so I decided to follow the smart people and resigned from NetApp and went to Nimble. I was there for 4 years and really got my hands in helping develop the test library and transition it from Perl to Python. Sounds boring, but it was pretty interesting and was my first crack at managing projects across timezones. Nimble got acquired by HPE and after a year of watching our benefits get slashed or taken away completely I resigned to work at Nutanix and join a guy that I had worked at NetApp and Nimble with previously. I was there less than a year before I left for personal reasons and joined a cloud/kubernetes monitoring company called Sysdig that was founded by the Wireshark guy and currently has Nimble's old CEO in charge. The Sysdig office in Raleigh is basically entirely comprised of people from NetApp and Nimble, so it was like a reunion. While there I developed a test framework in Python that leveraged pytest, terraform (https://www.terraform.io/), ansible (https://www.ansible.com/) to deploy resources across multiple clouds and kubernetes environments, install Sysdig components on them, then test the products. I left Sysdig last summer and rejoined Nutanix in a different capacity and now have a bit more project ownership, though I am still in an individual contributor role (not a manager).

  • GitHub repo Gogs

    Gogs is a painless self-hosted Git service

    Project 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

  • GitHub repo letsencrypt

    Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.

    Project mention: ECDSA or RSA | reddit.com/r/crypto | 2021-04-10

    Certbot does support secp521r1, at least after looking at its changelog.

  • GitHub repo Gitea

    Git with a cup of tea, painless self-hosted git service

    Project mention: GitHub Reinstated YouTube-DL but Restoring Forks Is Apparently a Problem | news.ycombinator.com | 2021-04-17

    The gogs maintainer currently seems to not be doing much with it and seems to be ignoring security reports. I would probably recommend the gitea fork instead.

    https://github.com/go-gitea/gitea

  • GitHub repo Docker Compose

    Define and run multi-container applications with Docker

    Project mention: Creating {legacy} static build via docker and deploying with mina-scp | dev.to | 2021-04-15

    If you are new to docker and docker-compose, I would advise you to get your hands dirty in docker concepts by referring it here and here

  • GitHub repo Vagrant

    Vagrant is a tool for building and distributing development environments.

    Project mention: What's your setup with sharing code in your Company? | reddit.com/r/webdev | 2021-04-11

    Depending on the use case, Vagrant VM, self-hosted Gitea or with Azure DevOps Services.

  • GitHub repo Vegeta

    HTTP load testing tool and library. It's over 9000!

    Project mention: Need advice for performance tuning Apache web server | reddit.com/r/linuxadmin | 2021-03-18

    Oh, I forgot to mention, also give vegeta a try for load testing. It's extremely good, with good data reporting.

  • GitHub repo Fabric

    Simple, Pythonic remote execution and deployment.

    Project mention: Cronjob to run on multiple multiple mchines | reddit.com/r/bash | 2021-03-12

    Fabric, if you like Python.

  • GitHub repo Packer

    Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

    Project mention: Is it possible to 'lift' disk contents to RAM? | reddit.com/r/linuxquestions | 2021-04-16

    Why not just use something like Packer to generate a new cloud image template to your specifications instead of going through all the trouble of hacking an existing image?

  • GitHub repo Logstash

    Logstash - transport and process your logs, events, or other data

    Project mention: Help with parsing log in logstash into uniqe lines | reddit.com/r/elasticsearch | 2021-04-19

    https://github.com/elastic/logstash/issues/1650 See if this works.

  • GitHub repo Capistrano

    Remote multi-server automation tool

    Project mention: Cronjob to run on multiple multiple mchines | reddit.com/r/bash | 2021-03-12

    Capistrano, if you like Ruby.

  • GitHub repo SaltStack

    Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

    Project mention: How to pass variables to Azure VM extension for Linux? | reddit.com/r/AZURE | 2021-04-05
  • GitHub repo Hey

    HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

    Project mention: Application down when high load | reddit.com/r/dotnet | 2021-04-20

    Well you can simulate it and see the error it's having. Install hey on your machine. Launch the app and use hey to do 2000+ req/sec. Here is the link for hey https://github.com/rakyll/hey

  • GitHub repo xg2xg

    by ex-googlers, for ex-googlers - a lookup table of similar tech & services

    Project mention: xy2xy - yandex inner technologies analog list | dev.to | 2021-02-11

    Couple of years ago I found xg2xg repository on github. I was fascinated how many projects there is inside google.

  • GitHub repo lynis

    Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.

    Project mention: What is system hardening? | reddit.com/r/Linuxadministrators | 2021-04-15

    Use a security tool like Lynis to perform a regular audit of your system. Any findings are showed on the screen and also stored in a data file for further analysis. With an extensive log file, it allows to use all available data and plan next actions for further system hardening.

  • GitHub repo psutil

    Cross-platform lib for process and system monitoring in Python

    Project mention: Profiling Python code with memory_profiler | dev.to | 2021-04-21

    It uses the psutil library (or can use tracemalloc or posix) to access process information in a cross platform way, so it works on Windows, Mac, and Linux.

  • GitHub repo linuxkit

    A toolkit for building secure, portable and lean operating systems for containers

    Project mention: Docker Without Docker | news.ycombinator.com | 2021-04-08

    I'm really impressed by fly.io, and the candidness with which they share some of their really awesome technology. Being container-first is the next step for PaaS IMO and they are ahead of the pack.

    I aim to build a platform like theirs someday (probably not any time soon) but I don't think I'd do any of what they're doing -- it feels unnecessary. Bear with me as I recently learned that they use nomad[0] and some of these suggestions are kubernetes projects but I'd love to hear why the following technologies were decided against (if they were):

    - kata-containers[1] (it does the whole container -> VM flow for you, automatically, nemu, firecracker) with multiple VMM options[2]

    - linuxkit[3] (let's say you didn't go with kata-containers, this is another container->VM path)

    - firecracker-containerd[4] (very minimal keep-your-container-but-run-it-as-a-VM)

    - kubevirt[5] (if you just want to actually run VMs, regardless of how you built them)

    - Ceph[6] for storage -- make LVM pools and just give them to Ceph, you'll get blocks, distributed filesystems (CephFS), and object gateways (S3/Swift) out of it (in the k8s space Rook manages this)

    As an aside to all this, there's also LXD, which supports running "system" (user namespace isolated) containers, VMs (somewhat recent[7][8]), live migration via criu[9], management/migration of underlying filesystems, runs on LVM or zfs[10], it's basically all-in-one, but does fall behind in terms of ecosystem since everyone else is aboard the "cloud native"/"works-with-kubernetes" train.

    I've basically how I plan to run a service like fly.io if I ever did -- so maybe my secret is out, but I sure would like to know just how much of this fly.io got built on (if any of it), and/or what was turned down.

    [0]: https://news.ycombinator.com/item?id=26745514

    [1]: https://github.com/kata-containers/kata-containers

    [2]: https://github.com/kata-containers/kata-containers/blob/2fc7...

    [3]: https://github.com/linuxkit/linuxkit

    [4]: https://github.com/firecracker-microvm/firecracker-container...

    [5]: https://github.com/kubevirt/kubevirt

    [6]: https://docs.ceph.com/

    [7]: https://discuss.linuxcontainers.org/t/running-virtual-machin...

    [8]: https://github.com/lxc/lxd/issues/6205

    [9]: https://criu.org/Main_Page

    [10]: https://linuxcontainers.org/lxd/docs/master/storage

  • GitHub repo supervisor

    Supervisor process control system for UNIX

    Project mention: Some questions regarding building a bot? | reddit.com/r/redditdev | 2021-03-15

    Something like supervisord works wonders. It'll reset your bot when it crashes or when your machine resets and it's dead easy to set up.

  • GitHub repo Chef

    Chef Infra, a powerful automation platform that transforms infrastructure into code automating how infrastructure is configured, deployed and managed across any environment, at any scale

  • GitHub repo webhook

    webhook is a lightweight incoming webhook server to run shell commands

    Project mention: Automated git pull in a VPS environment | reddit.com/r/git | 2021-03-11

    I use webhook for this and configured my github repo to send a webhook to it every time i push. Works perfect.

  • GitHub repo GVM

    Go Version Manager

    Project mention: Recommended way to manage go versions on mac and linux | reddit.com/r/golang | 2021-03-27

    Is https://github.com/moovweb/gvm the best for managing golang versions?

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-04-21.

Index

What are some of the best open-source DevOps Tool projects? This list will help you:

Project Stars
1 kubernetes 76,510
2 Moby 60,067
3 Ansible 47,820
4 Gogs 36,824
5 letsencrypt 27,911
6 Gitea 24,443
7 Docker Compose 22,402
8 Vagrant 21,815
9 Vegeta 17,166
10 Fabric 12,823
11 Packer 12,766
12 Logstash 12,106
13 Capistrano 11,812
14 SaltStack 11,684
15 Hey 10,889
16 xg2xg 9,653
17 lynis 8,359
18 psutil 7,241
19 linuxkit 6,817
20 supervisor 6,783
21 Chef 6,555
22 webhook 6,429
23 GVM 6,203