Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/djmaze/swm
The missing tooling for a great Docker swarm experience
https://github.com/djmaze/swm
Last synced: about 1 month ago
JSON representation
The missing tooling for a great Docker swarm experience
- Host: GitHub
- URL: https://github.com/djmaze/swm
- Owner: djmaze
- License: mit
- Created: 2020-03-19T23:09:45.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-23T08:50:39.000Z (7 months ago)
- Last Synced: 2024-12-08T20:41:31.591Z (about 2 months ago)
- Language: Crystal
- Size: 31.3 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# swm
The missing tooling for a great Docker swarm experience
## Introduction
Docker swarm mode is a container orchestration system with just the right level of abstraction for small to medium sized infrastructures. In contrast to alternatives like Kubernetes, it has a relatively low level of complexity while being quite developer-friendly.
That said, the current interface is lacking especially in terms of managing cluster nodes and applications. `swm` aims to be the missing piece for managing services and containers using *infrastructure as code* with a minimum amount of boilerplate.
In practice, `swm` can be used as a commandline extension to the main `docker` CLI command.
## Installation
You can either download a prebuilt binary (Linux only) or build it yourself (Linux / Mac). (See below for build instructions.)
The latest version can be downloaded from the [releases](https://github.com/djmaze/swm/releases) page.
#### Standalone
Copy the binary into a directory in your `PATH`. Then just run `swm` in order to use it.
#### Docker commandline extension
Alternatively, you can install it as a docker commandline extension:
```bash
mkdir -p ~/.docker/cli-plugins
cp swm ~/.docker/cli-plugins/docker-swm
```Now, you can run it using `docker swm`
## Usage
Commands are grouped into three categories:
* cluster
* stack
* serviceTry out `swm cluster`, `swm stack` or `swm service` in order to find the available commands.
## Development
### Build
You can build the binary locally or via Docker.
When using Docker, the binary will be statically linked. It can thus be used on any amd64-compatible Linux system.
#### Local
* Install [Crystal](https://crystal-lang.org) >= 0.33.0
* Clone this repository
* Build the binary:
```bash
shards build
```
If the build was successful, you can find the final executable at `bin/swm`.#### With Docker
* Install Docker and `make`
* Clone this repository
* Build the binary:
```bash
sudo -E make
```
If the build was successful, you can find the final executable at `bin/swm`.## TODO
- [ ] Add documentation
- [ ] Add spec suite
- [ ] Add command `service logs --latest `## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request## Contributors
- [Martin Honermeyer](https://github.com/your-github-user) - creator and maintainer