Skip to content

Create api interface to define build usage backend#49924

Merged
vvoland merged 1 commit intomoby:masterfrom
dmcgowan:api-system-build-backend
May 13, 2025
Merged

Create api interface to define build usage backend#49924
vvoland merged 1 commit intomoby:masterfrom
dmcgowan:api-system-build-backend

Conversation

@dmcgowan
Copy link
Member

@dmcgowan dmcgowan commented May 5, 2025

Avoid importing buildkit builder into api package when only a single backend function is needed.

Related to #49873

Avoid importing buildkit builder into api package when only a single
backend function is needed.

Signed-off-by: Derek McGowan <derek@mcg.dev>
@thaJeztah
Copy link
Member

As a follow-up, we could consideradd this method (as a wrapper) to the backend/builder;

// Backend provides build functionality to the API router
type Backend struct {
builder Builder
imageComponent ImageComponent
buildkit *buildkit.Builder
eventsService *daemonevents.Events
}

Then we wouldn't have to pass two separate fields in builder options;

moby/cmd/dockerd/daemon.go

Lines 434 to 449 in 453c165

bb, err := buildbackend.NewBackend(d.ImageService(), manager, bk, d.EventsService)
if err != nil {
return builderOptions{}, closeFn, errors.Wrap(err, "failed to create builder backend")
}
log.G(ctx).Info("Completed buildkit initialization")
closeFn = func() {
if err := bk.Close(); err != nil {
log.G(ctx).WithError(err).Error("Failed to close buildkit")
}
}
return builderOptions{
backend: bb,
buildkit: bk,

systemrouter.NewRouter(opts.daemon, opts.cluster, opts.builder.buildkit, opts.daemon.Features),

routers = append(routers, grpcrouter.NewRouter(opts.builder.backend))

@thaJeztah thaJeztah added area/api API area/builder Build status/2-code-review kind/refactor PR's that refactor, or clean-up code labels May 6, 2025
Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vvoland vvoland merged commit d42d79d into moby:master May 13, 2025
155 of 156 checks passed
@vvoland vvoland modified the milestones: 29.0.0, 28.2.0 May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants