Фикс с ключами

This commit is contained in:
Alexander Zhirov 2025-04-26 23:29:31 +03:00
parent 72901d7978
commit 1c6fa0002f
4 changed files with 27 additions and 17 deletions

View file

@ -24,6 +24,7 @@ usage() {
: "${PRIVATE_KEY:=}"
: "${PUBLIC_KEY:=}"
: "${REPODEST_DIR:=}"
: "${NAME_KEY:=builder}"
PACKAGES_DIR="/home/builder/packages"
NFS_ENABLED=0
@ -36,6 +37,7 @@ while [ $# -gt 0 ]; do
-r) PRIVATE_KEY="$2"; shift 2 ;;
-u) PUBLIC_KEY="$2"; shift 2 ;;
-d) REPODEST_DIR="$2"; shift 2 ;;
-k) NAME_KEY="$2"; shift 2 ;;
*) echo "🚫 Ошибка: Неизвестный флаг $1"; usage ;;
esac
done
@ -80,49 +82,45 @@ if [ -n "$PRIVATE_KEY" ] || [ -n "$PUBLIC_KEY" ]; then
# Создаем директорию .abuild
mkdir -p /home/builder/.abuild
# Записываем abuild.conf
echo 'PACKAGER_PRIVKEY="/home/builder/.abuild/packager.rsa"' > /home/builder/.abuild/abuild.conf
echo "PACKAGER_PRIVKEY=\"/home/builder/.abuild/$NAME_KEY.rsa\"" > /home/builder/.abuild/abuild.conf
if [ $? -ne 0 ]; then
echo "🚫 Ошибка при записи abuild.conf"
exit 1
fi
# Записываем приватный ключ
echo "$PRIVATE_KEY" > /home/builder/.abuild/packager.rsa
echo "$PRIVATE_KEY" > /home/builder/.abuild/$NAME_KEY.rsa
if [ $? -ne 0 ]; then
echo "🚫 Ошибка при записи приватного ключа"
exit 1
fi
# Записываем публичный ключ
echo "$PUBLIC_KEY" > /home/builder/.abuild/packager.rsa.pub
echo "$PUBLIC_KEY" > /home/builder/.abuild/$NAME_KEY.rsa.pub
if [ $? -ne 0 ]; then
echo "🚫 Ошибка при записи публичного ключа"
exit 1
fi
# Устанавливаем права доступа
chmod 600 /home/builder/.abuild/packager.rsa
chmod 644 /home/builder/.abuild/packager.rsa.pub /home/builder/.abuild/abuild.conf
chmod 600 /home/builder/.abuild/$NAME_KEY.rsa
chmod 644 /home/builder/.abuild/$NAME_KEY.rsa.pub /home/builder/.abuild/abuild.conf
# Копирование ключа для apk менеджера
sudo cp -v /home/builder/.abuild/$NAME_KEY.rsa.pub /etc/apk/keys/
echo "✅ Ключи abuild успешно настроены"
else
# Если ключи не переданы, проверяем существующие или генерируем новые
if [ ! -f "/home/builder/.abuild/abuild.conf" ]; then
echo "🔑 Генерирую новые ключи для abuild..."
abuild-keygen -a -i -n
echo "/home/builder/.abuild/$NAME_KEY.rsa" | abuild-keygen -a -i
if [ $? -ne 0 ]; then
echo "🚫 Ошибка при генерации ключей abuild"
exit 1
fi
echo "✅ Ключи abuild сгенерированы"
else
sudo cp -v /home/builder/.abuild/$NAME_KEY.rsa.pub /etc/apk/keys/
echo "✅ Использую существующие ключи abuild"
fi
fi
cat /home/builder/.abuild/*.rsa.pub
cat /home/builder/.abuild/*.rsa
cat /home/builder/.abuild/abuild.conf
# Копирование ключа для apk менеджера
sudo cp -v /home/builder/.abuild/*.rsa.pub /etc/apk/keys/
# Монтируем NFS-ресурс, если включен
if [ "$NFS_ENABLED" -eq 1 ]; then
echo "🔌 Монтирую NFS-ресурс $NFS_SERVER:$NFS_PATH в $PACKAGES_DIR..."