Skip to content

[RFE] Consider different base image #533

@mallardduck

Description

@mallardduck

As title, this issue is tracking work looking into a different base image.

Currently BRO uses registry.suse.com/bci/bci-micro:latest as a base image for the final result. We could reduce the footprint by going down to the busybox BCI, and/or by using scratch. In either case having a reduced footprint will improve security concerns related to this image.

Here are the options, we have:

Option 1: Switch to Busybox base

This reduces the file size quite a bit - 5MB compressed, ~20MB on disk.

Option 2: Switch to scratch base

This reduces the file size quite a bit - 10MB compressed, ~40MB on disk.
This is most optimal from a security POV as the only thing in the container is our binary.
However, because the only thing in the image is our binary you cannot exec into the container.
Instead one would have to sidecar the pod with a shell specific image.

Option 3: Switch to scratch and busybox base

This is the "why not both" option. We pick one as the default and one as an opt-in.
Ultimately this could be the ideal solution as it gives us benefits of both options.

I would be in favor of picking scratch as default and suffixing the busybox version as different.
This way we know all our users are working with the minimal version by default, rather than opting in.
However, the idea can work just the same in the other direction with scratch based images being opt-in.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions