GithubHelp home page GithubHelp logo

bretfisher / awesome-swarm Goto Github PK

View Code? Open in Web Editor NEW
291.0 22.0 17.0 225 KB

All the awesome tools, docs, and training on Docker and Mirantis Swarm Mode (SwarmKit)

License: Creative Commons Zero v1.0 Universal

swarm docker-swarm containers docker orchestration orchestrator swarmkit awesome awesome-list

awesome-swarm's Introduction

Awesome Swarm Awesome

An awesome list of tools and info on Swarm Mode (SwarmKit)

Swarm (Swarm Mode, SwarmKit) is the simple orchestration and scheduling system built into Moby, Docker Engine, and Mirantis Container Engine (MCE). It is a distributed system that allows you to create and manage a cluster of container runtimes (nodes) and the container workloads running on them.

This Awesome List is maintained by @BretFisher and @s4ke. This is a curated list of working and awesome tools and resources for using Swarm. It is not an official list, but a community effort to help people find the best stuff for Swarm in 2023 and beyond.

Contents

Recent News and Updates

Official Main Resources

Chat and Forums

Community Tools

Cluster Management

  • Portainer - A management UI that allows you to control Docker hosts, Swarm clusters, and Kubernetes clusters.
  • Swarmpit - Lightweight mobile-friendly Docker Swarm management UI.
  • AWS Docker Swarm Terraform Module
  • Swarmsible - Tooling to create and manage Docker Swarm clusters based on Ansible.
  • Dockersamples Swarm Visualizer - A basic web GUI visualizing a Swarm cluster. More of a concept and teaching UI than a production tool.
  • Swarm Dashboard - A Simple Monitoring Dashboard for Docker Swarm Cluster.
  • swarmgate - Multitenancy for Docker Swarm - Docker Socket Proxy for use with Docker Swarm to have multiple tenants on a single Swarm.
  • Spin - A lightweight tool that helps developers manage applications from development to production using Docker Compose, Docker Swarm, and Ansible.

Extra Functionality

Volumes and Storage

Swarm previously only supported local volumes, NFS, and a limited set of Docker Engine Plugin drivers that supported Swarm Mode. Driver support has dwindled over time as vendors moved to Kubernetes. In 2023, with the Docker Engine v23.x release, Docker Engine and Swarm Mode gained the Container Storage Interface (CSI) standard. Existing CSI drivers will need to add Swarm support.

