Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Following are the 2 ways to introduce Docker image generation in the release process:

  1. Build Docker image using RC binaryrelease during AK release

    1. RM would have Use the binary generated and pushed Apache Kafka's Release Candidate artifacts to RM’s apache sftp server hosted in Image Modifiedhome.apache.org by release.py script as source of kafka binary for Docker image of RC.
    2. Run the script to build the docker image(using the above Release Candidate tarball URL) and test the image locally.
    3. The docker image needs to be either pushed to some private Dockerhub repo OR we can just keep the Dockerfile along with relevant scripts in Image Removedhome.apache.org , (eg. Release Manager's) for the evaluation of RC Docker image.

    4. Start the Voting for RC, which will include the Docker image as well as docker sanity tests report.

    5. In case any docker image specific issue is detected, that will be evaluated by the community, if it’s a release blocker or not.

    6. Once the vote passes, the image will be pushed to apache/kafka with the version as tag.

    7. Steps for the Docker image release will be included in the Release Process doc of Apache Kafka

  2. [Preferred Approach]Docker Image release without voting during  post AK RCRelease

    1. This step will be followed in case only Docker Image need to be released(eg CVE in the base image).
    2. Execute the script to build the docker image(using the already publicly released AK tarball URL) and test

    3. The docker image is basically packaging official Apache Kafka released tarballs.

    4. The voting for the Apache Kafka released tarballs had already been successfully done.

    5. So the process of Docker image release can be completely separate and should happen post Apache Kafka release.

    6. The docker image release process will involve executing a script which will handle building and testing the image locally.

    7. Once the Docker image artifact is ready, it will get reviewed by the community and voting will be conducted, just for the Docker image release.

    8. In case any docker image specific issue is detected, that will be evaluated by the community, if it’s a release blocker or not.

    9. This image will then be pushed to apache/kafka  with proper tagging to communicate kafka version.

Ownership of the Docker Images' Release

  • Suggestion: The docker image release should be owned by the Release Manager.

  • As per the current release process, only PMC members should be allowed to push to apache/kafka docker image.

  • If the RM is not a PMC member, they’ll need to take help from a PMC member to release the image.

Rejected Alternatives

NA