diff --git a/aws-for-fluent-bit.yaml b/aws-for-fluent-bit.yaml new file mode 100644 index 00000000000..9a1ec754ce3 --- /dev/null +++ b/aws-for-fluent-bit.yaml @@ -0,0 +1,85 @@ +package: + name: aws-for-fluent-bit + version: 2.31.12.20230629 + epoch: 0 + description: AWS provides a Fluent Bit image with plugins for both CloudWatch Logs and Kinesis Data Firehose. + copyright: + - license: Apache-2.0 + dependencies: + runtime: + - ca-certificates-bundle + - fluent-bit + - aws-flb-kinesis-compat + - aws-flb-firehose-compat + - aws-flb-cloudwatch-compat + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + +vars: + FLB_DOCKER_BRANCH: "1.8" + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/aws/aws-for-fluent-bit + expected-commit: dfb7a7f63eadbe46a846cfbff05e57948154d39c + tag: v${{package.version}} + + - runs: | + mkdir -p "${{targets.destdir}}"/etc/ecs + mkdir -p "${{targets.destdir}}"/etc/fluent-bit/etc + mkdir -p "${{targets.destdir}}"/etc/fluent-bit/parsers + cp -r ./ecs/* ${{targets.destdir}}/etc/ecs + cp fluent-bit.conf "${{targets.destdir}}"/etc/fluent-bit/etc/ + cp ./entrypoint.sh "${{targets.destdir}}"/etc/fluent-bit/entrypoint.sh + cp AWS_FOR_FLUENT_BIT_VERSION "${{targets.destdir}}"/etc/fluent-bit/AWS_FOR_FLUENT_BIT_VERSION + chmod +x "${{targets.destdir}}"/etc/fluent-bit/entrypoint.sh + + - runs: | + mkdir -p "${{targets.destdir}}"/etc/fluent-bit/configs + mv configs/parse-json.conf \ + configs/minimize-log-loss.conf \ + configs/output-metrics-healthcheck.conf \ + configs/plugin-metrics-to-cloudwatch.conf \ + configs/plugin-and-storage-metrics-to-cloudwatch.conf \ + configs/plugin-metrics-parser.conf \ + "${{targets.destdir}}"/etc/fluent-bit/configs/ + + - working-directory: fluent-bit-docker-image + pipeline: + - uses: git-checkout + with: + repository: https://github.com/fluent/fluent-bit-docker-image + branch: ${{vars.FLB_DOCKER_BRANCH}} + expected-commit: 98ce3316ea93751ddd33bc319a8f9d177493155b + - runs: | + cp conf/parsers*.conf "${{targets.destdir}}"/etc/fluent-bit/etc + cp conf/parsers*.conf "${{targets.destdir}}"/etc/fluent-bit/parsers/ + + - uses: strip + +subpackages: + - name: "aws-for-fluent-bit-compat" + description: "Compatibility package to place binaries in the location expected by AWS for Fluent Bit" + pipeline: + - runs: | + # The AWS for Fluent Bit expects the .so libraries to be in /fluent-bit + mkdir -p "${{targets.subpkgdir}}"/fluent-bit + mkdir -p "${{targets.subpkgdir}}"/fluent-bit/bin + mkdir -p "${{targets.subpkgdir}}"/ecs + ln -sf /etc/ecs ${{targets.subpkgdir}}/ecs + ln -sf /etc/fluent-bit/ ${{targets.subpkgdir}}/fluent-bit/ + ln -sf /usr/bin/fluent-bit ${{targets.subpkgdir}}/fluent-bit/bin/fluent-bit + - uses: strip + +update: + enabled: true + github: + identifier: aws/aws-for-fluent-bit + strip-prefix: v + use-tag: true diff --git a/packages.txt b/packages.txt index eda4b362f31..5ab73bfbdb7 100644 --- a/packages.txt +++ b/packages.txt @@ -680,6 +680,7 @@ aws-c-http aws-c-auth aws-c-s3 aws-c-mqtt +aws-for-fluent-bit nri-prometheus kube-bench hugo