Deploy swarm stacks against a SSH based remote docker daemon context
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.
Go to file
Luke Murphy 6aa9183e19
Just completely trash all the secrets fuck it
Nah, we're not using --force, we're good.
2020-09-25 20:40:11 +02:00
.drone.yml Use latest tag instead 2020-09-25 12:43:41 +02:00
Dockerfile Fix bash version 2020-09-25 12:55:10 +02:00
LICENSE Bootstrapping stack deploy plugin 2020-09-23 08:32:50 +02:00
README.md Add secrets field doc 2020-09-25 20:12:06 +02:00
plugin.sh Just completely trash all the secrets fuck it 2020-09-25 20:40:11 +02:00

README.md

stack-ssh-deploy

Build Status

Deploy swarm stacks against a SSH based remote docker daemon context.

This is meant to be used as a Drone plugin.

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

Dangerous options, unwise outside CI

  • secrets: (default: {}): names of secrets to generate and store in the swarm. This field is used in conjuction with generate_secrets (see below).
  • 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

---
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

Publishing

The version can be bumped in the .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 will publish to Docker Hub.