Skip to content

Files

Latest commit

 

History

History
 
 

packaging

Fluent Bit Packaging

This directory contains files to support building and releasing Fluent Bit.

For PRs, add the ok-package-test label to trigger an automated build of all supported Linux, macOS, Windows and container image targets to verify a PR correctly builds for all supported platforms. This can take some time to complete so is only triggered via the label on-demand.

Linux

The distros directory contains OCI container definitions used to build Fluent Bit Linux packages for different distros, the following table describe the supported targets:

Distro Version / Code Name Arch Target Option
AmazonLinux 2 x86_64 amazonlinux/2
AmazonLinux 2 arm64v8 amazonlinux/2.arm64v8
AmazonLinux 2023 x86_64 amazonlinux/2023
AmazonLinux 2023 arm64v8 amazonlinux/2023.arm64v8
CentOS Stream 9 x86_64 centos/9
CentOS Stream 9 arm64v8 centos/9.arm64v8
CentOS 8 x86_64 centos/8
CentOS 8 arm64v8 centos/8.arm64v8
CentOS 7 x86_64 centos/7
CentOS 7 arm64v8 centos/7.arm64v8
Debian 12 x86_64 debian/bookworm
Debian 12 arm64v8 debian/bookworm.arm64v8
Debian 11 x86_64 debian/bullseye
Debian 11 arm64v8 debian/bullseye.arm64v8
Debian 10 x86_64 debian/buster
Debian 10 arm64v8 debian/buster.arm64v8
Ubuntu 22.04 / Jammy Jellyfish x86_64 ubuntu/22.04
Ubuntu 22.04 / Jammy Jellyfish arm64v8 ubuntu/22.04.arm64v8
Ubuntu 20.04 / Focal Fossa x86_64 ubuntu/20.04
Ubuntu 20.04 / Focal Fossa arm64v8 ubuntu/20.04.arm64v8
Ubuntu 18.04 / Bionic Beaver x86_64 ubuntu/18.04
Ubuntu 18.04 / Bionic Beaver arm64v8 ubuntu/18.04.arm64v8
Ubuntu 16.04 / Xenial Xerus x86_64 ubuntu/16.04
Raspbian 11 / Bullseye arm32v7 raspbian/bullseye
Raspbian 10 / Buster arm32v7 raspbian/buster

These container images are intended to be built from the root of this repo to build the locally checked out/updated version of the source easily for any target.

Usage

The build.sh script can be used to build packages for a specific target, the command understand the following format:

./build.sh -d DISTRO

Replace DISTRO with the Target option column above.

All Linux builds happen in a container so can be run on any supported platform with QEMU installed and a container runtime.

Windows

Windows builds are carried out by the dedicated workflow in CI. This builds using the standard CMake process on a dedicated Windows runner within Github actions. The steps involved and additional requirements can all be found there.

macOS

Windows builds are carried out by the dedicated workflow in CI. This builds using the standard CMake process on a dedicated macOS runner within Github actions. The steps involved and additional requirements can all be found there.