Skip to content

[improve][pip] AS-5322: alpine-migration-pulsar-image-3-1 - #759

Merged
hshankar31 merged 4 commits into
3.1_dsfrom
AS-5322-cve-fixes-related-to-ubuntu-22-04-pulsar-alpine-migration-spike
Aug 3, 2026
Merged

[improve][pip] AS-5322: alpine-migration-pulsar-image-3-1#759
hshankar31 merged 4 commits into
3.1_dsfrom
AS-5322-cve-fixes-related-to-ubuntu-22-04-pulsar-alpine-migration-spike

Conversation

@hshankar31

Copy link
Copy Markdown
Collaborator

Fixes #xyz

Main Issue: #xyz

PIP: #xyz

Motivation

Modifications

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

@hshankar31 hshankar31 changed the title alpine-migration-pulsar-image-3-1 AS-5322: alpine-migration-pulsar-image-3-1 Jul 20, 2026
@hshankar31 hshankar31 changed the title AS-5322: alpine-migration-pulsar-image-3-1 [improve][pip] AS-5322: alpine-migration-pulsar-image-3-1 Jul 20, 2026
@hshankar31 hshankar31 closed this Jul 22, 2026
@hshankar31 hshankar31 reopened this Jul 22, 2026

@sandeep-ctds sandeep-ctds left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we follow OSS changes for alpine for this? Can you give a summary of additional changes made other than OSS in the description?

Comment thread docker/glibc-package/Dockerfile
Comment thread docker/pulsar/Dockerfile
@hshankar31

Copy link
Copy Markdown
Collaborator Author

Did we follow OSS changes for alpine for this? Can you give a summary of additional changes made other than OSS in the description?

This change migrates the docker/pulsar/Dockerfile from Ubuntu to Alpine Linux,
cherry-picked and adapted from OSS PR #22054
for the 4.1_ds branch. The core multi-stage build approach is identical to OSS,
with the following differences:

docker/pulsar/Dockerfile

  • Uses Alpine 3.21 (instead of alpine:3.19.1 in OSS) as the final base image (4.x contains this version right now)
  • Uses Amazon Corretto 17 JDK (amazon-corretto-17) instead of Corretto 21 from OSS — matching the JDK version used in the 3.x/4.1 branch
  • jlink uses --compress=2 (numeric flag) instead of OSS --compress zip-9 — for compatibility with JDK 17's jlink syntax
  • py3-grpcio and py3-yaml are installed via apk in the final stage (not in python-deps stage as in OSS) to correctly resolve shared library dependencies in the runtime image
  • Python site-packages path updated to python3.12 (from python3.11 in OSS) to match Alpine 3.21's default Python version
  • Added chmod -R o+rx /pulsar in the builder stage — to fix permission issues encountered in this branch
  • Added instances/deps to the pre-created subdirectory list (aligned with OSS)

tests/docker-images/java-test-image/Dockerfile

  • Identical to OSS — simplified to extend from $PULSAR_IMAGE ARG and only add supervisor via apk

tests/docker-images/latest-version-image/Dockerfile

  • Uses golang:1.23-alpine (vs golang:1.21-alpine in OSS) to match the Go version in this branch
  • Replaced apt calls with apk add --no-cache supervisor procps curl — same as OSS
  • Added chmod g+rx /pulsar/examples/python-examples/ — same as OSS

New files (same as OSS)

docker/glibc-package/ — provides the glibc compatibility layer needed to run JVM
and glibc-linked binaries on Alpine (apachepulsar/glibc-base:2.38)

@hshankar31
hshankar31 merged commit ae0f128 into 3.1_ds Aug 3, 2026
90 of 93 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants