Skip to content

Commit 599f48d

Browse files
authored
Merge branch 'fluent:master' into out-es-add-cloud-apikey
2 parents 99659bf + 574a69a commit 599f48d

File tree

1,585 files changed

+55849
-105526
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,585 files changed

+55849
-105526
lines changed

.github/workflows/build-legacy-branch.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
8181
- name: Build the legacy x86_64 debug image
8282
if: matrix.arch == 'amd64'
83-
uses: docker/build-push-action@v5
83+
uses: docker/build-push-action@v6
8484
with:
8585
file: ./Dockerfile.x86_64.debug
8686
context: .
@@ -102,7 +102,7 @@ jobs:
102102
raw,${{ matrix.suffix }}-${{ inputs.ref }}
103103
104104
- name: Build the legacy ${{ matrix.arch }} image
105-
uses: docker/build-push-action@v5
105+
uses: docker/build-push-action@v6
106106
with:
107107
file: ./Dockerfile.${{ matrix.suffix }}
108108
context: .

.github/workflows/call-build-images.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ jobs:
114114
115115
- name: Build the production images
116116
id: build_push
117-
uses: docker/build-push-action@v5
117+
uses: docker/build-push-action@v6
118118
with:
119119
file: ./dockerfiles/Dockerfile
120120
context: .
@@ -141,7 +141,7 @@ jobs:
141141
142142
- name: Build the debug multi-arch images
143143
id: debug_build_push
144-
uses: docker/build-push-action@v5
144+
uses: docker/build-push-action@v6
145145
with:
146146
file: ./dockerfiles/Dockerfile
147147
context: .
@@ -314,7 +314,7 @@ jobs:
314314
docker push ${{ inputs.registry }}/${{ inputs.image }}:windows-${{ matrix.windows-base-version }}-${{ inputs.version }}
315315
316316
# We cannot use this action as it requires privileged mode
317-
# uses: docker/build-push-action@v5
317+
# uses: docker/build-push-action@v6
318318
# with:
319319
# file: ./dockerfiles/Dockerfile.windows
320320
# context: .

.github/workflows/call-integration-image-build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
raw,${{ inputs.image-tag }}
6363
6464
- name: Build the AMD64 image
65-
uses: docker/build-push-action@v5
65+
uses: docker/build-push-action@v6
6666
with:
6767
file: ./dockerfiles/Dockerfile
6868
context: .
@@ -83,7 +83,7 @@ jobs:
8383
raw,${{ inputs.image-tag }}-debug
8484
8585
- name: Build the AMD64 debug image
86-
uses: docker/build-push-action@v5
86+
uses: docker/build-push-action@v6
8787
with:
8888
file: ./dockerfiles/Dockerfile
8989
context: .

.github/workflows/pr-compile-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
uses: docker/setup-buildx-action@v3
2323

2424
- name: Attempt to build current source for CentOS 7
25-
uses: docker/build-push-action@v5
25+
uses: docker/build-push-action@v6
2626
with:
2727
context: .
2828
file: ./dockerfiles/Dockerfile.centos7

.github/workflows/pr-image-tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
3737
- name: Build the multi-arch images
3838
id: build
39-
uses: docker/build-push-action@v5
39+
uses: docker/build-push-action@v6
4040
with:
4141
file: ./dockerfiles/Dockerfile
4242
context: .
@@ -55,7 +55,7 @@ jobs:
5555
shell: bash
5656

5757
- name: Build the debug multi-arch images
58-
uses: docker/build-push-action@v5
58+
uses: docker/build-push-action@v6
5959
with:
6060
file: ./dockerfiles/Dockerfile
6161
context: .

.github/workflows/staging-release.yaml

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,6 @@ jobs:
6767
- name: Checkout repository
6868
uses: actions/checkout@v4
6969

70-
# Check we can download the AppVeyor build which confirms it matches the version to release as well as being a successful build
71-
- name: Get Appveyor binaries
72-
run: |
73-
./packaging/appveyor-download.sh
74-
shell: bash
75-
env:
76-
TAG: v${{ github.event.inputs.version }}
77-
7870
staging-release-generate-package-matrix:
7971
name: Get package matrix
8072
runs-on: ubuntu-latest
@@ -356,14 +348,6 @@ jobs:
356348
AWS_REGION: "us-east-1"
357349
shell: bash
358350

