Skip to content

feat(vscode): support file and HTTP Kamelet catalogs - #1664

Open
bartoszpop wants to merge 1 commit into
apache:mainfrom
bartoszpop:support-file-and-HTTP-Kamelet-catalogs
Open

bartoszpop wants to merge 1 commit into
apache:mainfrom
bartoszpop:support-file-and-HTTP-Kamelet-catalogs

Conversation

@bartoszpop

@bartoszpop bartoszpop commented Nov 6, 2026 •

Copy link
Copy Markdown

Fixes #889

Summary

Extend Karavan.kameletsPath to load editor Kamelet catalogs from local directories, individual YAML files, and HTTP(S) URLs.

  • Support multiple Kamelets per file, including LF and CRLF line endings, comments, directives, and empty documents.
  • Parse built-in catalogs using the same YAML document parser, fixing Windows loading failures caused by LF-only splitting.
  • Add a 30-second remote-loading timeout and report HTTP, network, and YAML errors while keeping the built-in catalog available.
  • Separate editor catalog configuration from Camel JBang runtime configuration.
  • Fix Custom only filtering so it preserves selected categories and applies consistently to regular and preferred cards.

Configuration and migration

Karavan.kameletsPath is now editor-only, including directory sources. It is never passed to Camel JBang or downloaded into the integration project.

Use the new camel.localKameletDir setting for --local-kamelet-dir during run/export, including runtime run and deploy. It accepts only an existing local directory.

Existing users relying on Karavan.kameletsPath for runtime Kamelets must also set camel.localKameletDir. Reopen the designer after changing the editor catalog setting.

Validation

  • All 17 targeted tests pass: npm run test:kamelets.
  • Production bundles build successfully: npm run package.
  • Type-checking reports the same 15 pre-existing errors, with no new diagnostics.

Regression coverage includes the shipped 250-Kamelet catalog with both line endings, multi-document sources, HTTP redirects and failures, timeout handling, runtime-setting validation, and reversible Custom only filtering.

Load multi-document custom Kamelet catalogs from local files and HTTP(S) URLs. Separate editor catalog configuration from the Camel JBang local Kamelet directory option.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

Get Kamelets from remote location

1 participant