#!/bin/bash

# Tank War Server K8s部署脚本
set -e

# 配置变量
IMAGE_NAME="tankwar-server"
K8S_NAMESPACE="tankwar"
K8S_CONFIG="k8s-deployment.yaml"

# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
    echo "错误: Docker守护进程未运行"
    exit 1
fi

# 构建Docker镜像
echo "构建Docker镜像..."
docker build -t $IMAGE_NAME:latest .

# 登录到目标K8s集群（假设已配置kubectl）
echo "检查Kubernetes集群连接..."
kubectl cluster-info

# 创建命名空间（如果不存在）
echo "创建命名空间..."
kubectl create namespace $K8S_NAMESPACE --dry-run=client -o yaml | kubectl apply -f -

# 部署应用到K8s
echo "部署应用到Kubernetes..."
kubectl apply -f $K8S_CONFIG -n $K8S_NAMESPACE

# 等待部署完成
echo "等待部署完成..."
kubectl rollout status deployment/tankwar-server -n $K8S_NAMESPACE --timeout=300s

# 获取服务信息
echo "获取服务信息..."
kubectl get svc tankwar-server-service -n $K8S_NAMESPACE

echo "部署完成！"
echo "使用以下命令查看Pod状态:"
echo "kubectl get pods -n $K8S_NAMESPACE"
echo ""
echo "使用以下命令查看日志:"
echo "kubectl logs -l app=tankwar-server -n $K8S_NAMESPACE"