359-
- name: Get Appveyor binaries
360-
run: |
361-
./packaging/appveyor-download.sh
362-
shell: bash
363-
env:
364-
TAG: v${{ github.event.inputs.version }}
365-
OUTPUT_DIR: appveyor
366-
367351
- name: Move components from staging and setup
368352
run: |
369353
./packaging/update-source-packages.sh
@@ -518,8 +502,8 @@ jobs:
518502
TAG: ${{ steps.get-tag.outputs.tag }}
519503

520504
staging-release-images-latest-tags:
521-
# Only update latest tags for 3.0 releases
522-
if: startsWith(github.event.inputs.version, '3.0')
505+
# Only update latest tags for 3.1 releases
506+
if: startsWith(github.event.inputs.version, '3.1')
523507
name: Release latest Linux container images
524508
runs-on: ubuntu-latest
525509
needs:
@@ -807,21 +791,21 @@ jobs:
807791
target_commitish: '2.1'
808792
make_latest: false
809793

810-
- name: Release 2.2 - not latest
794+
- name: Release 3.0 - not latest
811795
uses: softprops/action-gh-release@v2
812-
if: startsWith(inputs.version, '2.2')
796+
if: startsWith(inputs.version, '3.0')
813797
with:
814798
body: "https://fluentbit.io/announcements/v${{ inputs.version }}/"
815799
draft: false
816800
generate_release_notes: true
817801
name: "Fluent Bit ${{ inputs.version }}"
818802
tag_name: v${{ inputs.version }}
819-
target_commitish: '2.2'
803+
target_commitish: '3.0'
820804
make_latest: false
821805

822-
- name: Release 3.0 and latest
806+
- name: Release 3.1 and latest
823807
uses: softprops/action-gh-release@v2
824-
if: startsWith(inputs.version, '3.0')
808+
if: startsWith(inputs.version, '3.1')
825809
with:
826810
body: "https://fluentbit.io/announcements/v${{ inputs.version }}/"
827811
draft: false
@@ -914,13 +898,20 @@ jobs:
914898
ref: 2.2
915899
token: ${{ secrets.GH_PA_TOKEN }}
916900

917-
- name: Release 3.0 and latest
901+
- name: Release 3.0 - not latest
918902
if: startsWith(inputs.version, '3.0')
919903
uses: actions/checkout@v4
920904
with:
921905
repository: fluent/fluent-bit-docs
922906
token: ${{ secrets.GH_PA_TOKEN }}
923907

908+
- name: Release 3.1 and latest
909+
if: startsWith(inputs.version, '3.1')
910+
uses: actions/checkout@v4
911+
with:
912+
repository: fluent/fluent-bit-docs
913+
token: ${{ secrets.GH_PA_TOKEN }}
914+
924915
- name: Ensure we have the script we need
925916
run: |
926917
if [[ ! -f update-release-version-docs.sh ]] ; then
@@ -993,9 +984,15 @@ jobs:
993984
with:
994985
ref: 2.2
995986

996-
- name: Release 3.0 and latest
987+
- name: Release 3.0 not latest
997988
if: startsWith(inputs.version, '3.0')
998989
uses: actions/checkout@v4
990+
with:
991+
ref: 3.0
992+
993+
- name: Release 3.1 latest
994+
if: startsWith(inputs.version, '3.1')
995+
uses: actions/checkout@v4
999996

1000997
# Get the new version to use
1001998
- name: 'Get next minor version'

CMakeLists.txt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
88
# Fluent Bit Version
99
set(FLB_VERSION_MAJOR 3)
1010
set(FLB_VERSION_MINOR 1)
11-
set(FLB_VERSION_PATCH 0)
11+
set(FLB_VERSION_PATCH 4)
1212
set(FLB_VERSION_STR "${FLB_VERSION_MAJOR}.${FLB_VERSION_MINOR}.${FLB_VERSION_PATCH}")
1313

