Initial kosync-rs port

This commit is contained in:
Codex
2026-06-12 09:42:23 +00:00
commit 52cec7f8f4
20 changed files with 4827 additions and 0 deletions

78
scripts/export-to-old-redis.sh Executable file
View File

@@ -0,0 +1,78 @@
#!/bin/sh
set -eu
OLD_CONTAINER=kosync
SQLITE=./data/kosync.sqlite3
IMAGE=kosync-rs:latest
REDIS_URL=redis://127.0.0.1:6379/1
PULL=1
FLUSH_TARGET=0
usage() {
echo "Usage: $0 [--old-container NAME] [--sqlite PATH] [--image IMAGE] [--redis-url URL] [--flush-target] [--no-pull]" >&2
}
while [ "$#" -gt 0 ]; do
case "$1" in
--old-container)
OLD_CONTAINER=$2
shift 2
;;
--sqlite)
SQLITE=$2
shift 2
;;
--image)
IMAGE=$2
shift 2
;;
--redis-url)
REDIS_URL=$2
shift 2
;;
--flush-target)
FLUSH_TARGET=1
shift
;;
--no-pull)
PULL=0
shift
;;
-h|--help)
usage
exit 0
;;
*)
usage
exit 2
;;
esac
done
case "$SQLITE" in
/*) SQLITE_ABS=$SQLITE ;;
*) SQLITE_ABS=$(pwd)/$SQLITE ;;
esac
SQLITE_DIR=$(dirname "$SQLITE_ABS")
SQLITE_BASE=$(basename "$SQLITE_ABS")
if [ "$PULL" -eq 1 ]; then
docker pull "$IMAGE"
fi
echo "image: $IMAGE"
echo "old container: $OLD_CONTAINER"
echo "redis url: $REDIS_URL"
echo "sqlite: $SQLITE_ABS"
set -- export-redis --redis-url "$REDIS_URL" --db "/data/$SQLITE_BASE"
if [ "$FLUSH_TARGET" -eq 1 ]; then
set -- "$@" --flush-target
fi
docker run --rm \
--network "container:$OLD_CONTAINER" \
-v "$SQLITE_DIR:/data" \
"$IMAGE" \
"$@"

View File

@@ -0,0 +1,71 @@
#!/bin/sh
set -eu
OLD_CONTAINER=kosync
SQLITE=./data/kosync.sqlite3
IMAGE=kosync-rs:latest
REDIS_URL=redis://127.0.0.1:6379/1
PULL=1
usage() {
echo "Usage: $0 [--old-container NAME] [--sqlite PATH] [--image IMAGE] [--redis-url URL] [--no-pull]" >&2
}
while [ "$#" -gt 0 ]; do
case "$1" in
--old-container)
OLD_CONTAINER=$2
shift 2
;;
--sqlite)
SQLITE=$2
shift 2
;;
--image)
IMAGE=$2
shift 2
;;
--redis-url)
REDIS_URL=$2
shift 2
;;
--no-pull)
PULL=0
shift
;;
-h|--help)
usage
exit 0
;;
*)
usage
exit 2
;;
esac
done
case "$SQLITE" in
/*) SQLITE_ABS=$SQLITE ;;
*) SQLITE_ABS=$(pwd)/$SQLITE ;;
esac
SQLITE_DIR=$(dirname "$SQLITE_ABS")
SQLITE_BASE=$(basename "$SQLITE_ABS")
mkdir -p "$SQLITE_DIR"
if [ "$PULL" -eq 1 ]; then
docker pull "$IMAGE"
fi
echo "image: $IMAGE"
echo "old container: $OLD_CONTAINER"
echo "redis url: $REDIS_URL"
echo "sqlite: $SQLITE_ABS"
docker run --rm \
--network "container:$OLD_CONTAINER" \
-v "$SQLITE_DIR:/data" \
"$IMAGE" \
import-redis \
--redis-url "$REDIS_URL" \
--db "/data/$SQLITE_BASE"