# Step 0.3: MinIO Bucket Verification

**Date:** 2026-02-28  
**Executed by:** Roo (Code Agent)

## MinIO Client Setup

- **mc version:** RELEASE.2025-08-13T08-35-41Z
- **Alias:** `geocrop-minio` → http://localhost:9000 (via kubectl port-forward)
- **Access credentials:** minioadmin / minioadmin123

## Bucket Summary

| Bucket Name | Purpose | Status | Policy |
|-------------|---------|--------|--------|
| `geocrop-baselines` | DW baseline COGs | Already existed | Private |
| `geocrop-datasets` | Training datasets | Already existed | Private |
| `geocrop-models` | Trained ML models | Already existed | Private |
| `geocrop-results` | Output COGs from inference | **Created** | Private |

## Actions Performed

1. ✅ Verified mc client installed (v2025-08-13)
2. ✅ Set up MinIO alias using kubectl port-forward
3. ✅ Verified existing buckets: 3 found
4. ✅ Created missing bucket: `geocrop-results`
5. ✅ Set all bucket policies to private (no anonymous access)

## Final Bucket List

```
[2026-02-27 23:14:49 CET]     0B geocrop-baselines/
[2026-02-27 23:00:51 CET]     0B geocrop-datasets/
[2026-02-27 17:17:17 CET]     0B geocrop-models/
[2026-02-28 08:47:00 CET]     0B geocrop-results/
```

## Notes

- Access via Kubernetes internal DNS (`minio.geocrop.svc.cluster.local`) requires cluster-internal execution
- External access achieved via `kubectl port-forward -n geocrop svc/minio 9000:9000`
- All buckets are configured with private access - objects accessible only with valid credentials
- No public read access enabled on any bucket
