Skip to content

feat: add declarative bundle import and export compatibility#338

Open
sabino wants to merge 7 commits intodatazip-inc:stagingfrom
sabino:feat/cli-bundle-import-export
Open

feat: add declarative bundle import and export compatibility#338
sabino wants to merge 7 commits intodatazip-inc:stagingfrom
sabino:feat/cli-bundle-import-export

Conversation

@sabino
Copy link
Copy Markdown

@sabino sabino commented Mar 19, 2026

Description

Add a CLI-compatible declarative bundle compatibility layer to OLake UI so jobs can move between UI-managed configuration and repo-managed bundle workflows.

This PR adds backend import/export endpoints, Swagger/docs/examples, and UI affordances to import bundles and export an existing job back into a bundle. The import flow supports bundle archives, loose JSON files, and repeated folder selection for batch imports.

Fixes # (issue): N/A

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • go test ./internal/services/etl/...
  • pnpm exec tsc --noEmit
  • Rebuilt the local OLake UI container from this branch and verified the Jobs page import flow and Swagger endpoints at http://localhost:8000
  • Verified the Jobs UI shows Import Bundle, the modal explains the compatibility layer, the row menu shows Export Bundle, and Swagger exposes the import/export bundle endpoints

Screenshots or Recordings

  • Jobs page import modal with folder / JSON / archive options
image
  • Job actions menu showing Export Bundle
image
  • Swagger showing Import a declarative bundle and Export a declarative bundle
image

Related PR's (If Any):

  • None

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 19, 2026

CLA assistant check
All committers have signed the CLA.

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.

2 participants