src.nth.io/

summaryrefslogtreecommitdiff
path: root/pleroma/aws-s3-backup
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2021-07-03 13:24:52 -0500
committerLuke Hoersten <[email protected]>2021-07-03 13:24:52 -0500
commit7bbf035ca8649983ef1d415f9322828d8e5a09b2 (patch)
tree1c242cd12affb17d4182dd07e27f2bbeba303f9e /pleroma/aws-s3-backup
parente4482f91ed5ddbaa350c59858e082235720abacc (diff)
Add aws s3 versioning and lifecycles to backup.
Diffstat (limited to 'pleroma/aws-s3-backup')
-rw-r--r--pleroma/aws-s3-backup/files/pleroma-s3-backup-lifecycle.json12
-rw-r--r--pleroma/aws-s3-backup/files/pleroma-s3-backup.sh5
-rw-r--r--pleroma/aws-s3-backup/tasks/main.yaml7
3 files changed, 22 insertions, 2 deletions
diff --git a/pleroma/aws-s3-backup/files/pleroma-s3-backup-lifecycle.json b/pleroma/aws-s3-backup/files/pleroma-s3-backup-lifecycle.json
new file mode 100644
index 0000000..fa75f06
--- /dev/null
+++ b/pleroma/aws-s3-backup/files/pleroma-s3-backup-lifecycle.json
@@ -0,0 +1,12 @@
+{
+ "Rules": [
+ {
+ "ID": "pleroma-expiration",
+ "Filter": {},
+ "Status": "Enabled",
+ "NoncurrentVersionExpiration": {
+ "NoncurrentDays": 30
+ }
+ }
+ ]
+}
diff --git a/pleroma/aws-s3-backup/files/pleroma-s3-backup.sh b/pleroma/aws-s3-backup/files/pleroma-s3-backup.sh
index 22ba271..273b814 100644
--- a/pleroma/aws-s3-backup/files/pleroma-s3-backup.sh
+++ b/pleroma/aws-s3-backup/files/pleroma-s3-backup.sh
@@ -1,11 +1,10 @@
#!/bin/bash
INSTANCE=$1
-DATE=`date --iso-8601`
BUCKET="pleroma-${INSTANCE//_/-}-backup"
BACKUP_DIR="/tmp/s3-backup/$BUCKET"
-BACKUP_TAR="/tmp/s3-backup/$BUCKET-$DATE.tgz"
+BACKUP_TAR="/tmp/s3-backup/$BUCKET.tgz"
DB_NAME="pleroma_$INSTANCE"
CONFIG="/etc/pleroma/$INSTANCE.config.exs"
@@ -23,6 +22,8 @@ cp -r $STATIC_DIR "$BACKUP_DIR/"
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/pleroma-s3-backup-lifecycle.json"
aws s3 cp $BACKUP_TAR "s3://$BUCKET/"
rm $BACKUP_TAR
diff --git a/pleroma/aws-s3-backup/tasks/main.yaml b/pleroma/aws-s3-backup/tasks/main.yaml
index 12eaded..543845d 100644
--- a/pleroma/aws-s3-backup/tasks/main.yaml
+++ b/pleroma/aws-s3-backup/tasks/main.yaml
@@ -7,6 +7,13 @@
dest: "/usr/local/bin/pleroma-s3-backup.sh"
mode: "0755"
+- name: create s3 backup lifesycle json file
+ become: yes
+ copy:
+ src: "pleroma-s3-backup-lifecycle.json"
+ dest: "/usr/local/share/pleroma-s3-backup-lifecycle.json"
+ mode: "0755"
+
- name: configure s3 backup systemd service
become: yes
copy: