From: Christian Heller <c.heller@plomlompom.de>
Date: Thu, 19 Jun 2025 21:44:53 +0000 (+0200)
Subject: Fix.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/blog?a=commitdiff_plain;h=cae73c37cd03a78e57c447f60015a02918cdb6cb;p=config
Fix.
---
diff --git a/testing/copy/desktop/home/plom/.local/bin/borgplom b/testing/copy/desktop/home/plom/.local/bin/borgplom
index b0fc653..ff4ca61 100755
--- a/testing/copy/desktop/home/plom/.local/bin/borgplom
+++ b/testing/copy/desktop/home/plom/.local/bin/borgplom
@@ -39,6 +39,16 @@ explore_key_id() {
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"; }
@@ -76,11 +86,10 @@ CMDFNC_backup_keys() {
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}"
@@ -184,10 +193,8 @@ CMDFNC_orgpull() {
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)
@@ -220,10 +227,8 @@ CMDFNC_orgpush() {
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}"
diff --git a/testing/copy/desktop/home/plom/.local/bin/make_secrets b/testing/copy/desktop/home/plom/.local/bin/make_secrets
index c03c315..6b29b00 100755
--- a/testing/copy/desktop/home/plom/.local/bin/make_secrets
+++ b/testing/copy/desktop/home/plom/.local/bin/make_secrets
@@ -4,7 +4,7 @@ set -e
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
@@ -15,9 +15,12 @@ prefixed_msg_init
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
diff --git a/testing/scripts/_setup_secrets_user.sh b/testing/scripts/_setup_secrets_user.sh
index b60f591..f4557c9 100644
--- a/testing/scripts/_setup_secrets_user.sh
+++ b/testing/scripts/_setup_secrets_user.sh
@@ -5,7 +5,7 @@ cd $(dirname "$0")
. 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
@@ -32,6 +32,9 @@ mount_secrets "$1" # sets PASSPHRASE
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
diff --git a/testing/scripts/lib/constants_secrets b/testing/scripts/lib/constants_secrets
index ddd6064..9b0cf7e 100644
--- a/testing/scripts/lib/constants_secrets
+++ b/testing/scripts/lib/constants_secrets
@@ -4,3 +4,6 @@ PATH_REL_SECRETS=.secrets
PATH_SECRETS="${PATH_USER_HOME}/${PATH_REL_SECRETS}"
PATH_SECRETS_SSH="${PATH_SECRETS}/ssh"
PATH_SECRETS_BORGKEYS="${PATH_SECRETS}/borgkeys"
+FILENAME_KDBX=Passwords.kdbx
+PATH_SECRETS_KDBX="${PATH_SECRETS}/${FILENAME_KDBX}"
+PATH_USER_KDBX="${PATH_USER_HOME}/${FILENAME_KDBX}"