geocrop-platform./ops/reorganize_storage.sh

50 lines
2.0 KiB
Bash

#!/bin/bash
#===============================================================================
# Storage Reorganization Script
#
# Purpose: Reorganize existing files in MinIO to match storage contract structure
# Run: kubectl exec -n geocrop pod/geocrop-worker-XXXXX -- /bin/sh -c "$(cat reorganize.sh)"
#===============================================================================
set -euo pipefail
# Setup mc alias
mc alias set local http://minio:9000 minioadmin minioadmin123
echo "=== Starting Storage Reorganization ==="
# 1. Reorganize geocrop-baselines
echo "1. Reorganizing geocrop-baselines..."
# List and move Agreement files
for obj in $(mc ls local/geocrop-baselines/dw/zim/summer/ 2>/dev/null | grep "DW_Zim_Agreement" | sed 's/.*STANDARD //'); do
season=$(echo "$obj" | sed 's/DW_Zim_Agreement_\(...._....\).*/\1/')
mc cp "local/geocrop-baselines/dw/zim/summer/$obj" "local/geocrop-baselines/dw/zim/summer/$season/agreement/$obj" 2>/dev/null || true
mc rm "local/geocrop-baselines/dw/zim/summer/$obj" 2>/dev/null || true
done
# Note: For HighestConf and Mode files, they need to be uploaded separately
# 2. Reorganize geocrop-datasets
echo "2. Reorganizing geocrop-datasets..."
# Move CSV files to datasets/zimbabwe-full/v1/data/
for obj in $(mc ls local/geocrop-datasets/ 2>/dev/null | grep "Zimbabwe_Full_Augmented" | sed 's/.*STANDARD //'); do
mc cp "local/geocrop-datasets/$obj" "local/geocrop-datasets/datasets/zimbabwe-full/v1/data/$obj" 2>/dev/null || true
mc rm "local/geocrop-datasets/$obj" 2>/dev/null || true
done
# 3. Reorganize geocrop-models
echo "3. Reorganizing geocrop-models..."
# Create model version directory
mc mb local/geocrop-models/models/xgboost-crop/v1 2>/dev/null || true
# Move model files - rename to standard names
mc cp local/geocrop-models/Zimbabwe_XGBoost_Model.pkl local/geocrop-models/models/xgboost-crop/v1/model.joblib 2>/dev/null || true
mc rm local/geocrop-models/Zimbabwe_XGBoost_Model.pkl 2>/dev/null || true
# Add other models as needed...
echo "=== Reorganization Complete ==="