ktx/scripts/ktx-reset.sh
Andrey Avtomonov 32389b7547 chore(scripts): add ktx-reset.sh project-cleanup helper
Convenience script for repeatable ingest testing: takes a project
directory and prunes everything except ktx.yaml and .ktx/secrets/, so
the next ktx setup or ktx ingest run starts from a known-clean state.
2026-05-23 10:37:19 +02:00

26 lines
664 B
Bash
Executable file

#!/bin/bash
# ktx-reset.sh - Reset a ktx project directory back to its seed state.
#
# Removes everything in <dir> except ktx.yaml and .ktx/, and prunes .ktx/
# down to just .ktx/secrets/. Useful when re-running ingest/setup against
# a known-clean project tree.
set -e
set -o pipefail
if [ -z "$1" ]; then
echo "usage: ktx-reset <dir>" >&2
exit 1
fi
dir="${1%/}"
if [ ! -d "$dir" ]; then
echo "ktx-reset: $dir is not a directory" >&2
exit 1
fi
find "$dir" -mindepth 1 -maxdepth 1 ! -name ktx.yaml ! -name .ktx -exec rm -rf {} +
if [ -d "$dir/.ktx" ]; then
find "$dir/.ktx" -mindepth 1 -maxdepth 1 ! -name secrets -exec rm -rf {} +
fi
tree -a "$dir"