Networking

  • Swarm Ports - List and description of all the ports used by Swarm Mode (and the very old classic Swarm, if you're into that).
  • Libnetwork Troubleshooting - Official Doc on using network diagnostic tools.
  • Traefik Proxy - A reverse proxy and load balancer that makes deploying HTTP (and more) published services easy. Swarm Mode docs start here.
  • Caddy Docker Proxy - Caddy based reverse proxy with automatic service discovery based on labels.
  • rawdns - a direct, raw DNS interface to the Docker API.

Monitoring

Community Tutorials and Education

Courses and Videos

Articles and Sample Code

Organisations Using Swarm

Related Awesome Lists

While this list is focused on Docker Swarm resources, general resources such as ones for Docker or Docker Compose can be helpful. The following keeps track of related awesome lists focused on this.

RIP

Honorable mentions of tools and information that are no longer maintained or supported. It may still work, but it's not being updated.

  • RexRay - A container storage orchestration engine.

Contributing

This list thrives on contributions from the community. The Maintainers can't do it alone. We need Swarm fans to help us find the best Swarm resources.

Want to contribute? Please read the contribution guidelines. You can also ask questions in the GitHub Discussions, or our Discord Server #swarm channel.

Maintainers

We're looking for more maintainers. Make some PRs to help, then LMK in Discussions, Twitter, or Discord (above) if you'd like to get involved in making a better community for Swarm.

awesome-swarm's People

Contributors

bretfisher avatar decentral1se avatar dependabot[bot] avatar jaydrogers avatar procheeseburger avatar s4ke avatar trajano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-swarm's Issues

Research and fix/ignore Awesome Lint issues

Our GHA for Awesome Lint throws some issues that I'd like us to fix or ignore. The goal is for it to be a passing "green" check to close this issue.

Some thoughts

  • First two are valid and have their own issues. Maybe we can ignore them completely near top of file, for now.
  • Some of the double-link are fine in those cases. Maybe we can ignore inline?
  • What's the deal with the invalid link URLs?
  • Need to troubleshoot what a valid ToC is

Output

README.md:[9](https://github.com/BretFisher/awesome-swarm/actions/runs/4206659805/jobs/7300433704#step:3:10):36
  ✖    1:1    Missing file contributing.md                             remark-lint:awesome-contributing
  ✖    1:1    Git repository must be at least 30 days old              remark-lint:awesome-git-repo-age
  ✖    1:1    Missing or invalid Table of Contents                     remark-lint:awesome-toc
  ✖    9:36   https://www.bretfisher.com                               remark-lint:double-link
  ✖   11:50   https://github.com/BretFisher/awesome-swarm/issues/2     remark-lint:double-link
  ✖   11:1[10](https://github.com/BretFisher/awesome-swarm/actions/runs/4206659805/jobs/7300433704#step:3:11)  CONTRIBUTING.md                                          remark-lint:double-link
  ✖   [11](https://github.com/BretFisher/awesome-swarm/actions/runs/4206659805/jobs/7300433704#step:3:12):189  https://github.com/BretFisher/awesome-swarm/discussions  remark-lint:double-link
  ✖   11:275  https://discord.gg/4jPPynEb2e                            remark-lint:double-link
  ✖   13:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   14:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   15:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   16:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   17:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   18:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   19:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   20:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   21:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   22:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   23:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   24:5    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   25:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   26:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   27:3    Invalid list item link URL                               remark-lint:awesome-list-item
  ✖   46:71   https://www.bretfisher.com                               remark-lint:double-link
  ✖   47:69   https://www.portainer.io/                                remark-lint:double-link
  ✖   54:3    https://www.portainer.io/                                remark-lint:double-link
  ✖  [12](https://github.com/BretFisher/awesome-swarm/actions/runs/4206659805/jobs/7300433704#step:3:13)1:37   CONTRIBUTING.md                                          remark-lint:double-link
  ✖  121:93   https://github.com/BretFisher/awesome-swarm/issues/2     remark-lint:double-link
  ✖  121:189  https://github.com/BretFisher/awesome-swarm/discussions  remark-lint:double-link
  ✖  121:275  https://discord.gg/4jPPynEb2e                            remark-lint:double-link

Candidates / Projects needing verification before adding

Add maintainers

Get some of the amazing Swarm fans to pitch in and help maintain this repo.

dockerswarm.rocks is deprecated

I noticed that the dockerswarm.rocks website listed here is deprecated as of december 2023. They say, "Kubernetes simply won" and "it's not sensitive to build a new product using Docker Swarm Mode".[1] Can you recommend an in-depth discussion about whether or not Docker Engine together with Swarm should be used in production on this topic? Or maybe you guys could take a stand?

[1] https://dockerswarm.rocks/swarm-or-kubernetes/

Decide how to handle subprojects

Description

We should decide on how to handle subprojects of the things we put on this list. Should we only list the main project here, or should we be able to list more subprojects if they are interesting in their own regard?

Background:

We are maintaining swarmsible with some sub projects that build on top of it. One of them is https://github.com/neuroforgede/swarmsible-hetzner which is essentially "one-click-cluster-setup"-tooling for Docker Swarm on Hetzner. Should such projects be in this list or should the respective projects just link to the subprojects?

Fix minor readme issues

  • Maintainer @ links aren't working at top of readme. I guess this doesn't work in readme's, only issues?
  • We now have contributing tutorial and CoC. We likely need to update the bottom of readme.

Clarify contributions of new content

Maybe in the main README.md or the contributing.md, let's clarify:

Do you have an idea for a Swarm Tip or post to help others? Great, however:

Awesome Lists aren't supposed to have actual content. Like Wikipedia, ALs just reference data from other places, not generating new ideas/content.

So, post something elsewhere, and create a PR here if you think it's Awesome enough to list:

  • Anyone can make a well-formed Gist
  • Make a post at https://swarmkit.org
  • Other ways, make a Mastodon post, DEV, or GitHub Pages post. Anything with a perm URL that some corporate entity will eventually sunset access to or slap a random paywall/login in front of.

P.S. We don't like Medium. It might seem easy to post to, but avoid it. Some of us are so anti-medium we usually won't reference articles there. Stay in control of your content. Random paywalls prevent others from consuming it, and we wouldn't want to recommend content that people think is free, but isn't.

More on "No Medium":

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.