- name: Create dummy key shell: ssh-keygen -t rsa -b 2048 -N '' -f dummy_key args: chdir: /var/lib/gitolite creates: /var/lib/gitolite/dummy_key - name: Initialize gitolite shell: gitolite setup -pk dummy_key.pub args: chdir: /var/lib/gitolite creates: /var/lib/gitolite/.gitolite/conf #- name: Get repository backup # get_url: # url=https://oberon.sublab.org/protected/repositories.tar.gz # url_username="{{download_user}}" # url_password="{{download_pass}}" # validate_certs=no # dest=/var/lib/gitolite/repositories.tar.gz - name: Get repository backup s3: bucket=devops-sublab object=git-backup.tar.asc dest=/var/lib/gitolite/repositories.tar.asc mode=get aws_access_key="{{aws_access_key}}" aws_secret_key="{{aws_secret_key}}" region=eu-central-1 - name: Decrypt backup shell: gpg --decrypt --passphrase "{{aws_encryption_key}}" repositories.tar.asc > repositories.tar args: chdir: /var/lib/gitolite - name: Create directory for backup unpack file: name=/var/lib/gitolite/old-repositories state=directory - name: Unpack repository backup shell: tar -x --strip-components=1 -f ../repositories.tar args: chdir: /var/lib/gitolite/old-repositories creates: /var/lib/gitolite/old-repositories/gitolite-admin.git - name: Push gitolite backup shell: gitolite push -f /var/lib/gitolite/repositories/gitolite-admin.git master:master args: chdir: /var/lib/gitolite/old-repositories/gitolite-admin.git - name: Put restore script copy: dest=/var/lib/gitolite/restore-backup.sh src=restore-backup.sh mode=0755 - name: Run restore shell: ./restore-backup.sh args: chdir: /var/lib/gitolite - name: Cleanup backup shell: rm -rf repositories.tar.asc repositories.tar old-repositories args: chdir: /var/lib/gitolite