printf '%s %s %s' "${PREFIX} ${NAME_SERVER} ${LOCATION}"
}
+keydata_obsolete() {
+ KEY_DATA=$1
+ local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
+ if [ "${PREFIX}" = '-' ]; then
+ echo "Ignoring ${KEY_ID}, location doesn't match expected pattern."
+ return 0
+ fi
+ return 1
+}
+
# exits
export BORG_EXIT_CODES=modern
error_exit() { abort "Aborting due to $1"; }
mkdir -p "${PATH_TARGET_DIR}"
cd "${PATH_BORG_CONF_KEYS}"
ls -1 | while read _FILENAME; do
+ local KEY_ID=$(_id_from_file "${PATH_BORG_CONF_KEYS}/${_FILENAME}")
local KEY_DATA=$(explore_key_id "${KEY_ID}")
- local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
- if [ "${PREFIX}" = '-' ]; then
- echo "Ignoring ${KEY_ID}, location doesn't match expected patten."
- continue
+ if keydata_obsolete "${KEY_DATA}"; then
+ continue;
fi
local NAME_SERVER=$(echo "${KEY_DATA}" | cut -d' ' -f2)
local PATH_TARGET="${PATH_TARGET_DIR}/${NAME_SERVER}"
ls -1 "${PATH_BORG_CONF_SECURITY}/" > "${PATH_PIPE}" &
while read _FILENAME; do
local KEY_DATA=$(explore_key_id "${_FILENAME}")
- local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
- if [ "${PREFIX}" = '-' ]; then
- echo "Ignoring ${_FILENAME}, location doesn't match expected patten."
- continue
+ if keydata_obsolete "${KEY_DATA}"; then
+ continue;
fi
local NAME_SERVER=$(echo "${KEY_DATA}" | cut -d' ' -f2)
local LOCATION=$(echo "${KEY_DATA}" | cut -d' ' -f3)
for _FILENAME in $(ls "${PATH_BORG_CONF_SECURITY}/"); do
local KEY_DATA=$(explore_key_id "${_FILENAME}")
- local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
- if [ "${PREFIX}" = '-' ]; then
- echo "Ignoring ${_FILENAME}, location doesn't match expected patten."
- continue
+ if keydata_obsolete "${KEY_DATA}"; then
+ continue;
fi
local LOCATION=$(echo "${KEY_DATA}" | cut -d' ' -f3)
local ARCHIVE="${LOCATION}::${NAME_ARCHIVE_ORG}-{utcnow:%Y-%m-%dT%H:%M}"
cd $(dirname "$0")
. lib/abort_if_exists
. lib/constants_borg # NAME_BORGAPP, PATH_BORG_CONF
-. lib/constants_secrets # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS
+. lib/constants_secrets # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS, PATH_SECRETS_KDBX, PATH_USER_KDBX
. lib/constants_ssh # PATH_USER_SSH
. lib/constants_user # USERNAME
. lib/copy_and_unmount_secrets
abort_if_exists "${PATH_SECRETS}"
prefixed_msg "Collecting new ${PATH_REL_SECRETS}."
+
mkdir "${PATH_SECRETS}"
-"${NAME_BORGAPP}" backup_keys "${PATH_SECRETS_BORGKEYS}"
cp -a "${PATH_USER_SSH}" "${PATH_SECRETS_SSH}"
+cp -a "${PATH_USER_KDBX}" "${PATH_SECRETS_KDBX}"
+"${NAME_BORGAPP}" backup_keys "${PATH_SECRETS_BORGKEYS}"
+
prefixed_msg "secrets file, last update: $(whoami)/$(hostname) at $(date)" > "${PATH_SECRETS}/info"
mount_secrets "$1" # sets PATH_MOUNTED_SECRETS
. lib/abort_if_exists
. lib/abort_if_not_user
. lib/abort_if_offline
-. lib/constants_secrets # PATH_SECRETS, PATH_SECRETS_BORGKEYS
+. lib/constants_secrets # PATH_SECRETS, PATH_SECRETS_KDBX, PATH_SECRETS_SSH, PATH_SECRETS_BORGKEYS, PATH_USER_KDBX
. lib/constants_ssh # PATH_USER_SSH
. lib/constants_user # USERNAME
. lib/constants_borg # NAME_BORGAPP
copy_and_unmount_secrets 'in'
export BORG_PASSPHRASE="${PASSPHRASE}"
+prefixed_msg 'Copying passwords DB …'
+cp -a "${PATH_USER_KDBX}" "${PATH_SECRETS_KDBX}"
+
prefixed_msg 'Setting up ~/.ssh …'
cp -a "${PATH_SECRETS_SSH}" "${PATH_USER_SSH}"
stty -echo