https://github.com/firecow/swarm-app
Deploy application stacks to docker swarm in a controlled manner.
https://github.com/firecow/swarm-app
deploy diff docker stack swarm validate wait
Last synced: 20 days ago
JSON representation
Deploy application stacks to docker swarm in a controlled manner.
- Host: GitHub
- URL: https://github.com/firecow/swarm-app
- Owner: firecow
- License: mit
- Created: 2023-05-24T18:48:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T14:36:45.000Z (6 months ago)
- Last Synced: 2024-10-24T20:26:16.417Z (6 months ago)
- Topics: deploy, diff, docker, stack, swarm, validate, wait
- Language: TypeScript
- Homepage:
- Size: 380 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# What?
Deploy application stacks to docker swarm in a controlled manner.# Why?
- Updating swarm config's used to be a pain, but not anymore.
- docker-compose.yml wasn't designed for docker swarm, swarm-app.yml is.
- `swarm-app.yml` is very explicit, no more optionals, no more short syntax.
- Going from `replicated` to `global` mode is possible without manually removing services.## CLI improvements
- `swarm-app validate` will exit on basic configuration file mistakes.
- `swarm-app diff` gives a proper diff like overview of what you are about to deploy.
- `swarm-app wait` waits for deployment to reconcile, and outputs status.## Syntax Improvements
### Extends from external sources.
```yml
services:
mywebserver:
extends:
- { file: https://swarm-app.firecow.dk/1.0.0/general.yml, service: nginx }
```### Inline swarm configs with envsubst
```sh
export NGINX_FOLDER=html
``````yml
services:
nginx:
configs:
/etc/nginx/conf.d/default.conf:
content: |
server {
location / {
root ${NGINX_FOLDER};
}
}
```