Skip to content

Open-API: Slim down REST fixture shadow JAR and externalize cloud bundles#16214

Draft
kevinjqliu wants to merge 3 commits intoapache:mainfrom
kevinjqliu:kevinjqliu/open-api
Draft

Open-API: Slim down REST fixture shadow JAR and externalize cloud bundles#16214
kevinjqliu wants to merge 3 commits intoapache:mainfrom
kevinjqliu:kevinjqliu/open-api

Conversation

@kevinjqliu
Copy link
Copy Markdown
Contributor

Changes

  • Reduce shadow JAR from 201MB to 58MB by excluding cloud-specific thin modules
    (iceberg-aws, iceberg-gcp, iceberg-azure, iceberg-bigquery) and JUnit dependencies
    from the shadow JAR.
  • Load cloud bundles as separate JARs via classpath (-cp instead of -jar) so
    they can be included/excluded independently.
  • Fix REST_PORT env var — renamed to CATALOG_REST_PORT so the server actually
    reads it through the CATALOG_* environment mapping.
  • Update CI workflow to build cloud bundle shadow JARs alongside the open-api JAR.

Motivation

The shadow JAR previously bundled all cloud provider SDKs (AWS, GCP, Azure) directly,
making it unnecessarily large. Cloud bundles are already published as standalone JARs and
can be loaded at runtime via the classpath, matching how they're consumed in Spark/Flink.

Testing

  • Built shadow JAR and verified size reduction (201MB → 58MB)
  • Ran standalone JAR with CATALOG_REST_PORT=8183 — server starts, serves /v1/config,
    creates/lists namespaces
  • Built and ran Docker image — healthcheck passes, full REST API functional

kevinjqliu and others added 3 commits May 4, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant