diff --git a/bin/script-template b/bin/script-template deleted file mode 100755 index 1b90bff..0000000 --- a/bin/script-template +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python3 - -from bundlewrap.repo import Repository -from os.path import realpath, dirname - -repo = Repository(dirname(dirname(realpath(__file__)))) diff --git a/bundles/backup-server/metadata.py b/bundles/backup-server/metadata.py index 3053070..d618a35 100644 --- a/bundles/backup-server/metadata.py +++ b/bundles/backup-server/metadata.py @@ -63,8 +63,7 @@ def backup_authorized_keys(metadata): 'authorized_keys': [ other_node.metadata.get('users/root/pubkey') for other_node in repo.nodes - if other_node.has_bundle('backup') - and other_node.metadata.get('backup/server') == node.name + if other_node.metadata.get('backup/server') == node.name ], }, }, diff --git a/bundles/backup/files/backup_all b/bundles/backup/files/backup_all deleted file mode 100644 index e69de29..0000000 diff --git a/bundles/backup/files/backup_path b/bundles/backup/files/backup_path deleted file mode 100644 index 8c518be..0000000 --- a/bundles/backup/files/backup_path +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -path=$1 - -if zfs list -H -o mountpoint | grep -q "$path" -then - /opt/backuo/backup_path_via_zfs "$path" -elif test -d "$path" -then - /opt/backuo/backup_path_via_rsync "$path" -else - echo "UNKNOWN PATH: $path" - exit 1 -fi diff --git a/bundles/backup/files/backup_path_via_rsync b/bundles/backup/files/backup_path_via_rsync deleted file mode 100644 index e69de29..0000000 diff --git a/bundles/backup/files/backup_path_via_zfs b/bundles/backup/files/backup_path_via_zfs deleted file mode 100644 index 7374a76..0000000 --- a/bundles/backup/files/backup_path_via_zfs +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -set -e -set -x - -path=$1 -uuid=$(jq -r .client_uuid < /etc/backup/config.json) -server=$(jq -r .server_hostname < /etc/backup/config.json) -ssh="ssh -o StrictHostKeyChecking=no backup-receiver@$server" - -source_dataset=$(zfs list -H -o mountpoint,name | grep -P "^$path\t" | cut -d $'\t' -f 2) -target_dataset="tank/$uuid/$source_dataset" -target_dataset_parent=$(echo $target_dataset | rev | cut -d / -f 2- | rev) -bookmark_prefix="auto-backup_" -new_bookmark="$bookmark_prefix$(date +"%Y-%m-%d_%H:%M:%S")" - -for var in path uuid server ssh source_dataset target_dataset target_dataset_parent new_bookmark -do - [[ -z "${!var}" ]] && echo "ERROR - $var is empty" && exit 97 -done - -echo "BACKUP ZFS DATASET - PATH: $path, SERVER: $server, UUID: $uuid, SOURCE_DATASET: $source_dataset, TARGET_DATASET: $TARGET_DATASET" - -if ! $ssh sudo zfs list -t filesystem -H -o name | grep -q "^$target_dataset_parent$" -then - echo "CREATING PARENT DATASET..." - $ssh sudo zfs create -p -o mountpoint=none "$target_dataset_parent" -fi - -zfs snap "$source_dataset@$new_bookmark" - -if zfs list -t bookmark -H -o name | grep "^$source_dataset#$bookmark_prefix" | wc -l | grep -q "^0$" -then - echo "INITIAL BACKUP" - # do in subshell, otherwise ctr+c will lead to 0 exitcode - $(zfs send -v "$source_dataset@$new_bookmark" | $ssh sudo zfs recv -F "$target_dataset") -else - echo "INCREMENTAL BACKUP" - last_bookmark=$(zfs list -t bookmark -H -o name | grep "^$source_dataset#$bookmark_prefix" | sort | tail -1 | cut -d '#' -f 2) - [[ -z "$last_bookmark" ]] && echo "ERROR - last_bookmark is empty" && exit 98 - $(zfs send -v -i "#$last_bookmark" "$source_dataset@$new_bookmark" | $ssh sudo zfs recv "$target_dataset") -fi - -if [[ "$?" == "0" ]] -then - zfs bookmark "$source_dataset@$new_bookmark" "$source_dataset#$new_bookmark" - zfs destroy "$source_dataset@$new_bookmark" - echo "SUCCESS" -else - zfs destroy "$source_dataset@$new_bookmark" - echo "ERROR" - exit 99 -fi diff --git a/bundles/backup/items.py b/bundles/backup/items.py deleted file mode 100644 index 69af814..0000000 --- a/bundles/backup/items.py +++ /dev/null @@ -1,30 +0,0 @@ -from json import dumps - -directories['/opt/backup'] = {} - -files['/opt/backup/backup_all'] = { - 'mode': '700', -} -files['/opt/backup/backup_path'] = { - 'mode': '700', -} -files['/opt/backup/backup_path_via_zfs'] = { - 'mode': '700', -} -files['/opt/backup/backup_path_via_rsync'] = { - 'mode': '700', -} - -directories['/etc/backup'] = {} - -files['/etc/backup/config.json'] = { - 'content': dumps( - { - 'server_hostname': repo.get_node(node.metadata.get('backup/server')).metadata.get('backup-server/hostname'), - 'client_uuid': node.metadata.get('id'), - 'paths': sorted(set(node.metadata.get('backup/paths'))), - }, - indent=4, - sort_keys=True - ), -} diff --git a/bundles/backup/metadata.py b/bundles/backup/metadata.py deleted file mode 100644 index e619e12..0000000 --- a/bundles/backup/metadata.py +++ /dev/null @@ -1,12 +0,0 @@ -defaults = { - 'apt': { - 'packages': { - 'jq': {}, - 'rsync': {}, - }, - }, - 'backup': { - 'server': None, - 'paths': [], - }, -} diff --git a/groups/all.py b/groups/all.py index 679d8db..7a7ddc2 100644 --- a/groups/all.py +++ b/groups/all.py @@ -1,7 +1,6 @@ { 'bundles': [ 'users', - 'backup', ], 'metadata': { 'backup': {