fluentd-docker-image icon indicating copy to clipboard operation
fluentd-docker-image copied to clipboard

Planned enhancement: Drop alpine image and Switch default image to debian

Open kenhys opened this issue 10 months ago • 9 comments

Is your feature request related to a problem? Please describe.

Historically, v1.x.y-1.0 v1.x-y or edge was designed to point alpine image.

but alpine image was already marked as deprecated. See README.md.

There is no reason to provide alpine image anymore.

Describe the solution you'd like

In the future release, switch default image from alpine to debian and drop alpine support.

e.x.

  • Keep alpine for v1.18 series
  • Drop alpine for v1.19 series
    • v1.19.0-1.0, v1.19-1, edge just points debian image

Describe alternatives you've considered

  • Keep alpine for v1.16 (LTS), v1.18 series
  • Drop alpine for v1.19 series
    • Discontinue v1.19.0-1.0 v1.19-1, edge tagging

Additional context

See #422

kenhys avatar Feb 10 '25 04:02 kenhys

Policy: Drop alpine for newer Fluentd release (v1.19)

Action:

  • Keep alpine for v1.16 (LTS), v1.18 series

    • Thus v1.16 image will be supported until Dec 2025. (because fluent-package v5 LTS adopt v1.16. follow that support lifecycle)
    • until v1.19 release, keep v1.18 alpine series. support lifecycle is not determined yet. In other words, if v1.19 was released, stop v1.18 image support. (it becomes short lifecycle than v1.16/alpine)
  • Drop alpine for v1.19 series

  • Rebrand v1.19.0-1.0, v1.19-1 tag

    • It uses Debian as base image. This is incompatible changes for custom image users.
  • Drop edge tag support

    • edge tag kept alpine image, and not updated anymore.
  • Introduce version specific latest tag

    • e.g. v1.19-debian (latest v1.19.x)
  • Introduce edge replacement

    • e.g. latest always link latest version of v1.NN image (e.g. same as v1.19.x-)
  • https://github.com/docker-library/official-images/blob/master/library/fluentd

    • Drop v1.16/alpine, v1.18/alpine

Users Action:

  • alpine image user must migrate from alpine to Debian image
    • If still want to use alpine, keep v1.16 series or v1.18 series
    • v1.16 alpine image will be supported until Dec 2025, so gradually migrate it.
    • v1.18 alpine image will soon not be supported when v1.19 was released, so migrate it immediately!
  • If you just want to use latest version of Fluentd, pull fluent/fluentd:latest. (not released yet)
  • If you want to version specific, pull fluent/fluentd:v1.19-debian and so on (not released yet)

Timeline:

  • March 2025: Announce docker image enhancement (Fluentd official blog)
  • (T.B.D.): Fluentd v1.19 will be shipped. It will be bundled for fluent-package v6
  • (T.B.D.): Drop alpine support for v1.19, switch tag management. (Drop edge, instroduce latest and so on)
  • (T.B.D.): Drop v1.18/alpine support for docker-library
  • Dec 2025: Drop alpine support for v1.16 branch
  • Dec 2025: Drop alpine support for docker-library

kenhys avatar Feb 21 '25 04:02 kenhys

Revised proposal

Policy: Drop alpine for newer Fluentd release (v1.19)

Action:

  • Keep alpine for v1.16 (LTS), v1.18 series

    • Thus v1.16 image will be supported until Dec 2025. (because fluent-package v5 LTS adopt v1.16. follow that support lifecycle)
    • until v1.19 release, keep v1.18 alpine series. support lifecycle is not determined yet. In other words, if v1.19 was released, stop v1.18 image support. (it becomes short lifecycle than v1.16/alpine)
  • Drop alpine for v1.19 series

  • Rebrand v1.19.0-1.0, v1.19-1 tag

    • It uses Debian as base image. This is incompatible changes for custom image users.
  • Introduce version specific latest tag

    • e.g. v1.19 (latest v1.19 series, same as v1.19-debian) just a short alias
    • e.g. v.1.19.x (latest v1.19.x series, same as v1.19.x-debian) just a short alias
    • e.g. v1.19-debian (latest v1.19.x)
    • e.g. v1.19.x-debian (latest v1.19.1, accept v1.19.1-1.0, v1.19.1-1.1, ...)
  • Introduce edge replacement

    • e.g. edge always point latest version of v1.NN image (e.g. same as v1.19-debian)
  • https://github.com/docker-library/official-images/blob/master/library/fluentd

    • Drop v1.16/alpine, v1.18/alpine

