awesome-devops
List of stuff worth remembering (and using)
https://github.com/frimik/awesome-devops
Last synced: 22 days ago
JSON representation
Automation and tasking
Observability
- awesome_bot - awesome_bot checks for valid URLs in a file, it can be used to verify pull requests updating a README.
- semantic-release - packagerocket Fully automated version management and package publishing - semantic-release.gitbook.io
- carvel vendir - Easy way to vendor portions of git repos, github releases, helm charts, docker image contents, etc. declaratively
- renovate - Renovatebot - Universal dependency update tool that fits into your workflows.
Browser automation
Observability
- Rod - A Devtools driver for web automation and scraping go-rod.github.io
Build tools
Observability
- Dagger - A PORTABLE DEVKIT FOR CI/CD PIPELINES.
- Melange - build APKs from source code.
- apko - apko: apk-based OCI image builder - Build OCI images using APK directly without Dockerfile
- Makisu - Fast and flexible Docker image building tool, works in unprivileged containerized environments like Mesos and Kubernetes.
- LayerSmith - Build OCI container images with Docker or Podman through a self-hosted web UI, with distro-aware templates, editable Containerfiles, and air-gap exports.
Command Line and Tooling
Observability
- NixOS - Reproducible builds and deployments.
- Script - Making it easy to write shell-like scripts in Go
- Whalebrew - Homebrew, but with Docker images
- aliases - Resolve dependency on all commands by container
- EnvCLI - Don't install Node, Go, ... locally - use containers you define within your project. If you have a new machine / other contributors you just have to install docker and envcli to get started.
- asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more https://asdf-vm.com/
- asdf-k3d - k3d plugin for asdf version manager https://github.com/asdf-vm/asdf
- Variant - Wrap up your bash scripts into a modern CLI today. Graduate to a full-blown golang app tomorrow.
- pet - Simple command-line snippet manager, written in Go.
- git-cliff - A highly customizable changelog generator β°οΈ
- the-way - A code snippets manager for your terminal.
- relnote - Offline stdlib Python CLI and GitHub Action for conventional-commit release notes (no API, no config)
Container Image and Container OS
Observability
- Wolfi - Wolfi is a community Linux OS designed for the container and cloud-native era. Chainguard build curated distroless images.
Content Distribution
Observability
- imgproxy - Fast and secure standalone server for resizing and converting remote images
Continuous Integration / Continuous Delivery
Observability
- Concourse CI - Continuous thingdoer - Concourse presents a general approach to automation that makes it great for CI/CD.
Developer Experience Infrastructure (DXI)
Observability
- coder - Terraform leveraged Software development on your infrastructure - https://coder.com/
Docker
Observability
- await - Await tool to check resource status.
- aws-ecr-public - Public endpoint for AWS Elastic Container Registry
- whoami - Tiny Go webserver that prints os information and HTTP request to output
- local-docker-registry-proxy - Local Docker registry proxy stack for swift K3D (and other) container-related workflows.
- dive - A tool for exploring each layer in a docker image
Documentation
Observability
- Grip - Preview GitHub Markdown files like Readme locally before committing them.
EC2
Kubernetes // Storage
- ec2-instance-selector - A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
Go
Observability
- lile - Easily generate gRPC services in Go β‘
- goreleaser - Deliver Go binaries as fast and easily as possible. gorelaser.com
Jsonnet
Observability
Kubernetes
Kubernetes // Authentication
- kubelogin - kubectl plugin for Kubernetes OpenID Connect authentication (kubectl oidc-login)
- gangway - An application that can be used to easily enable authentication flows via OIDC for a kubernetes cluster.
Kubernetes // Dashboards, UI, Reporting and Validation
- k9s - πΆ Kubernetes CLI To Manage Your Clusters In Style! k9scli.io
- Polaris - Validation of best practices in your Kubernetes clusters
- Forecastle - Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes
- kube-ops-view - Kubernetes Operational View - read-only system dashboard for multiple K8s clusters
- popeye - π A Kubernetes cluster resource sanitizer. popeyecli.io
- pluto - A cli tool to help discover deprecated apiVersions in Kubernetes - Easily Find Deprecated API Versions with Pluto
- Kubeconform - A FAST Kubernetes manifests validator, with support for Custom Resources! (Supercedes kubeval)
- Kail - kubernetes log viewer
- kubespy - Tools for observing Kubernetes resources in real time, powered by Pulumi. https://pulumi.io/
Kubernetes // Development environments
- Skaffold - Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code.
- Tilt - Productivity for teams building Kubernetes apps.
- Loft - Namespace & Virtual Cluster Manager for Kubernetes - Lightweight Virtual Clusters, Self-Service Provisioning for Engineers and 70% Cost Savings with Sleep Mode
- DevSpace - DevSpace - The Fastest Developer Tool for Kubernetes zap Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Kubernetes // Grafana
- promcat - A resource catalog for enterprise-class Prometheus monitoringyou
- Karma - Alert dashboard for Prometheus Alertmanager
- Loki - Like Prometheus, but for logs. https://grafana.com/loki
- dark - (grafana) Dashboards As Resources in Kubernetes
- grabana - User-friendly Go library for building Grafana dashboards
Kubernetes // Image Registries and Image Distribution
- Harbor - An open source trusted cloud native registry project that stores, signs, and scans content.
- Kraken - P2P Docker registry capable of distributing TBs of data in seconds
- Dragonfly - Dragonfly is an intelligent P2P based image and file distribution system
- ecr-mirror - Mirror public repositories to internal ECR repos
- trow - Container Registry and Image Management for Kubernetes Clusters
Kubernetes // Leader Election
-
leaderz
- Modern
coordinationAPI based leader election example for blog post - leader-elector - Leader elector sidecar as explain in Kubernetes blog post: Simple leader election with Kubernetes and Docker
Kubernetes // Observability
- cloudprober - An active monitoring software to detect failures before your customers do.
- kubernetes-mixin - Prometheus Monitoring Mixin for Kubernetes - A set of Grafana dashboards and Prometheus alerts for Kubernetes.
- vigil - π¦ Microservices Status Page. Monitors a distributed infrastructure and sends alerts (Slack, SMS, etc.).
- gatus - β Automated service health dashboard - https://gatus.io
- uptime-kuma - A fancy self-hosted monitoring tool - https://uptime.kuma.pet
Kubernetes // Orchestration
- OperatorHub - OperatorHub.io is a new home for the Kubernetes community to share Operators. Find an existing Operator or list your own today.
- ArgoCD - Declarative continuous deployment for Kubernetes. https://argoproj.github.io/argo-cd/
- flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Kubernetes // Provisioning and Dev Clusters
- KubeStitch - Kubernetes deployment stitcher - local development and demo stack.
Kubernetes // Storage
- rook - Open-Source, Cloud-Native Storage for Kubernetes - Production ready management for File, Block and Object Storage
- ceph - Ceph uniquely delivers object, block, and file storage in one unified system.
- longhorn - Cloud-Native distributed block storage built on and for Kubernetes
Kubernetes // Storage and Databases
- Vitess - A database clustering system for horizontal scaling of MySQL
- kapp - Deploy and view groups of Kubernetes resources as "applications". Apply changes safely and predictably, watching resources as they converge.
- carvel - Carvel provides a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes.
- Contour - open source Kubernetes ingress controller providing the control plane for the Envoy edge and service proxy.β
- Keiko - Keiko - Enable Kubernetes at scale - from Intuit. Creators of Argo CD etc.
- helm-mapkubeapis - This is a Helm plugin which map deprecated or removed Kubernetes APIs in a release to supported APIs
- kube-node-init - Kubernetes daemonset for node initial configuration. Currently for modifying files and systemd services on eksctl nodes without changing userdata
- Kuard - Demo app for Kubernetes Up and Running book - Useful for testing basics of readynesschecks behaviours etc.
- nodetaint - Controller to manage taints for nodes in a k8s cluster.
- nidhogg - Kubernetes Node taints based on Daemonset Pods
- k8s-metadata-injector - Inject metadata into kubernetes resources based on namespces
- helm-controller - A simple way to manage helm charts (v2 and v3) with a Custom Resource Definitions in k8s.
- k8s-image-swaper - βΈοΈ Mirror images into your own registry and swap image references automatically.
- banzaicloud/bank-vaults - A Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more. A CLI tool to init, unseal and configure Vault (auth methods, secret engines). Direct secret injection into Pods.
- kubernetes-secret-generator - Kubernetes controller for automatically generating and updating secrets
- kube-ns-suspender - A k8s controller that scales up and down namespaces on-demand with an embedded friendly UI and a Prometheus exporter. Inspired by kube-downscaler.
Kubernetes // Operator Frameworks
Kubernetes // Storage
- kopf - A Python framework to write Kubernetes operators in just a few lines of code https://kopf.readthedocs.io/
Logs and Observability
Observability
- M3 - M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform https://m3db.io/
- gosivy - Another visualization tool for Go process metrics.
- exporter-merger - Merges Prometheus metrics from multiple sources
Networking
Observability
- Nebula - A scalable overlay networking tool with a focus on performance, simplicity and security. defined.net
- alterNAT - High availability implementation of AWS NAT instances.
- vyos - Open source router and firewall platform. vyos.io
On prem
Observability
- seesaw - Seesaw v2 is a Linux Virtual Server (LVS) based load balancing platform. Binaries: Shelmangroup
Other
Observability
- Excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams. - excalidraw.com
- diagrams - π¨ Diagram as Code for prototyping cloud system architectures.
- Heimdall - An Application dashboard and launcher
Performance related
Observability
- ec2-boot-bench - Benchmark EC2 instance boot time from API call to accepting TCP connections.
Python
Observability
- python-poetry - PYTHON PACKAGING AND DEPENDENCY MANAGEMENT MADE EASY
Templating and configuration management
Observability
- Konfigurator - A kubernetes operator that dynamically generates and manages app configuration based on kubernetes resources
- gomplate - A flexible commandline tool for template rendering. Supports lots of local and remote datasources. https://gomplate.ca
- confd - Manage local application configuration files using templates and data from etcd or consul
- remco - remco is a lightweight configuration management tool https://heavyhorst.github.io/remco/
Terraform
Kubernetes // Storage
- Atlantis - Terraform Pull Request Automation
- Pluralith - Infrastructure State Visualisation
- blast-radius - Interactive visualizations of Terraform dependency graphs using d3.js - https://28mm.github.io/blast-radius-docs/
- tflock - Lock your Terraform state manually
- tfmigrate - A Terraform state migration tool for GitOps