From e925453eab7024b5f169bbeef6a281c9952b1d30 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sun, 5 Apr 2026 15:50:31 -0500 Subject: Add git/aws-s3-backup and git/web (cgit) roles --- git/aws-s3-backup/files/git-s3-backup-lifecycle.json | 12 ++++++++++++ git/aws-s3-backup/files/git-s3-backup.sh | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 git/aws-s3-backup/files/git-s3-backup-lifecycle.json create mode 100644 git/aws-s3-backup/files/git-s3-backup.sh (limited to 'git/aws-s3-backup/files') diff --git a/git/aws-s3-backup/files/git-s3-backup-lifecycle.json b/git/aws-s3-backup/files/git-s3-backup-lifecycle.json new file mode 100644 index 0000000..44036c0 --- /dev/null +++ b/git/aws-s3-backup/files/git-s3-backup-lifecycle.json @@ -0,0 +1,12 @@ +{ + "Rules": [ + { + "ID": "expiration", + "Filter": {}, + "Status": "Enabled", + "NoncurrentVersionExpiration": { + "NoncurrentDays": 30 + } + } + ] +} diff --git a/git/aws-s3-backup/files/git-s3-backup.sh b/git/aws-s3-backup/files/git-s3-backup.sh new file mode 100644 index 0000000..c6dbcf1 --- /dev/null +++ b/git/aws-s3-backup/files/git-s3-backup.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +BUCKET=$1 +BACKUP_DIR=$2 +DATE=$(date +%Y-%m-%d) +BACKUP_TAR=$(mktemp /tmp/git-s3-backup.XXXXXX.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/git-s3-backup-lifecycle.json" +aws s3 cp "$BACKUP_TAR" "s3://$BUCKET/git-s3-backup-$DATE.tgz" + +rm "$BACKUP_TAR" -- cgit v1.2.3