feat(connectors): ship connector plugins in the iggy-connect docker image - #3658
Open
kriti-sc wants to merge 14 commits into
Open
feat(connectors): ship connector plugins in the iggy-connect docker image#3658kriti-sc wants to merge 14 commits into
kriti-sc wants to merge 14 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3658 +/- ##
=============================================
- Coverage 76.95% 18.28% -58.67%
- Complexity 1021 1316 +295
=============================================
Files 1366 1376 +10
Lines 176130 150597 -25533
Branches 146173 119836 -26337
=============================================
- Hits 135536 27544 -107992
- Misses 36718 122424 +85706
+ Partials 3876 629 -3247
🚀 New features to boost your workflow:
|
kriti-sc
marked this pull request as ready for review
July 19, 2026 18:18
Contributor
Author
|
/ready |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. If you need a review, please ensure CI is green and the PR is rebased on the latest master. Don't hesitate to ping the maintainers - either Thank you for your contribution! |
numinnex
reviewed
Jul 31, 2026
numinnex
reviewed
Jul 31, 2026
numinnex
reviewed
Jul 31, 2026
A stage resolves to its final filesystem, so the slim runtime's COPY --from=builder forced the whole builder stage: every -slim build compiled the plugin cdylibs and ran cargo-about over their dependency closures, then discarded all of it. Split the builder into two siblings on a shared toolchain stage, one per flavor, each cooking only its own package set and generating only the license manifest its image ships. Keeping them siblings rather than chaining the plugin build on top of the runtime build is what lets cargo chef cook the plugin dependency closure into a pre-source layer, which is the only part of it the registry cache can hold on CI. The two final stages share a runtime-base for the same reason in the other direction: with runtime-fat FROM runtime, a fat build pulls the slim branch in and compiles the runtime binary twice.
This was referenced Aug 6, 2026
…plit-fat-builder fix(connectors): stop the slim image build from compiling plugins
Contributor
Author
|
/ready |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3614
Rationale
Dynamically inject plugins to the
apache/iggy-connectimage to reduce friction for testing out connectors.What changed?
This change publishes the image in two flavors:
Fat (edge, x.y.z, latest): the runtime plus every connector plugin baked into /usr/local/lib, which is already on the runtime's plugin search path. A config can load a bundled plugin by file name with no path. This is the new default.
Slim (edge-slim, x.y.z-slim, latest-slim): the runtime binary only, i.e. today's image, for deployments that bring their own plugins.
To this end:
Local Execution
AI Usage