Skip to content

refactor(rest): derive catalog configuration from properties - #3106

Draft
blackmwk wants to merge 1 commit into
apache:mainfrom
blackmwk:ir-3100-rest-properties
Draft

refactor(rest): derive catalog configuration from properties#3106
blackmwk wants to merge 1 commit into
apache:mainfrom
blackmwk:ir-3100-rest-properties

Conversation

@blackmwk

@blackmwk blackmwk commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

What changes are included in this PR?

  • Derive crate-private, typed RestCatalogProperties for URI and warehouse without retaining a catch-all property map in the projection.
  • Keep injected clients, auth managers, storage/KMS factories, and runtimes on the builder; construct runtime configuration only after property derivation and fail-fast validation.
  • Preserve server-default, client, and server-override precedence and re-project the resolved URI and warehouse after the server handshake.
  • Forward the complete raw property map, including modeled and custom properties, to KMS, authentication, and FileIO paths while preserving secret-redacting debug output.
  • Add focused coverage for parsing/defaults, required name and URI validation, merge precedence, injection, and raw property retention.

Are these changes tested?

  • cargo test -p iceberg-catalog-rest --lib (83 passed)
  • cargo clippy -p iceberg-catalog-rest --all-targets -- -D warnings
  • cargo public-api -p iceberg-catalog-rest --all-features -ss | diff - crates/catalog/rest/public-api.txt
  • cargo fmt --all -- --check
  • git diff --check

AI Disclosure

This change was developed with assistance from OpenAI Codex. The contributor reviewed the resulting diff and test output.

Use the shared property derive for REST catalog settings while retaining server merge precedence, injected clients, and secret redaction.

Tracks [apache#3100](apache#3100).

Generated-by: Codex
@blackmwk
blackmwk force-pushed the ir-3100-rest-properties branch from f9fbc2d to b08836c Compare September 4, 2026 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(rest): derive catalog configuration from properties

1 participant