tool-databridge/scripts/deploy-log-import-ctllog-disney.sh
mingsheng.li 55279cd40d
All checks were successful
continuous-integration/drone/push Build is passing
log format data inporting script
2025-09-05 12:14:07 +08:00

55 lines
1.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
# 默认配置
JOB_ID=$(date +%Y%m%d-%H%M%S)
IMAGE_REPO=${IMAGE_REPO:-"harbor.dc.teramesh.cn/library/tools"}
IMAGE_TAG=${IMAGE_TAG:-"dev"}
BATCH_SIZE=${BATCH_SIZE:-"20"}
LOG_LEVEL=${LOG_LEVEL:-"INFO"}
DATA_PVC_NAME=${DATA_PVC_NAME:-"data-import-export-pvc"}
JOB_HOST_KEY=${JOB_HOST_KEY:-"kubernetes.io/hostname"}
JOB_HOST_NAME=${JOB_HOST_NAME:-"idrc-disney-1"}
# 数据库配置(使用时需要修改)
DB_HOST=${DB_HOST:-"db"}
DB_PORT=${DB_PORT:-"6432"}
DB_NAME=${DB_NAME:-"idrc"}
DB_USER=${DB_USER:-"teramesh"}
DB_PASSWORD=${DB_PASSWORD:-"2iqTCHwnf75stGBzM8le"}
NAMESPACE=${NAMESPACE:-"default"}
# 检查模板文件
TEMPLATE_FILE="log-import-ctllog-job.yaml"
if [ ! -f "$TEMPLATE_FILE" ]; then
echo "Template file not found: $TEMPLATE_FILE"
exit 1
fi
# 直接替换模板变量不使用envsubst
OUTPUT_FILE="log-import-ctllog-job-${JOB_ID}.yaml"
sed -e "s|{{JOB_ID}}|$JOB_ID|g" \
-e "s|{{NAMESPACE}}|$NAMESPACE|g" \
-e "s|{{IMAGE_REPO}}|$IMAGE_REPO|g" \
-e "s|{{IMAGE_TAG}}|$IMAGE_TAG|g" \
-e "s|{{DATA_PVC_NAME}}|$DATA_PVC_NAME|g" \
-e "s|{{JOB_HOST_KEY}}|$JOB_HOST_KEY|g" \
-e "s|{{JOB_HOST_NAME}}|$JOB_HOST_NAME|g" \
-e "s|{{DB_HOST}}|$DB_HOST|g" \
-e "s|{{DB_PORT}}|$DB_PORT|g" \
-e "s|{{DB_NAME}}|$DB_NAME|g" \
-e "s|{{DB_USER}}|$DB_USER|g" \
-e "s|{{DB_PASSWORD}}|$DB_PASSWORD|g" \
-e "s|{{BATCH_SIZE}}|$BATCH_SIZE|g" \
-e "s|{{LOG_LEVEL}}|$LOG_LEVEL|g" \
"$TEMPLATE_FILE" > "$OUTPUT_FILE"
# 部署前验证
echo "Validating generated YAML..."
kubectl apply -f "$OUTPUT_FILE" -n "$NAMESPACE" --dry-run=client
# 部署Job
kubectl apply -f "$OUTPUT_FILE" -n "$NAMESPACE"
echo "Job deployed in namespace $NAMESPACE: log-import-ctllog-job-${JOB_ID}"
echo "To view logs: kubectl logs job/log-import-ctllog-job-${JOB_ID} -n $NAMESPACE"