blob: 78a9a0bae6adcc1f428d6524f66c95b443778c8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
- 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
|