Repository navigation
Infra: Standardize RustFS setup across Iceberg repos - #4017
kevinjqliu wants to merge 2 commits into
Conversation
Use /health/ready so bucket creation waits for storage/IAM readiness, enable stdout logging so `docker logs` shows output, and remove settings that are already defaults in rustfs/rustfs:1.0.0. Generated-by: GitHub Copilot Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
No unresolved issues were identified.
Review effort: Lite
Findings: None
What changed in this PR
Updates RustFS Docker Compose configurations to use readiness checks, stdout logging, and default settings.
Changes:
- Switches healthchecks to
/health/ready. - Enables RustFS stdout logging.
- Removes redundant default settings.
| File | Description |
|---|---|
dev/docker-compose.yml |
Updates standalone RustFS configuration. |
dev/docker-compose-integration.yml |
Updates integration RustFS configuration. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Align with the RustFS setup used across Iceberg repos: bump the image to 1.0.3, set RUSTFS_CONSOLE_ENABLE=false, and stop publishing port 9001. Generated-by: GitHub Copilot Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
| - RUSTFS_ADDRESS=:9000 | ||
| - RUSTFS_CONSOLE_ENABLE=true | ||
| - RUSTFS_CONSOLE_ADDRESS=:9001 | ||
| - RUSTFS_OBS_LOG_STDOUT_ENABLED=true |
| - RUSTFS_CONSOLE_ENABLE=true | ||
| - RUSTFS_CONSOLE_ADDRESS=:9001 | ||
| - RUSTFS_OBS_LOG_STDOUT_ENABLED=true | ||
| - RUSTFS_CONSOLE_ENABLE=false |
There was a problem hiding this comment.
removes console port 9001, we dont need it
| - RUSTFS_SERVER_DOMAINS=object-store | ||
| healthcheck: | ||
| test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health"] | ||
| test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health/ready"] |
There was a problem hiding this comment.
The RustFS Status Check docs define the two endpoints differently:
-
/healthis a liveness check. It returns 200 "as long as the process is up". -
/health/readyis a readiness check. It returns 200 "only when storage, IAM, and peer health are ready", and 503 otherwise.
| - RUSTFS_VOLUMES=/data | ||
| - RUSTFS_ADDRESS=:9000 | ||
| - RUSTFS_CONSOLE_ENABLE=true | ||
| - RUSTFS_CONSOLE_ADDRESS=:9001 |
There was a problem hiding this comment.
these are all defaults, can remove
Rationale for this change
Follow up to apache/iceberg#18246. Standardizes the RustFS setup across the Iceberg repos. Same change in:
The setup:
rustfs/rustfs:1.0.3, the latest stable./health/ready./healthis just liveness and can pass before storage and IAM are ready, so bucket creation can race it.RUSTFS_OBS_LOG_STDOUT_ENABLED=true. Otherwisedocker logsis empty.RUSTFS_CONSOLE_ENABLE=falseand no port 9001. Nothing uses the console.Are these changes tested?
Ran
docker compose configon both files and startedrustfs/rustfs:1.0.3with the new config:/health/readyreturns 200 and logs show up indocker logs.Are there any user-facing changes?
No.
AI Disclosure: Assisted by GitHub Copilot.