- Notifications
You must be signed in to change notification settings - Fork471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
POC: BuildKit support#766
Conversation
@apocas @grpc/grpc-js is updated now. Accepting the docker-modem PR would be in your hands. Anything unclear there? Besides that, the random errors remain. Do you have any idea what could be wrong here? If it is a docker bug, we could still move forward here, right? |
punkpeye commentedDec 20, 2024
@schummar Did you happen to release this anywhere? |
No, not yet. I've been experimenting with my own library — maybe something will come of it. Let's see. |
Looking into this, this weekend. |
Just needed a quick fix:277185b#diff-b72948b87400c946b100a05748533a06bc240e7f6ba5805fb23c3d796546b788L316 Tests are passing 🎉 |
I managed to get BuildKit build to work! It is not perfect yet, but it works most of the time for me.
To do this, dockerode needs to create a gRPC server and serve over a hijacked session connection to the docker backend and attach the sessionId to the build request. Even a gRPC server without any implemented services will do, but it can also be used to return credentials to docker, which is needed when using private Images or Registries.
The are some open todos and problems:
createConnectionInjector
feature is already in master, but not release yet (grpc-js: Add Server#createConnectionInjector API grpc/grpc-node#2675). At the moment one has to build @grpc/grpc-js locally (that's why it's linked locally in the package.json for now)Solves#601