Distroless orchestratord#35595
Conversation
|
Thanks for opening this PR! Here are a few tips to help make the review process smooth for everyone. PR title guidelines
Pre-merge checklist
|
d81622e to
3d570ec
Compare
3d570ec to
c1dd1d6
Compare
|
This looks interesting! Planning to look into it for environmentd/clusterd too? |
41921c6 to
109abb1
Compare
I think we should, but those will likely be harder. They subprocess out to other things, like SSH. |
There was a problem hiding this comment.
What is the main motivation for this? I assumed it's to reduce image size, but the image has gotten larger:
- Before: 59 MB https://hub.docker.com/layers/materialize/orchestratord/latest
- After: 102 MB https://hub.docker.com/layers/materialize/orchestratord/mzbuild-6EPEBLVMDFCVZI3IXQVL6VDYE2B5257Y/images/sha256-e52213e2373f08376438509714145a72fae3cfbb77fb5266ac4bec5f545dcf6e
Maybe I'm missing something. Edit: I see, security is also a concern.
def-
left a comment
There was a problem hiding this comment.
26 MB, sweet! https://hub.docker.com/layers/materialize/orchestratord/mzbuild-PVPQF24A6HWY5JAFBRTNC4RLHOQQICLX/images/sha256-24914c13098065fe15e6a0ce711a3a906057335fceed19ad01aa1c45c4907eae
About using this: How do you then locally debug if something goes wrong with orchestratord since you can't ssh into it?
Do you plan to look into converting other containers to be distroless? If not, I might be interested in looking into that, we'd gain some CI speedup from smaller images too. I'd probably have to check in with how people in the database team feel about it, since it will make local debugging more annoying from what I can tell.
You can use an ephemeral container for that (ie:
I don't have as much knowledge of what is required for the other containers, so if you want to take that on, be my guest.
I think they can use nsenter to get a pretty nice debugging experience. It would be roughly the same as with |
Uses distroless as the base image for orchestratord. Also adds a new function to Composition to pull/build images without launching containers. ### Motivation Smaller and more secure image. Resolves https://linear.app/materializeinc/issue/CLO-28/migrate-orchestratord-to-distroless ### Verification Ran all the orchestratord tests.
balancerd: [56MB](https://hub.docker.com/layers/materialize/balancerd/v26.18.0-dev.0--pr.g9fa67737d184c935af9ef9d67c4ff0859d47024c/images/sha256-37a91d478960ca6a35a942bd6290947126539b63f087625732077ceb1d8b02be) -> [23MB](https://hub.docker.com/layers/materialize/balancerd/v26.18.0-dev.0--pr.g09da9401f695a29e17d13cf8a458850c0fc11699/images/sha256-8269866b5640ace1ad32fbd3ff384c4bb5d1b2979a11505a5c7e8dcf3309ceae) fivetran-destination: [49MB](https://hub.docker.com/layers/materialize/fivetran-destination/v26.18.0-dev.0--pr.g9fa67737d184c935af9ef9d67c4ff0859d47024c/images/sha256-d7941bf81d3c1064cc4fadd24a7faf764e3cf989b21f85eda319d536a567fbff) -> [16MB](https://hub.docker.com/layers/materialize/fivetran-destination/v26.18.0-dev.0--pr.g09da9401f695a29e17d13cf8a458850c0fc11699/images/sha256-0e764ac6cfd3f0e3e9d6722bb5c62ea5f24aaa8bec2f2e444d8dacf0851c6a53) Similar to #35595
Uses distroless as the base image for orchestratord.
Also adds a new function to Composition to pull/build images without launching containers.
Motivation
Smaller and more secure image.
Resolves https://linear.app/materializeinc/issue/CLO-28/migrate-orchestratord-to-distroless
Verification
Ran all the orchestratord tests.