photoncloud-monorepo/testing/qemu-cluster/scripts/deploy-photoncloud.sh

59 lines
2.1 KiB
Bash
Executable file

#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
echo "Deploying PhotonCloud to QEMU cluster..."
# ビルド
echo "Building PhotonCloud components..."
cd "$PROJECT_ROOT/deployer" && cargo build --release
cd "$PROJECT_ROOT/mtls-agent" && cargo build --release
# バイナリをVMにコピー
echo "Copying binaries to node-01..."
scp -P 2201 \
"$PROJECT_ROOT/deployer/target/release/node-agent" \
"$PROJECT_ROOT/deployer/target/release/deployer-ctl" \
"$PROJECT_ROOT/mtls-agent/target/release/mtls-agent" \
photon@localhost:/tmp/
echo "Copying binaries to node-02..."
scp -P 2202 \
"$PROJECT_ROOT/deployer/target/release/node-agent" \
"$PROJECT_ROOT/mtls-agent/target/release/mtls-agent" \
photon@localhost:/tmp/
# 設定ファイルをコピー
echo "Copying configuration files..."
scp -P 2201 "$PROJECT_ROOT/testing/qemu-cluster/configs/node-01-config.toml" photon@localhost:/tmp/
scp -P 2202 "$PROJECT_ROOT/testing/qemu-cluster/configs/node-02-config.toml" photon@localhost:/tmp/
# インストールスクリプトを実行
echo "Installing on node-01..."
ssh -p 2201 photon@localhost << 'EOF'
sudo mv /tmp/node-agent /usr/local/bin/
sudo mv /tmp/deployer-ctl /usr/local/bin/
sudo mv /tmp/mtls-agent /usr/local/bin/
sudo chmod +x /usr/local/bin/{node-agent,deployer-ctl,mtls-agent}
sudo mkdir -p /etc/photoncloud
sudo mv /tmp/node-01-config.toml /etc/photoncloud/config.toml
EOF
echo "Installing on node-02..."
ssh -p 2202 photon@localhost << 'EOF'
sudo mv /tmp/node-agent /usr/local/bin/
sudo mv /tmp/mtls-agent /usr/local/bin/
sudo chmod +x /usr/local/bin/{node-agent,mtls-agent}
sudo mkdir -p /etc/photoncloud
sudo mv /tmp/node-02-config.toml /etc/photoncloud/config.toml
EOF
echo "Deployment complete!"
echo ""
echo "Start services:"
echo " node-01: ssh -p 2201 photon@localhost 'sudo node-agent --config /etc/photoncloud/config.toml'"
echo " node-02: ssh -p 2202 photon@localhost 'sudo node-agent --config /etc/photoncloud/config.toml'"