diff --git a/dbld/build.manifest b/dbld/build.manifest index 794738f50b..e5ac5025b2 100644 --- a/dbld/build.manifest +++ b/dbld/build.manifest @@ -42,5 +42,5 @@ ubuntu-lunar python3 ubuntu-mantic python3 fedora python3 -almalinux-8 python3,noriemann,nokafka,nomqtt,nojava +almalinux-8 python3,noriemann,nokafka,nomqtt,nojava,nogrpc,nobpf almalinux-9 python3,nojava,nosql diff --git a/packaging/debian/control b/packaging/debian/control index 09ccf06af7..6246cfb9a9 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -875,9 +875,11 @@ Description: Enhanced system logging daemon (GRPC plugins) * hand on messages for further processing using message queues (like AMQP), files or databases (like PostgreSQL or MongoDB). . - This package provides the GRPC plugin, that allows receiving and sending: + This package provides the GRPC plugins, that allows receiving and sending: . * OpenTelemetry logs, traces and metrics + * Google BigQuery + * Grafana Loki Package: axosyslog-mod-cloud-auth Architecture: any diff --git a/packaging/rhel/axosyslog.spec b/packaging/rhel/axosyslog.spec index 5a17407012..37a71bd403 100644 --- a/packaging/rhel/axosyslog.spec +++ b/packaging/rhel/axosyslog.spec @@ -25,6 +25,8 @@ Source4: syslog-ng.logrotate7 %bcond_without kafka %bcond_without afsnmp %bcond_without mqtt +%bcond_without grpc +%bcond_without bpf %if 0%{?rhel} == 9 @@ -127,6 +129,20 @@ BuildRequires: paho-c-devel BuildRequires: net-snmp-devel %endif +%if %{with grpc} +BuildRequires: gcc-c++ +BuildRequires: protobuf-devel +BuildRequires: protobuf-compiler +BuildRequires: abseil-cpp-devel +BuildRequires: grpc-devel +%endif + +%if %{with bpf} +BuildRequires: clang +BuildRequires: libbpf-devel +BuildRequires: bpftool +%endif + %if 0%{?rhel} == 7 BuildRequires: tcp_wrappers-devel Obsoletes: syslog-ng-json @@ -285,6 +301,24 @@ Requires: %{name} = %{version} %description python This package provides python destination support for axosyslog. +%package grpc +Summary: gRPC plugins for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description grpc +This module provides gRPC plugins that allows receiving and sending logs from/to +OpenTelemetry, Google BigQuery, and Grafana Loki. + +%package bpf +Summary: BPF support for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description bpf +This package provides the ebpf() plugin which leverages the kernel's eBPF +infrastructure to improve performance and scalability of axosyslog. + %package devel Summary: Development files for %{name} Group: Development/Libraries @@ -302,7 +336,7 @@ Conflicts: rsyslog %description logrotate This package provides a logrotate script for axosyslog. It is only installed if -ryslog is not on the system. +rsyslog is not on the system. %prep %setup -q @@ -346,9 +380,11 @@ ryslog is not on the system. --enable-python \ --disable-java-modules \ --with-python=%{py_ver} \ + %{?with_bpf:--enable-ebpf} \ %{?with_kafka:--enable-kafka} \ %{?with_mqtt:--enable-mqtt} \ %{?with_cloud_auth:--enable-cloud-auth} %{!?with_cloud_auth:--disable-cloud-auth} \ + %{?with_grpc:--enable-grpc} \ %{?with_afsnmp:--enable-afsnmp} %{!?with_afsnmp:--disable-afsnmp} \ %{?with_java:--enable-java} %{!?with_java:--disable-java} \ %{?with_maxminddb:--enable-geoip2} %{!?with_maxminddb:--disable-geoip2} \ @@ -547,6 +583,20 @@ fi %{_libdir}/syslog-ng/libcloud_auth.so %endif +%if %{with grpc} +%files grpc +%{_libdir}/libgrpc-protos.so +%{_libdir}/libgrpc-protos.so.* +%{_libdir}/syslog-ng/libotel.so +%{_libdir}/syslog-ng/libloki.so +%{_libdir}/syslog-ng/libbigquery.so +%endif + +%if %{with bpf} +%files bpf +%{_libdir}/syslog-ng/libebpf.so +%endif + %files smtp %{_libdir}/syslog-ng/libafsmtp.so