All tests are now passing for this PR [0]. I built the docker image
and pushed it to my personal repository to simplify testing [1] for
anyone interested in verifying the changes.

I would like our docker image to be as close to immutable as possible.
As far as I can tell, here are the only reasons the image cannot be
immutable:

1. Pulsar configuration is read in only from configuration files in
`/pulsar/conf`. A non root user must be able to update these files to
have run with custom configuration.
2. The Pulsar function worker unpacks nar files to
`/pulsar/download/pulsar_functions` by default.
3. Pulsar tiered storage writes to `/pulsar` by default when using
filesystem storage.
4. The Presto SQL worker writes to `/pulsar/lib/presto/` by default.
5. Pulsar-admin and functions write to `/pulsar/log` by default
(possibly other components too).

Note that even though bookkeepers and zookeepers write to
`/pulsar/data`, they should be writing to docker volumes, in which
case, the host's file system permissions are all that matter.

If we can remove any of the above reasons, we can decrease the
privilege in the docker image.

The PR has more detail. Please take a look.

Thanks,
Michael

[0] https://github.com/apache/pulsar/pull/13376
[1] michaelmarshall/pulsar:2.10.0-SNAPSHOT-1dec8b9


On Fri, Dec 17, 2021 at 12:33 AM Michael Marshall <mmarsh...@apache.org> wrote:
>
> Hi Pulsar Community,
>
> I opened a PR to make our pulsar and pulsar-all docker images non root
> and OpenShift compliant [0]. As some may remember, we had issues with
> these changes before due to lack of testing. I plan to test thoroughly
> before we merge this PR, and it'd be great to have others test too. I
> published a build of my PR [1]. I also have an issue [2] tracking this
> work.
>
> Please take a look. I hope to make our 2.10 release a non root release!
>
> Thanks,
> Michael
>
> [0] https://github.com/apache/pulsar/pull/13376
> [1] michaelmarshall/pulsar:2.10.0-SNAPSHOT
> [2] https://github.com/apache/pulsar/issues/11269

Reply via email to