From 341745eced62658b91490bfe0377616132842d2f Mon Sep 17 00:00:00 2001 From: kanthi subramanian Date: Fri, 30 Jan 2026 18:47:14 -0600 Subject: [PATCH 1/2] Added iceberg-gcp mvn dependencies for GCS support. Documented GCS setup for ice-rest-catalog --- docs/ice-rest-catalog-gcs.md | 49 ++++++++++++++++++++++ ice-rest-catalog/pom.xml | 79 ++++++++++++++++++++++++++++++++++++ ice/pom.xml | 39 ++++++++++++++++++ 3 files changed, 167 insertions(+) create mode 100644 docs/ice-rest-catalog-gcs.md diff --git a/docs/ice-rest-catalog-gcs.md b/docs/ice-rest-catalog-gcs.md new file mode 100644 index 00000000..d176e472 --- /dev/null +++ b/docs/ice-rest-catalog-gcs.md @@ -0,0 +1,49 @@ +# Setting up ice-rest-catalog with Google Cloud Storage + +This guide covers configuring `ice-rest-catalog` to use GCS buckets as the warehouse location. + +## Prerequisites + +- A GCS bucket with appropriate permissions +- Service account with Storage Object Admin role (`roles/storage.objectAdmin`) +- Service account JSON key file + +## Configuration + +Create `.ice-rest-catalog.yaml`: + +```yaml +uri: jdbc:sqlite:file:data/ice-rest-catalog/db.sqlite?journal_mode=WAL&synchronous=OFF&journal_size_limit=500 +warehouse: gs://your-bucket-name/warehouse + +iceberg: + gcs.project-id: your-gcp-project-id + +bearerTokens: +- value: your-secret-token + +anonymousAccess: + enabled: true + accessConfig: {} +``` + +## Authentication + +Set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to your service account key file: + +```bash +export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json" +``` + +## Running + +```bash +java -jar ice-rest-catalog-0.0.0-SNAPSHOT-shaded.jar -c .ice-rest-catalog.yaml +``` + +## Configuration Options + +| Property | Description | +|----------|-------------| +| `warehouse` | GCS bucket path (`gs://bucket-name/path`) | +| `iceberg.gcs.project-id` | GCP project ID | diff --git a/ice-rest-catalog/pom.xml b/ice-rest-catalog/pom.xml index dd1b71b5..21009d92 100644 --- a/ice-rest-catalog/pom.xml +++ b/ice-rest-catalog/pom.xml @@ -215,6 +215,85 @@ + + + org.apache.iceberg + iceberg-gcp + ${iceberg.version} + + + org.slf4j + slf4j-api + + + + + com.google.cloud + google-cloud-storage + 2.43.1 + + + com.google.guava + guava + + + com.google.code.gson + gson + + + com.fasterxml.jackson.core + jackson-core + + + com.google.errorprone + error_prone_annotations + + + org.slf4j + slf4j-api + + + com.google.re2j + re2j + + + io.grpc + grpc-grpclb + + + io.grpc + grpc-stub + + + io.grpc + grpc-util + + + io.grpc + grpc-core + + + io.grpc + grpc-api + + + io.grpc + grpc-protobuf + + + com.google.api.grpc + proto-google-common-protos + + + io.grpc + grpc-context + + + io.grpc + grpc-protobuf-lite + + + org.eclipse.jetty diff --git a/ice/pom.xml b/ice/pom.xml index feb357af..2556c560 100644 --- a/ice/pom.xml +++ b/ice/pom.xml @@ -135,6 +135,45 @@ + + + org.apache.iceberg + iceberg-gcp + ${iceberg.version} + + + org.slf4j + slf4j-api + + + + + com.google.cloud + google-cloud-storage + 2.43.1 + + + com.google.code.gson + gson + + + com.fasterxml.jackson.core + jackson-core + + + com.google.errorprone + error_prone_annotations + + + org.slf4j + slf4j-api + + + com.google.re2j + re2j + + + software.amazon.awssdk s3 From e511da8ed4db4085f4b759bc99fb3d592edc7495 Mon Sep 17 00:00:00 2001 From: Kanthi Date: Fri, 30 Jan 2026 18:57:46 -0600 Subject: [PATCH 2/2] Fix command to run ice-rest-catalog --- docs/ice-rest-catalog-gcs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ice-rest-catalog-gcs.md b/docs/ice-rest-catalog-gcs.md index d176e472..f05634cb 100644 --- a/docs/ice-rest-catalog-gcs.md +++ b/docs/ice-rest-catalog-gcs.md @@ -38,7 +38,7 @@ export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json" ## Running ```bash -java -jar ice-rest-catalog-0.0.0-SNAPSHOT-shaded.jar -c .ice-rest-catalog.yaml +ice-rest-catalog -c .ice-rest-catalog.yaml ``` ## Configuration Options