You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The grpc-teleterm target was introduced because at the time grpc-tools didn't provide arm64 binaries for both macOS and Linux. Reportedly, v1.11.3 added arm64 binaries for macOS but it's still missing arm64 binaries for Linux. This is blocking us from removing the target because make grpc-teleterm builds protobufs within a Linux container.
Removing grpc-teleterm and merging it into just the grpc target will speed up protobuf generation when developing Connect since there will be no need to build all those dependencies from source. This will also align Connect's protobuf generation with the rest of Teleport. We already had a couple of instances of people not knowing about the grpc-teleterm target and breaking protobuf generation when introducing changes for the grpc target.
What needs to be done
Everything that is in the grpc-teleterm target needs to be pulled into grpc. grpc uses build.assets/Dockerfile while grpc-teleterm uses build.assets/Dockerfile-teleterm. This means that whatever Dockerfile-teleterm adds on top of the regular buildbox Dockerfile needs to be pulled into that Dockerfile.
We should also look into removing Dockerfile-teleterm itself if possible. Originally it was introduced just for grpc-teleterm but nowadays it's also used by drone in push and tag pipelines. That's because both generating protobufs and building Connect require Node.js and yarn so Dockerfile-teleterm is used for both purposes.
If merging deps from Dockerfile-teleterm into regular Dockerfile is resonable, then we should just drop the special Dockerfile and build everything with the regular one.
The text was updated successfully, but these errors were encountered:
The
grpc-teleterm
target was introduced because at the time grpc-tools didn't provide arm64 binaries for both macOS and Linux. Reportedly, v1.11.3 added arm64 binaries for macOS but it's still missing arm64 binaries for Linux. This is blocking us from removing the target becausemake grpc-teleterm
builds protobufs within a Linux container.Linux binaries are not available because GitHub Actions don't provide Linux arm64 build images.
Removing
grpc-teleterm
and merging it into just thegrpc
target will speed up protobuf generation when developing Connect since there will be no need to build all those dependencies from source. This will also align Connect's protobuf generation with the rest of Teleport. We already had a couple of instances of people not knowing about thegrpc-teleterm
target and breaking protobuf generation when introducing changes for thegrpc
target.What needs to be done
Everything that is in the
grpc-teleterm
target needs to be pulled intogrpc
.grpc
usesbuild.assets/Dockerfile
whilegrpc-teleterm
usesbuild.assets/Dockerfile-teleterm
. This means that whateverDockerfile-teleterm
adds on top of the regular buildbox Dockerfile needs to be pulled into that Dockerfile.The whole
grpc_node_plugin_binary_compiled
branch ofDockerfile-teleterm
becomes unnecessary once the prebuilt arm64 binaries are available for Linux.We should also look into removing
Dockerfile-teleterm
itself if possible. Originally it was introduced just forgrpc-teleterm
but nowadays it's also used by drone in push and tag pipelines. That's because both generating protobufs and building Connect require Node.js and yarn so Dockerfile-teleterm is used for both purposes.If merging deps from Dockerfile-teleterm into regular Dockerfile is resonable, then we should just drop the special Dockerfile and build everything with the regular one.
The text was updated successfully, but these errors were encountered: