fix(deploy-mining): 修正 Docker 容器名称和默认凭据

- 修正 POSTGRES_CONTAINER 为 rwa-postgres (匹配 docker-compose.yml)
- 修正 KAFKA_CONTAINER 为 rwa-kafka
- 修正 POSTGRES_USER 为 rwa_user
- 修正 POSTGRES_PASSWORD 为 rwa_secure_password
- 修复 CDC offset 重置命令使用正确的容器名和命令格式

解决 full-reset 无法删除数据库和重置 CDC offset 的问题。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-11 23:41:49 -08:00
parent 5c302bfca8
commit 5cab38c7f1
1 changed files with 62 additions and 32 deletions

View File

@ -212,18 +212,18 @@ load_env() {
log_warn "No .env file found, using defaults"
fi
# Set defaults
# Set defaults (match docker-compose.yml settings)
POSTGRES_HOST="${POSTGRES_HOST:-localhost}"
POSTGRES_PORT="${POSTGRES_PORT:-5432}"
POSTGRES_USER="${POSTGRES_USER:-postgres}"
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-postgres}"
POSTGRES_USER="${POSTGRES_USER:-rwa_user}"
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-rwa_secure_password}"
KAFKA_BROKERS="${KAFKA_BROKERS:-localhost:9092}"
REDIS_HOST="${REDIS_HOST:-localhost}"
REDIS_PORT="${REDIS_PORT:-6379}"
# Docker container names
POSTGRES_CONTAINER="${POSTGRES_CONTAINER:-postgres}"
KAFKA_CONTAINER="${KAFKA_CONTAINER:-kafka}"
# Docker container names (match docker-compose.yml container_name)
POSTGRES_CONTAINER="${POSTGRES_CONTAINER:-rwa-postgres}"
KAFKA_CONTAINER="${KAFKA_CONTAINER:-rwa-kafka}"
}
# ===========================================================================
@ -630,22 +630,36 @@ sync_reset() {
# Reset offsets
log_step "Resetting consumer group offsets"
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>/dev/null || {
# Try with docker
docker exec -it kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
local reset_success=false
# Try local kafka-consumer-groups.sh first
if command -v kafka-consumer-groups.sh &>/dev/null; then
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>/dev/null || log_warn "Could not reset offsets automatically"
}
--execute 2>/dev/null && reset_success=true
fi
# Try docker exec if local failed
if [ "$reset_success" = false ] && docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
log_info "Using Docker container: $KAFKA_CONTAINER"
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>&1 && reset_success=true
fi
if [ "$reset_success" = true ]; then
log_success "CDC consumer offsets reset to beginning"
else
log_warn "Could not reset offsets automatically"
fi
log_success "CDC consumer offsets reset to beginning"
log_info "Start contribution-service to begin syncing from the beginning"
}
@ -655,13 +669,20 @@ sync_status() {
echo -e "${BOLD}Consumer Group:${NC} $CDC_CONSUMER_GROUP"
echo ""
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--describe 2>/dev/null || {
docker exec -it kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
# Try local first, then docker
if command -v kafka-consumer-groups.sh &>/dev/null; then
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--describe 2>/dev/null || log_warn "Could not get consumer group status"
}
--describe 2>/dev/null && return 0
fi
if docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--describe 2>&1 || log_warn "Could not get consumer group status"
else
log_warn "Kafka container '$KAFKA_CONTAINER' not found"
fi
}
# ===========================================================================
@ -706,19 +727,28 @@ full_reset() {
db_migrate
log_step "Step 5/6: Resetting CDC consumer offsets..."
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>/dev/null || {
docker exec kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
# Try local kafka-consumer-groups.sh first, then docker exec
if command -v kafka-consumer-groups.sh &>/dev/null; then
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>/dev/null || log_warn "Could not reset offsets, may need manual reset"
}
--execute 2>/dev/null && log_success "CDC offsets reset" || log_warn "Local kafka-consumer-groups.sh failed"
fi
# Try docker exec with the correct container name
if docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
log_info "Resetting offsets via Docker container: $KAFKA_CONTAINER"
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>&1 || log_warn "Could not reset offsets via Docker"
else
log_warn "Kafka container '$KAFKA_CONTAINER' not found. Manual offset reset may be needed."
fi
log_step "Step 6/6: Starting 2.0 services..."
for service in "${MINING_SERVICES[@]}"; do