This repository has been archived on 2021-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
stack-ssh-deploy/README.md

58 lines
1.9 KiB
Markdown

# stack-ssh-deploy
[![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/stack-ssh-deploy/status.svg?ref=refs/heads/main)](https://drone.autonomic.zone/coop-cloud/stack-ssh-deploy)
Deploy swarm stacks against a SSH based remote docker daemon context.
This is meant to be used as a [Drone plugin](http://plugins.drone.io/).
## Settings
### Required (no default)
- **deploy_key**: SSH private key part for ssh public key authentication
- **stack**: Name of the stack to be deployed
### Optional (with defaults)
- **compose** (default: `compose.yml`): compose file to use for deploying
- **host** (default: `swarm.autonomic.zone`): Host to deploy to (don't include `ssh://`)
- **port** (default: `222`): SSH port to connect to
- **user** (default: `drone`): System user to connect via SSH with
- **networks** (default:): Try and auto-create these networks first
- **rm**: (default: `false`): Remove the stack before deploying it
### Dangerous options, unwise outside CI
- **generate_secrets** (default: `false`): randomly set all `secrets:` found in the
compose file -- you won't be able to retrieve them afterwards, so you almost
certainly don't want this for real deployments.
- **purge** (default: `false`): runs aggresive cleaning up measure to wipe
deployment afterwards
## Example
```yaml
---
kind: pipeline
name: deploy to swarm
steps:
- name: stack deploy
image: decentral1se/stack-ssh-deploy:latest
settings:
stack: mystack
deploy_key:
from_secret: drone_deploy_key
networks:
- proxy
- mail
environment:
DOMAIN: test.example.com
```
## Publishing
The version can be bumped in the [.drone.yml](./.drone.yml) file. We're sticking with `latest` as we iterate on the code right now.
If you push a commit to master, the [Drone config](./.drone.yml) will publish to [Docker Hub](https://hub.docker.com/r/decentral1se/stack-ssh-deploy).