diff options
| -rw-r--r-- | writefreely/aws-s3-backup/files/writefreely-s3-backup-lifecycle.json | 12 | ||||
| -rw-r--r-- | writefreely/aws-s3-backup/files/writefreely-s3-backup.sh | 13 | ||||
| -rw-r--r-- | writefreely/aws-s3-backup/handlers/main.yaml | 5 | ||||
| -rw-r--r-- | writefreely/aws-s3-backup/meta/main.yaml | 4 | ||||
| -rw-r--r-- | writefreely/aws-s3-backup/tasks/main.yaml | 26 | ||||
| -rw-r--r-- | writefreely/aws-s3-backup/templates/[email protected] | 9 | ||||
| -rw-r--r-- | writefreely/server/defaults/main.yaml (renamed from writefreely/defaults/main.yaml) | 0 | ||||
| -rw-r--r-- | writefreely/server/handlers/main.yaml (renamed from writefreely/handlers/main.yaml) | 0 | ||||
| -rw-r--r-- | writefreely/server/tasks/main.yaml (renamed from writefreely/tasks/main.yaml) | 0 | ||||
| -rw-r--r-- | writefreely/server/templates/config.ini.j2 (renamed from writefreely/templates/config.ini.j2) | 0 | ||||
| -rw-r--r-- | writefreely/server/templates/nginx.conf.j2 (renamed from writefreely/templates/nginx.conf.j2) | 0 | ||||
| -rw-r--r-- | writefreely/server/templates/[email protected] (renamed from writefreely/templates/[email protected]) | 0 |
12 files changed, 69 insertions, 0 deletions
diff --git a/writefreely/aws-s3-backup/files/writefreely-s3-backup-lifecycle.json b/writefreely/aws-s3-backup/files/writefreely-s3-backup-lifecycle.json new file mode 100644 index 0000000..44036c0 --- /dev/null +++ b/writefreely/aws-s3-backup/files/writefreely-s3-backup-lifecycle.json @@ -0,0 +1,12 @@ +{ + "Rules": [ + { + "ID": "expiration", + "Filter": {}, + "Status": "Enabled", + "NoncurrentVersionExpiration": { + "NoncurrentDays": 30 + } + } + ] +} diff --git a/writefreely/aws-s3-backup/files/writefreely-s3-backup.sh b/writefreely/aws-s3-backup/files/writefreely-s3-backup.sh new file mode 100644 index 0000000..402d6fe --- /dev/null +++ b/writefreely/aws-s3-backup/files/writefreely-s3-backup.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +BUCKET=$1 +BACKUP_DIR=$2 +BACKUP_TAR="/tmp/$BUCKET.tgz" + +tar -zc -f $BACKUP_TAR $BACKUP_DIR +aws s3 mb "s3://$BUCKET/" +aws s3api put-bucket-versioning --bucket "$BUCKET" --versioning-configuration Status=Enabled +aws s3api put-bucket-lifecycle-configuration --bucket "$BUCKET" --lifecycle-configuration "file:///usr/local/share/writefreely-s3-backup-lifecycle.json" +aws s3 cp $BACKUP_TAR "s3://$BUCKET/" + +rm $BACKUP_TAR diff --git a/writefreely/aws-s3-backup/handlers/main.yaml b/writefreely/aws-s3-backup/handlers/main.yaml new file mode 100644 index 0000000..8c3315b --- /dev/null +++ b/writefreely/aws-s3-backup/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: reload s3 backup service + systemd: name="mercurial-s3-backup@{{mercurial_s3_backup_bucket}}.service" enabled="yes" daemon_reload="yes" + become: yes diff --git a/writefreely/aws-s3-backup/meta/main.yaml b/writefreely/aws-s3-backup/meta/main.yaml new file mode 100644 index 0000000..f9c6f63 --- /dev/null +++ b/writefreely/aws-s3-backup/meta/main.yaml @@ -0,0 +1,4 @@ +--- + +dependencies: + - aws-s3-backup diff --git a/writefreely/aws-s3-backup/tasks/main.yaml b/writefreely/aws-s3-backup/tasks/main.yaml new file mode 100644 index 0000000..e9b005e --- /dev/null +++ b/writefreely/aws-s3-backup/tasks/main.yaml @@ -0,0 +1,26 @@ +--- + +- name: create writefreely s3 backup shell script + become: yes + copy: + src: "writefreely-s3-backup.sh" + dest: "/usr/local/bin/writefreely-s3-backup.sh" + mode: "0755" + +- name: create s3 backup lifesycle json file + become: yes + copy: + src: "writefreely-s3-backup-lifecycle.json" + dest: "/usr/local/share/writefreely-s3-backup-lifecycle.json" + mode: "0755" + +- name: configure writefreely s3 backup systemd service + become: yes + template: + src: "[email protected]" + dest: "/lib/systemd/system/writefreely-s3-backup@{{writefreely_s3_backup_bucket}}.service" + notify: reload s3 backup service + +- name: ensure writefreely s3 backup service is started + become: yes + systemd: name="writefreely-s3-backup@{{writefreely_s3_backup_bucket}}.service" enabled="yes" diff --git a/writefreely/aws-s3-backup/templates/[email protected] b/writefreely/aws-s3-backup/templates/[email protected] new file mode 100644 index 0000000..2f9d272 --- /dev/null +++ b/writefreely/aws-s3-backup/templates/[email protected] @@ -0,0 +1,9 @@ +[Unit] +Description=Writefreely s3 backup for "%I" + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/writefreely-s3-backup.sh %i "{{writefreely_s3_backup_dir}}" + +[Install] +WantedBy=aws-s3-backup.target diff --git a/writefreely/defaults/main.yaml b/writefreely/server/defaults/main.yaml index 8a43647..8a43647 100644 --- a/writefreely/defaults/main.yaml +++ b/writefreely/server/defaults/main.yaml diff --git a/writefreely/handlers/main.yaml b/writefreely/server/handlers/main.yaml index 7317489..7317489 100644 --- a/writefreely/handlers/main.yaml +++ b/writefreely/server/handlers/main.yaml diff --git a/writefreely/tasks/main.yaml b/writefreely/server/tasks/main.yaml index 447cf6f..447cf6f 100644 --- a/writefreely/tasks/main.yaml +++ b/writefreely/server/tasks/main.yaml diff --git a/writefreely/templates/config.ini.j2 b/writefreely/server/templates/config.ini.j2 index bb5fe7f..bb5fe7f 100644 --- a/writefreely/templates/config.ini.j2 +++ b/writefreely/server/templates/config.ini.j2 diff --git a/writefreely/templates/nginx.conf.j2 b/writefreely/server/templates/nginx.conf.j2 index 4f1cf4d..4f1cf4d 100644 --- a/writefreely/templates/nginx.conf.j2 +++ b/writefreely/server/templates/nginx.conf.j2 diff --git a/writefreely/templates/[email protected] b/writefreely/server/templates/[email protected] index bf0d03b..bf0d03b 100644 --- a/writefreely/templates/[email protected] +++ b/writefreely/server/templates/[email protected] |
