tool-databridge/scripts/deploy-dbf-import.sh

39 lines
1.1 KiB
Bash

#!/bin/bash
set -e
# 默认配置
JOB_ID=$(date +%Y%m%d-%H%M%S)
IMAGE_REPO=${IMAGE_REPO:-"harbor.dc.teramesh.cn/idrc/tools"}
IMAGE_TAG=${IMAGE_TAG:-"latest"}
BATCH_SIZE=${BATCH_SIZE:-"1000"}
LOG_LEVEL=${LOG_LEVEL:-"INFO"}
DATA_PVC_NAME=${DATA_PVC_NAME:-"data-import-export-pvc"}
# todo: 下面参数使用时需要修改
DB_HOST=${DB_HOST:-"xx-postgres-service"}
DB_PORT=${DB_PORT:-"5432"}
DB_NAME=${DB_NAME:-"xx"}
DB_USER=${DB_USER:-"xx_db_user"}
DB_PASSWORD=${DB_PASSWORD:-"xx_db_password"}
# 导出变量用于envsubst
export JOB_ID IMAGE_REPO IMAGE_TAG DATA_PVC_NAME
export DB_HOST DB_PORT DB_NAME DB_USER DB_PASSWORD
export BATCH_SIZE LOG_LEVEL
# 检查模板文件
TEMPLATE_FILE="../k8s/job-templates/dbf-import-job.yaml"
if [ ! -f "$TEMPLATE_FILE" ]; then
echo "Template file not found: $TEMPLATE_FILE"
exit 1
fi
# 处理模板
OUTPUT_FILE="../k8s/jobs/dbf-import-job-${JOB_ID}.yaml"
envsubst < "$TEMPLATE_FILE" > "$OUTPUT_FILE"
# 部署Job
kubectl apply -f "$OUTPUT_FILE"
echo "Job deployed: dbf-import-job-${JOB_ID}"
echo "To view logs: kubectl logs job/dbf-import-job-${JOB_ID}"