#!/usr/bin/env bash # ============================================================================= # MinIO — Inisialisasi Bucket dan Policy # Referensi arsitektur: bab 4.2.1 (MinIO — Object Storage) # - 4.2.1.7 Buat bucket awal (iceberg-data) # - 4.2.1.8 Buat service account dan policy akses # ============================================================================= set -euo pipefail MINIO_ALIAS="${MINIO_ALIAS:-sicabe}" MINIO_ENDPOINT="${MINIO_ENDPOINT:-http://minio:9000}" MINIO_ROOT_USER="${MINIO_ROOT_USER:-minioadmin}" MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD:?err}" MINIO_BUCKET_ICEBERG_DATA="${MINIO_BUCKET_ICEBERG_DATA:-iceberg-data}" echo "[MinIO] Configuring alias..." mc alias set "${MINIO_ALIAS}" "${MINIO_ENDPOINT}" "${MINIO_ROOT_USER}" "${MINIO_ROOT_PASSWORD}" # ─── Buat bucket awal (4.2.1.7) ────────────────────────────────────────────── echo "[MinIO] Creating buckets..." for bucket in "${MINIO_BUCKET_ICEBERG_DATA}"; do if mc ls "${MINIO_ALIAS}/${bucket}" >/dev/null 2>&1; then echo "[MinIO] Bucket '${bucket}' already exists, skipping." else mc mb "${MINIO_ALIAS}/${bucket}" echo "[MinIO] Bucket '${bucket}' created." fi done echo "[MinIO] Buckets initialized successfully."