1414
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -110,6 +110,8 @@ option(FLB_RELEASE "Build with release mode (-O2 -g -DNDEBUG)" No)
110110
set(FLB_IPO "ReleaseOnly" CACHE STRING "Build with interprocedural optimization")
111111
set_property(CACHE FLB_IPO PROPERTY STRINGS "On;Off;ReleaseOnly")
112112
option(FLB_SMALL "Optimise for small size" No)
113+
set(FLB_SECURITY "ReleaseOnly" CACHE STRING "Build with security optimizations")
114+
set_property(CACHE FLB_SECURITY PROPERTY STRINGS "On;Off;ReleaseOnly")
113115
option(FLB_COVERAGE "Build with code-coverage" No)
114116
option(FLB_JEMALLOC "Build with Jemalloc support" No)
115117
option(FLB_REGEX "Build with Regex support" Yes)
@@ -283,7 +285,7 @@ endif ()
283285
find_package(Git)
284286
# If we do not have Git or this is not a Git repo or another error this just is ignored and we have no output at runtime.
285287
execute_process(COMMAND
286-
"${GIT_EXECUTABLE}" log -1 --format=%H
288+
"${GIT_EXECUTABLE}" -c log.showSignature=false log -1 --format=%H
287289
WORKING_DIRECTORY "${FLB_ROOT}"
288290
OUTPUT_VARIABLE FLB_GIT_HASH
289291
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -332,6 +334,21 @@ if(FLB_IPO STREQUAL "On" OR (FLB_IPO STREQUAL "ReleaseOnly" AND FLB_RELEASE))
332334
endif()
333335
endif()
334336

337+
# Harden release binary against security vulnerabilities
338+
if(FLB_SECURITY STREQUAL "On" OR (FLB_SECURITY STREQUAL "ReleaseOnly" AND FLB_RELEASE))
339+
if (NOT MSVC)
340+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,relro,-z,now")
341+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,noexecstack")
342+
if(NOT FLB_SMALL)
343+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
344+
# Fortify requires optimization
345+
if(CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
346+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FORTIFY_SOURCE=1")
347+
endif()
348+
endif()
349+
endif()
350+
endif()
351+
335352
if(FLB_PARSER)
336353
FLB_DEFINITION(FLB_HAVE_PARSER)
337354
message(STATUS "Enabling FLB_REGEX since FLB_PARSER requires")

cmake/libraries.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set(FLB_PATH_LIB_MSGPACK "lib/msgpack-c")
1010
set(FLB_PATH_LIB_NGHTTP2 "lib/nghttp2")
1111
set(FLB_PATH_LIB_AVRO "lib/avro")
1212
set(FLB_PATH_LIB_CHUNKIO "lib/chunkio")
13-
set(FLB_PATH_LIB_LUAJIT "lib/luajit-3065c9")
13+
set(FLB_PATH_LIB_LUAJIT "lib/luajit-04dca791")
1414
set(FLB_PATH_LIB_MONKEY "lib/monkey")
1515
set(FLB_PATH_LIB_JSMN "lib/jsmn")
1616
set(FLB_PATH_LIB_SQLITE "lib/sqlite-amalgamation-3450200")
@@ -19,8 +19,8 @@ set(FLB_PATH_LIB_ONIGMO "lib/onigmo")
1919
set(FLB_PATH_LIB_MPACK "lib/mpack-amalgamation-1.1.1")
2020
set(FLB_PATH_LIB_MINIZ "lib/miniz")
2121
set(FLB_PATH_LIB_TUTF8E "lib/tutf8e")
22-
set(FLB_PATH_LIB_CARES "lib/c-ares-1.24.0")
22+
set(FLB_PATH_LIB_CARES "lib/c-ares-1.32.0")
2323
set(FLB_PATH_LIB_SNAPPY "lib/snappy-fef67ac")
24-
set(FLB_PATH_LIB_RDKAFKA "lib/librdkafka-2.3.0")
24+
set(FLB_PATH_LIB_RDKAFKA "lib/librdkafka-2.4.0")
2525
set(FLB_PATH_LIB_RING_BUFFER "lib/lwrb")
2626
set(FLB_PATH_LIB_WASM_MICRO_RUNTIME "lib/wasm-micro-runtime-WAMR-1.3.0")

cmake/luajit.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# luajit cmake
22
option(LUAJIT_DIR "Path of LuaJIT 2.1 source dir" ON)
3+
option(LUAJIT_SETUP_INCLUDE_DIR "Setup include dir if parent is present" OFF)
34
set(LUAJIT_DIR ${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_LUAJIT})
45
add_subdirectory("lib/luajit-cmake")

cmake/plugins_options.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ DEFINE_OPTION(FLB_IN_PROMETHEUS_SCRAPE "Enable Prometheus Scrape input pl
4747
DEFINE_OPTION(FLB_IN_RANDOM "Enable random input plugin" ON)
4848
DEFINE_OPTION(FLB_IN_SERIAL "Enable Serial input plugin" ON)
4949
DEFINE_OPTION(FLB_IN_SPLUNK "Enable Splunk HTTP HEC input plugin" ON)
50+
DEFINE_OPTION(FLB_IN_STATSD "Enable StatsD input plugin" ON)
5051
DEFINE_OPTION(FLB_IN_STDIN "Enable Standard input plugin" ON)
5152
DEFINE_OPTION(FLB_IN_STORAGE_BACKLOG "Enable storage backlog input plugin" ON)
5253
DEFINE_OPTION(FLB_IN_SYSLOG "Enable Syslog input plugin" ON)
@@ -67,7 +68,7 @@ DEFINE_OPTION(FLB_PROCESSOR_CONTENT_MODIFIER "Enable content modifier processor
6768
DEFINE_OPTION(FLB_PROCESSOR_LABELS "Enable metrics label manipulation processor" ON)
6869
DEFINE_OPTION(FLB_PROCESSOR_METRICS_SELECTOR "Enable metrics selector processor" ON)
6970
DEFINE_OPTION(FLB_PROCESSOR_SQL "Enable SQL processor" ON)
70-
71+
DEFINE_OPTION(FLB_PROCESSOR_OPENTELEMETRY_ENVELOPE "Enable OpenTelemetry envelope processor" ON)
7172

7273
# Filters
7374
# =======
@@ -87,12 +88,14 @@ DEFINE_OPTION(FLB_FILTER_MULTILINE "Enable multiline filter"
8788
DEFINE_OPTION(FLB_FILTER_NEST "Enable nest filter" ON)
8889
DEFINE_OPTION(FLB_FILTER_NIGHTFALL "Enable Nightfall filter" ON)
8990
DEFINE_OPTION(FLB_FILTER_PARSER "Enable parser filter" ON)
91+
DEFINE_OPTION(FLB_FILTER_RECORD_MODIFIER "Enable record_modifier filter" ON)
9092
DEFINE_OPTION(FLB_FILTER_REWRITE_TAG "Enable tag rewrite filter" ON)
9193
DEFINE_OPTION(FLB_FILTER_STDOUT "Enable stdout filter" ON)
9294
DEFINE_OPTION(FLB_FILTER_SYSINFO "Enable sysinfo filter" ON)
9395
DEFINE_OPTION(FLB_FILTER_THROTTLE "Enable throttle filter" ON)
9496
DEFINE_OPTION(FLB_FILTER_THROTTLE_SIZE "Enable throttle size filter" OFF)
9597
DEFINE_OPTION(FLB_FILTER_TYPE_CONVERTER "Enable type converter filter" ON)
98+
DEFINE_OPTION(FLB_FILTER_TENSORFLOW "Enable tensorflow filter" OFF)
9699
DEFINE_OPTION(FLB_FILTER_WASM "Enable WASM filter" ON)
97100

98101
# Outputs (destinations)
@@ -119,8 +122,11 @@ DEFINE_OPTION(FLB_OUT_KAFKA "Enable Kafka output plugin"
119122
DEFINE_OPTION(FLB_OUT_KAFKA_REST "Enable Kafka Rest output plugin" ON)
120123
DEFINE_OPTION(FLB_OUT_KINESIS_FIREHOSE "Enable AWS Firehose output plugin" ON)
121124
DEFINE_OPTION(FLB_OUT_KINESIS_STREAMS "Enable AWS Kinesis output plugin" ON)
125+
DEFINE_OPTION(FLB_OUT_LIB "Enable library mode output plugin" ON)
122126
DEFINE_OPTION(FLB_OUT_LOGDNA "Enable LogDNA output plugin" ON)
123127
DEFINE_OPTION(FLB_OUT_LOKI "Enable Loki output plugin" ON)
128+
DEFINE_OPTION(FLB_OUT_NATS "Enable NATS output plugin" ON)
129+
DEFINE_OPTION(FLB_OUT_NRLOGS "Enable New Relic output plugin" ON)
124130
DEFINE_OPTION(FLB_OUT_NULL "Enable dev null output plugin" ON)
125131
DEFINE_OPTION(FLB_OUT_OPENSEARCH "Enable OpenSearch output plugin" ON)
126132
DEFINE_OPTION(FLB_OUT_OPENTELEMETRY "Enable OpenTelemetry plugin" ON)

0 commit comments

Comments
 (0)