Users Action:

  • alpine image user must migrate from alpine to Debian image
    • If still want to use alpine, keep v1.16 series or v1.18 series
    • v1.16 alpine image will be supported until Dec 2025, so gradually migrate it.
    • v1.18 alpine image will soon not be supported when v1.19 was released, so migrate it immediately!
    • If you use edge (alpine) image, it will be changed to debian image suddenly.
  • If you just want to use latest version of Fluentd, pull fluent/fluentd:latest. (not released yet)
  • If you want to version specific, pull fluent/fluentd:v1.19-debian and so on (not released yet)

Appendix:

In the past, latest tag is used, but it has v0.xx- prefix or suffix, so it doesn't affect existing users.

latest tags:

  • v0.12-latest-onbuild
  • v0.12-latest
  • latest-onbuild
  • v0.14-latest-onbuild
  • v0.14-latest

stable tag will not be touched.

stable tags:

  • stable-debian-armhf-onbuild
  • stable-debian-armhf
  • stable-debian
  • stable-debian-onbuild
  • stable-onbuild

Concerns

  • Does that work without hub.docker.com API quota?

Timeline:

  • March 2025: Announce docker image enhancement (Fluentd official blog)
  • (T.B.D.): Fluentd v1.19 will be shipped. It will be bundled for fluent-package v6
  • (T.B.D.): Drop alpine support for v1.19, switch tag management. (edge replacement, introduce latest and so on)
  • (T.B.D.): Drop v1.18/alpine support for docker-library
  • Dec 2025: Drop alpine support for v1.16 branch
  • Dec 2025: Drop alpine support for docker-library

kenhys avatar Mar 07 '25 10:03 kenhys

Published this idea on Fluentd website blog:

Drop Alpine and switch default to Debian for Fluentd docker image

kenhys avatar Mar 17 '25 07:03 kenhys

Thanks! I agree with this direction!

daipom avatar Mar 17 '25 08:03 daipom

Tried minor improvement before switching to Debian completely.

https://github.com/fluent/fluentd-docker-image/pull/427

kenhys avatar Mar 17 '25 09:03 kenhys

Backport to v1.16 branch.

https://github.com/fluent/fluentd-docker-image/pull/428

kenhys avatar Mar 18 '25 01:03 kenhys

Introduce version specific latest tag

  e.g. v1.19 (latest v1.19 series, same as v1.19-debian) just a short alias
  e.g. v.1.19.x (latest v1.19.x series, same as v1.19.x-debian) just a short alias
  e.g. v1.19-debian (latest v1.19.x)
  e.g. v1.19.x-debian (latest v1.19.1, accept v1.19.1-1.0, v1.19.1-1.1, ...)

The proposed version-specific tag mechanism was partially introduced to the master and v1.16 branch. (something like v1.19 or v1.19.x shorter versioning was not supported yet because it requires switching to Debian by default)

kenhys avatar Mar 18 '25 02:03 kenhys

Now, the following tags were introduced for v1.18 series.

  • v1.18.0-debian
  • v1.18-debian
  • latest

Thus you can follow specific versions without internal version bumps.

kenhys avatar Mar 25 '25 09:03 kenhys

For v1.16 series, also the following tags were introduced.

  • v1.16-debian
  • v1.16.7-debian
  • v1.16.7-debian-ARCH (e.g. v1.16.7-debian-amd64)

kenhys avatar May 23 '25 04:05 kenhys

Now v1.19.0 has been deployed, alpine image was dropped and switched to default image to debian.

kenhys avatar Jul 31 '25 07:07 kenhys

⚠️ Breaking Change in v1.19: default UID Changed

Starting from version 1.19, the default UID (User ID) of the fluent user in the container image has been changed. This update may cause Permission denied errors if you are mounting host directories or volumes that rely on the previous UID.

If you encounter permission issues, please update the ownership of your host directories to match the new UID, or explicitly specify the user when running the container (e.g., using the -u option).

Please refer to https://github.com/fluent/fluentd-docker-image/issues/448 for details.

Watson1978 avatar Dec 03 '25 02:12 Watson1978

NOTE: it is important to notify breaking change in v1.19, so create new issue and pin it with the following content.

https://github.com/fluent/fluentd-docker-image/issues/424#issuecomment-3604728325

kenhys avatar Dec 03 '25 05:12 kenhys