diff --git a/DOCS.md b/DOCS.md index b5fdce3..55c931c 100644 --- a/DOCS.md +++ b/DOCS.md @@ -14,10 +14,19 @@ The following parameters are used to configure the plugin: - **delete** - delete target folder contents, defaults to `false` - **script** - list of commands to execute on remote machines -It is highly recommended to put your **key** into a secret so it is not exposed to users. This can be done using the drone-cli. +## Secrets +The following secrets can be used to secure the sensitive parts of your configuration: +- **rsync_key** - private SSH key for the remote machines +- **rsync_user** - user to log in as on the remote machines + +It is highly recommended to put your private key into a secret (`rsync_key`) so it is not exposed to users. This can be done using the drone-cli: ```sh -drone secret add octocat/hello-world RSYNC_KEY @path/to/.ssh/id_rsa +drone secret add \ + --repository your/repo \ + --name rsync_key \ + --value @./id_rsa \ + --image drillster/drone-rsync ``` Add the secret to your `.drone.yml`: @@ -26,28 +35,20 @@ pipeline: rsync: image: drillster/drone-rsync user: some-user - key: ${RSYNC_KEY} hosts: - remote1 source: ./dist target: ~/packages + secrets: [ rsync_key ] ``` -Then sign the YAML file after all secrets are added. - -```sh -drone sign octocat/hello-world -``` - -See the [Secret Guide](http://readme.drone.io/usage/secret-guide/) for additional information on secrets. +See the [Secret Guide](http://docs.drone.io/manage-secrets/) for additional information on secrets. ## Examples ```yaml pipeline: rsync: image: drillster/drone-rsync - user: some-user - key: ${RSYNC_KEY} hosts: - remote1 - remote2 @@ -62,6 +63,7 @@ pipeline: - cd ~/packages - md5sum -c app.tar.gz.md5 - tar -xf app.tar.gz -C ~/app + secrets: [ rsync_user, rsync_key ] ``` The example above illustrates a situation where an app package (`app.tar.gz`) will be deployed to 2 remote hosts (`remote1` and `remote2`). An md5 checksum will be deployed as well. After deploying, the md5 checksum is used to check the deployed package. If successful the package is extracted. @@ -69,23 +71,30 @@ The example above illustrates a situation where an app package (`app.tar.gz`) wi ## Important The script passed to **script** will be executed on remote machines directly after rsync completes to deploy the files. It will be executed step by step until a command returns a non-zero exit-code. If this happens, the entire plugin will exit and fail the build. +## Secrets in Drone 0.5 -## SSH key secret in Drone >= 0.6 - -Secret injection has changed for Drone 0.6 and up. Register your SSH key secret using the drone-cli. +Secret injection has changed for Drone 0.6 and up. To use this plugin with Drone 0.5, use: ```sh -drone secret update \ - --repository your/repo \ - --name plugin_key \ - --value @./id_rsa \ - --image drillster/drone-rsync +drone secret add octocat/hello-world RSYNC_KEY @path/to/.ssh/id_rsa ``` -Do not add a `key` parameter in `.drone.yml` configuration, but add: +to add the secret. Then add the secret to your `.drone.yml`: -``` -secrets: [ plugin_key ] +```yaml +pipeline: + rsync: + image: drillster/drone-rsync + user: some-user + key: ${RSYNC_KEY} + hosts: + - remote1 + source: ./dist + target: ~/packages ``` -Using any other name will not work. +and then sign your configuration using: + +```sh +drone sign octocat/hello-world +``` \ No newline at end of file