kind: pipeline
type: docker
name: hello

steps:
- name: deploy
  image: ubuntu
  environment:
    HOST:
      from_secret: host
    USER:
      from_secret: user
    SSH_KEY:
      from_secret: ssh_key
    SRC: content
    DEST: gemini/content

  commands:
  # install stuff
  - apt-get update -qq > /dev/null
  - apt-get install ssh rsync -qq > /dev/null

  # configure ssh identity
  - which ssh-agent
  - eval $(ssh-agent -s)
  - mkdir -p ~/.ssh
  # import ssh key
  - echo "$SSH_KEY" > ~/.ssh/id_rsa
  - chmod 600 ~/.ssh/id_rsa
  - ssh-add
  # skip key checking as this runner has never seen the host before
  - echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config

  # run operations on the remote host
  - ssh "$${USER}@$${HOST}" "[[ -d $${DEST} ]] && rm -r $${DEST}"
  - rsync -rP content/* "$${USER}@$${HOST}:$${DEST}"