From nobody Sat Nov 26 21:04:06 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NKPNk4rzZz4j4NJ; Sat, 26 Nov 2022 21:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NKPNk4SVjz4MLm; Sat, 26 Nov 2022 21:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669496646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/X+W+QlaMxAprJXJflU9GIgrism4/CfDDEJkTEvhGZE=; b=RzmfDy/eqlG3MH1hXU1WQerR2p6dtDqjFj3KMViNUjg8CB6fji1/fQhO/MuabjLBtVhZGv hCmr2rOGKEmLd5KqhXlbh1/noDX59KCeINIuga1beROiqYbeaeulG2X/MUFVTOHtbcT+Jt eGlynIwy4nqHUXWlT+IqBNN46qGxcyvylmBd4h2GPpftP7JOKvACJd29kYMqoiJFCzBAbG H98//r2gOoXsOIf5Efm20c9MNO6fs00xxNb0G8cu43N+/YRtofsu81rCVp4UhxfOJI0pUX vcG9wjkix6tBsVRqMpUkwtJb+xu02NXFbZzexidIFPGuOohql5sY64vs8vUqCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669496646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/X+W+QlaMxAprJXJflU9GIgrism4/CfDDEJkTEvhGZE=; b=KgT0jJ1bqw+O99m+QAXgpcAw/xIOLjDDaUkwu//R+H4iO8dw6GymHNNbS7i2h5kAFcj87R e9DRh018AMZd7PGATf3ssVec1QFTnSHUkqsg3Ln+ABbIv6daPCuHJaisZjesfSHq2fc/Ln aqSh8iYSuQWMtxup5aGc35aZoBhkUL2DHpA9dOkuNCh1BWleoIlnM02Fj8jSNtMNvdmdal Ql5yfkRhL+97eiAykgCww3pNnbvsZhXDCT5pj03p8TU2KfmW9bPq6lH7ZSqc3dQQ3cwAiP HKbNYn/2xKhSIX9HynXCBVvZr8Sj+7zxboxMcPbBk5Fpv/sKk4S55IgJjJ7Zmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1669496646; a=rsa-sha256; cv=none; b=MNUPmGc/P/IjLCT5cU+/71Mzn2ubZA30R5wdk+HLx3zh1kCHsQcFW6XN28exToju2ZSJIl zygPr60OhIqXFSiUoKc7FfsU6UT3/8aAIdT0xzjxMVDMwUdZeL47t6KGPapwl55ga5dpy7 VsHkV/iRZN/XBw/d4y1RbbioxQ0xmBTsULuEPJSTghYmlXD1v0xj5C8J8Cwk88pSjf3Mnm 7cVh9naXQ0uW40l9IEaOkW2io+6aryp30L8IZ88aFkkpAbMtDE4+7aS/O7JdFiCITQSXdi 6LP/5TvEC61zfXh1m6aGOHR86bcU/oN7rHhT/t7a5IepyOp154RCn0TsiUMCBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NKPNk3CcvzYFk; Sat, 26 Nov 2022 21:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2AQL46NN005931; Sat, 26 Nov 2022 21:04:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2AQL46F7005930; Sat, 26 Nov 2022 21:04:06 GMT (envelope-from git) Date: Sat, 26 Nov 2022 21:04:06 GMT Message-Id: <202211262104.2AQL46F7005930@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Juraj Lutter Subject: git: c7e874cca930 - main - sysutils/beats8: New port List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: otis X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7e874cca930e1aca51b8d7daccceeabc0d5c8c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by otis: URL: https://cgit.FreeBSD.org/ports/commit/?id=c7e874cca930e1aca51b8d7daccceeabc0d5c8c4 commit c7e874cca930e1aca51b8d7daccceeabc0d5c8c4 Author: Juraj Lutter AuthorDate: 2022-11-01 16:52:08 +0000 Commit: Juraj Lutter CommitDate: 2022-11-26 21:03:17 +0000 sysutils/beats8: New port Add sysutils/beats8, beats component for ELK 8.x. There are many breaking changes in 8.x versions, see https://www.elastic.co/guide/en/beats/libbeat/8.5/breaking-changes-8.0.html for details. Release notes for ELK 8.x are located here: https://www.elastic.co/guide/en/beats/libbeat/8.5/release-notes.html --- sysutils/Makefile | 1 + sysutils/beats8/Makefile | 132 +++++++++++++++++++++ sysutils/beats8/distinfo | 15 +++ sysutils/beats8/files/auditbeat.in | 50 ++++++++ sysutils/beats8/files/filebeat.in | 43 +++++++ sysutils/beats8/files/heartbeat.in | 44 +++++++ sysutils/beats8/files/metricbeat.in | 51 ++++++++ sysutils/beats8/files/packetbeat.in | 43 +++++++ .../files/patch-auditbeat_auditbeat.reference.yml | 20 ++++ .../beats8/files/patch-auditbeat_auditbeat.yml | 13 ++ .../beats8/files/patch-dev-tools_mage_settings.go | 20 ++++ .../files/patch-filebeat_filebeat.reference.yml | 26 ++++ sysutils/beats8/files/patch-filebeat_filebeat.yml | 33 ++++++ .../beats8/files/patch-heartbeat_heartbeat.yml | 11 ++ ...libbeat_autodiscover_providers_docker_config.go | 13 ++ ...libbeat_autodiscover_providers_docker_docker.go | 22 ++++ ...eat_autodiscover_providers_kubernetes_config.go | 13 ++ ...autodiscover_providers_kubernetes_kubernetes.go | 13 ++ .../beats8/files/patch-libbeat_scripts_Makefile | 26 ++++ .../patch-metricbeat_metricbeat.reference.yml | 20 ++++ .../beats8/files/patch-metricbeat_metricbeat.yml | 33 ++++++ .../patch-packetbeat_packetbeat.reference.yml | 11 ++ .../beats8/files/patch-packetbeat_packetbeat.yml | 23 ++++ ...tic_elastic-agent-autodiscover_docker_client.go | 13 ++ ...ic_elastic-agent-autodiscover_docker_watcher.go | 13 ++ ...t-system-metrics_metric_cpu_metrics__freebsd.go | 10 ++ ...m-metrics_metric_cpu_metrics__procfs__common.go | 20 ++++ ...cs_metric_system_filesystem_filesystem__unix.go | 14 +++ ...com_godbus_dbus_transport__unixcred__freebsd.go | 12 ++ ...m_insomniacslk_dhcp_dhcpv4_bindtodevice__bsd.go | 22 ++++ sysutils/beats8/files/pkg-message.in | 12 ++ sysutils/beats8/pkg-descr | 18 +++ sysutils/beats8/pkg-plist | 21 ++++ 33 files changed, 831 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 346533604357..f205b67384ca 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -120,6 +120,7 @@ SUBDIR += beadm-devel SUBDIR += beats6 SUBDIR += beats7 + SUBDIR += beats8 SUBDIR += bfs SUBDIR += bhyve+ SUBDIR += bhyve-firmware diff --git a/sysutils/beats8/Makefile b/sysutils/beats8/Makefile new file mode 100644 index 000000000000..424c6152b2fe --- /dev/null +++ b/sysutils/beats8/Makefile @@ -0,0 +1,132 @@ +PORTNAME= beats +DISTVERSIONPREFIX= v +DISTVERSION= 8.5.2 +CATEGORIES= sysutils +MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod +PKGNAMESUFFIX?= 8 +DISTFILES= go.mod:gomod + +MAINTAINER= elastic@FreeBSD.org +COMMENT= Send logs, network, metrics and heartbeat to elasticsearch or logstash +WWW= https://www.elastic.co/products/beats/ + +LICENSE= APACHE20 + +USES= go:modules +USE_GITHUB= yes + +GH_ACCOUNT= elastic + +USE_RC_SUBR= ${GO_TARGET:C,\./,,g} + +GO_MODULE= github.com/elastic/beats/v8 +CGO_CFLAGS= -I. +CGO_LDFLAGS= -L. +MAKE_ENV+= GOBUILD_FLAGS="-mod=vendor" + +CONFLICTS= beats6 beats7 + +PORTSCOUT= limit:^8 + +SUB_FILES= pkg-message + +OPTIONS_DEFINE= AUDITBEAT FILEBEAT HEARTBEAT METRICBEAT PACKETBEAT +OPTIONS_DEFAULT= FILEBEAT HEARTBEAT METRICBEAT +OPTIONS_SUB= yes + +AUDITBEAT_DESC= Auditbeat +FILEBEAT_DESC= Filebeat +HEARTBEAT_DESC= Heartbeat +METRICBEAT_DESC= Metricbeat +PACKETBEAT_DESC= Packetbeat +AUDITBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/auditbeat/:auditbeat +AUDITBEAT_DISTFILES= auditbeat-${DISTVERSION}-darwin-x86_64.tar.gz:auditbeat +AUDITBEAT_VARS= GO_TARGET+=./auditbeat +FILEBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/filebeat/:filebeat +FILEBEAT_DISTFILES= filebeat-${DISTVERSION}-darwin-x86_64.tar.gz:filebeat +FILEBEAT_VARS= GO_TARGET+=./filebeat +HEARTBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/heartbeat/:heartbeat +HEARTBEAT_DISTFILES= heartbeat-${DISTVERSION}-darwin-x86_64.tar.gz:heartbeat +HEARTBEAT_VARS= GO_TARGET+=./heartbeat +METRICBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/metricbeat/:metricbeat +METRICBEAT_DISTFILES= metricbeat-${DISTVERSION}-darwin-x86_64.tar.gz:metricbeat +METRICBEAT_VARS= GO_TARGET+=./metricbeat +PACKETBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/packetbeat/:packetbeat +PACKETBEAT_DISTFILES= packetbeat-${DISTVERSION}-darwin-x86_64.tar.gz:packetbeat +PACKETBEAT_VARS= CGO_CFLAGS+=-I/usr/include \ + CGO_LDFLAGS+=-L/usr/lib \ + GO_TARGET+=./packetbeat + +.include + +post-patch: + ${REINPLACE_CMD} -e "s|%%BEATSVERSION%%|v${PORTVERSION}|g" ${WRKSRC}/dev-tools/mage/settings.go +.for BEATMOD in ${GO_TARGET:C,\./,,g} + ${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|g" ${WRKSRC}/${BEATMOD}/*.yml +.endfor + +do-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} +.for BEATMOD in ${GO_TARGET:C,^\./,,g} + ${MKDIR} ${STAGEDIR}/var/db/beats/${BEATMOD} && \ + ${INSTALL_PROGRAM} ${WRKDIR}/bin/${BEATMOD} \ + ${STAGEDIR}${PREFIX}/sbin && \ + ${INSTALL_DATA} ${WRKSRC}/${BEATMOD}/${BEATMOD}.yml \ + ${STAGEDIR}${ETCDIR}/${BEATMOD}.yml.sample && \ + ${INSTALL_DATA} ${WRKSRC}/${BEATMOD}/${BEATMOD}.reference.yml \ + ${STAGEDIR}${ETCDIR}/${BEATMOD}.yml.reference + (MODULE_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/module; \ + if [ -d $${MODULE_SRC} ]; then \ + MODULE_DEST=${STAGEDIR}${DATADIR}/${BEATMOD}/module && \ + ${MKDIR} $${MODULE_DEST} && \ + cd $${MODULE_SRC} && ${COPYTREE_SHARE} . $${MODULE_DEST} && \ + cd $${MODULE_DEST} && \ + ${FIND} . -type d -empty | ${SORT} | \ + ${SED} -e 's,^\.,@dir ${DATADIR_REL}/${BEATMOD}/module,' >> ${TMPPLIST} && \ + ${FIND} . -not -type d | ${SORT} | \ + ${SED} -e 's,^\.,${DATADIR_REL}/${BEATMOD}/module,' >> ${TMPPLIST}; \ + fi) && \ + (MODULESD_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/modules.d; \ + if [ -d $${MODULESD_SRC} ]; then \ + MODULESD_DEST=${STAGEDIR}${EXAMPLESDIR}/${BEATMOD}.modules.d && \ + ${MKDIR} $${MODULESD_DEST} && \ + cd $${MODULESD_SRC} && ${COPYTREE_SHARE} . $${MODULESD_DEST} && \ + cd $${MODULESD_DEST} && \ + ${FIND} . -type d -empty | ${SORT} | \ + ${SED} -e 's,^\.,@dir ${EXAMPLESDIR_REL}/${BEATMOD}.modules.d,' >> ${TMPPLIST} && \ + ${FIND} . -not -type d | ${SORT} | \ + ${SED} -e 's,^\.,${EXAMPLESDIR_REL}/${BEATMOD}.modules.d,' >> ${TMPPLIST}; \ + ${MKDIR} ${STAGEDIR}${ETCDIR}/${BEATMOD}.modules.d && \ + ${ECHO_CMD} "The modules.d files are now in ${EXAMPLESDIR}/${BEATMOD}.modules.d" > \ + ${STAGEDIR}${ETCDIR}/${BEATMOD}.modules.d/README; \ + ${ECHO_CMD} ${ETCDIR_REL}/${BEATMOD}.modules.d/README >> ${TMPPLIST}; \ + fi) && \ + (MONITORSD_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/monitors.d; \ + if [ -d $${MONITORSD_SRC} ]; then \ + MONITORSD_DEST=${STAGEDIR}${EXAMPLESDIR}/${BEATMOD}.monitors.d && \ + ${MKDIR} $${MONITORSD_DEST} && \ + cd $${MONITORSD_SRC} && ${COPYTREE_SHARE} . $${MONITORSD_DEST} && \ + cd $${MONITORSD_DEST} && \ + ${FIND} . -type d -empty | ${SORT} | \ + ${SED} -e 's,^\.,@dir ${EXAMPLESDIR_REL}/${BEATMOD}.monitors.d,' >> ${TMPPLIST} && \ + ${FIND} . -not -type d | ${SORT} | \ + ${SED} -e 's,^\.,${EXAMPLESDIR_REL}/${BEATMOD}.monitors.d,' >> ${TMPPLIST}; \ + ${MKDIR} ${STAGEDIR}${ETCDIR}/${BEATMOD}.monitors.d && \ + ${ECHO_CMD} "The monitors.d files are now in ${EXAMPLESDIR}/${BEATMOD}.monitors.d" > \ + ${STAGEDIR}${ETCDIR}/${BEATMOD}.monitors.d/README; \ + ${ECHO_CMD} ${ETCDIR_REL}/${BEATMOD}.monitors.d/README >> ${TMPPLIST}; \ + fi) && \ + (KIBANA_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/kibana; \ + if [ -d $${KIBANA_SRC} ]; then \ + KIBANA_PATH=${STAGEDIR}${DATADIR}/${BEATMOD}/kibana; \ + ${MKDIR} $${KIBANA_PATH} && \ + cd $${KIBANA_SRC} && ${COPYTREE_SHARE} . $${KIBANA_PATH}; \ + cd $${KIBANA_PATH} && \ + ${FIND} . -type d -empty | ${SORT} | \ + ${SED} -e 's,^\.,@dir ${DATADIR_REL}/${BEATMOD}/kibana,' >> ${TMPPLIST}; \ + ${FIND} . -not -type d | ${SORT} | \ + ${SED} -e 's,^\.,${DATADIR_REL}/${BEATMOD}/kibana,' >> ${TMPPLIST}; \ + fi) +.endfor + +.include diff --git a/sysutils/beats8/distinfo b/sysutils/beats8/distinfo new file mode 100644 index 000000000000..afcf1d500314 --- /dev/null +++ b/sysutils/beats8/distinfo @@ -0,0 +1,15 @@ +TIMESTAMP = 1669417041 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/go.mod) = 2fba3adaa4b2ab5f864bc2ff8eb4584a854bb9701f01a50814ed46f736b4d9a0 +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/go.mod) = 18988 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/auditbeat-8.5.2-darwin-x86_64.tar.gz) = e5869103a1948c121b481b66aa3849355037e279a68a52093b1b5e8521dc1141 +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/auditbeat-8.5.2-darwin-x86_64.tar.gz) = 27766683 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/filebeat-8.5.2-darwin-x86_64.tar.gz) = d35cc6bf587aad870779d69c7df90f5b4526bb01c31a7c953ecfb7bcf75c61dd +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/filebeat-8.5.2-darwin-x86_64.tar.gz) = 36503488 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/heartbeat-8.5.2-darwin-x86_64.tar.gz) = 0dcdfbdec5cabec79935c2d7fe9c1133a85eaed8c58bb3bbcdd00fd7b822ad08 +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/heartbeat-8.5.2-darwin-x86_64.tar.gz) = 27844888 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/metricbeat-8.5.2-darwin-x86_64.tar.gz) = 5961b1b4e22675cadec41ea0bb05b604c30ca2038b4f54bb16b4aaa749191713 +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/metricbeat-8.5.2-darwin-x86_64.tar.gz) = 42925666 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/packetbeat-8.5.2-darwin-x86_64.tar.gz) = 3e96e28c1dcc2a077a1d277f604531f72e5dcca361860089d74398a91eb7929d +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/packetbeat-8.5.2-darwin-x86_64.tar.gz) = 29124396 +SHA256 (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/elastic-beats-v8.5.2_GH0.tar.gz) = d86a9932cbb0030bce986e2b0a8bcea26d62acd689d45e81154fd188b0a4b8cb +SIZE (go/sysutils_beats8/elastic-beats-v8.5.2_GH0/elastic-beats-v8.5.2_GH0.tar.gz) = 111493219 diff --git a/sysutils/beats8/files/auditbeat.in b/sysutils/beats8/files/auditbeat.in new file mode 100644 index 000000000000..4091c69b6182 --- /dev/null +++ b/sysutils/beats8/files/auditbeat.in @@ -0,0 +1,50 @@ +#!/bin/sh + +# PROVIDE: auditbeat +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable auditbeat: +# +# auditbeat_enable (bool): Set to YES to enable auditbeat +# Default: NO +# auditbeat_flags (str): Extra flags passed to auditbeat +# auditbeat_config (str): auditbeat configuration directory +# Default: ${PREFIX}/etc/beats +# auditbeat_conffile (str): auditbeat configuration file +# relative to ${auditbeat_conf} +# Default: auditbeat.yml + +. /etc/rc.subr + +name="auditbeat" +rcvar=${name}_enable +load_rc_config $name + +: ${auditbeat_enable:="NO"} +: ${auditbeat_config:="%%ETCDIR%%"} +: ${auditbeat_conffile:="auditbeat.yml"} +: ${auditbeat_home:="%%DATADIR%%/auditbeat"} +: ${auditbeat_logs:="/var/log/beats"} +: ${auditbeat_data:="/var/db/beats/auditbeat"} + +# daemon +start_precmd=auditbeat_prestart +command=/usr/sbin/daemon +pidfile="/var/run/${name}" +command_args="-frP ${pidfile} %%PREFIX%%/sbin/${name} ${auditbeat_flags} --path.config ${auditbeat_config} --path.home ${auditbeat_home} --path.data ${auditbeat_data} --path.logs ${auditbeat_logs} -c ${auditbeat_conffile}" +auditbeat_prestart() { +# Have to empty rc_flags so they don't get passed to daemon(8) + rc_flags="" +} + +# auditbeat will refuse to quit if linprocfs is mounted, and sadly requires -9 +[ -f /compat/linux/proc/cpuinfo ] && stop_cmd=auditbeat_stop + +auditbeat_stop() { + pkill -9 -F ${pidfile} > /dev/null 2>&1 + pkill -9 -F ${pidfile}.child > /dev/null 2>&1 +} + +run_rc_command "$1" diff --git a/sysutils/beats8/files/filebeat.in b/sysutils/beats8/files/filebeat.in new file mode 100644 index 000000000000..8ae08af5b398 --- /dev/null +++ b/sysutils/beats8/files/filebeat.in @@ -0,0 +1,43 @@ +#!/bin/sh + +# PROVIDE: filebeat +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable filebeat: +# +# filebeat_enable (bool): Set to YES to enable filebeat +# Default: NO +# filebeat_flags (str): Extra flags passed to filebeat +# filebeat_config (str): filebeat configuration directory +# Default: ${PREFIX}/etc/beats +# filebeat_conffile (str): filebeat configuration file +# relative to ${filebeat_conf} +# Default: filebeat.yml + +. /etc/rc.subr + +name="filebeat" +rcvar=${name}_enable +load_rc_config $name + +: ${filebeat_enable:="NO"} +: ${filebeat_config:="%%ETCDIR%%"} +: ${filebeat_conffile:="filebeat.yml"} +: ${filebeat_home:="%%DATADIR%%/filebeat"} +: ${filebeat_logs:="/var/log/beats"} +: ${filebeat_data:="/var/db/beats/filebeat"} + +# daemon +start_precmd=filebeat_prestart +command=/usr/sbin/daemon +pidfile="/var/run/${name}" +command_args="-frP ${pidfile} %%PREFIX%%/sbin/${name} ${filebeat_flags} --path.config ${filebeat_config} --path.home ${filebeat_home} --path.data ${filebeat_data} --path.logs ${filebeat_logs} -c ${filebeat_conffile}" + +filebeat_prestart() { +# Have to empty rc_flags so they don't get passed to daemon(8) + rc_flags="" +} + +run_rc_command "$1" diff --git a/sysutils/beats8/files/heartbeat.in b/sysutils/beats8/files/heartbeat.in new file mode 100644 index 000000000000..d99374ab011c --- /dev/null +++ b/sysutils/beats8/files/heartbeat.in @@ -0,0 +1,44 @@ +#!/bin/sh + +# PROVIDE: heartbeat +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable heartbeat: +# +# heartbeat_enable (bool): Set to YES to enable heartbeat +# Default: NO +# heartbeat_flags (str): Extra flags passed to heartbeat +# heartbeat_config (str): heartbeat configuration directory +# Default: ${PREFIX}/etc/beats +# heartbeat_conffile (str): heartbeat configuration file +# relative to ${heartbeat_conf} +# Default: heartbeat.yml + +. /etc/rc.subr + +name="heartbeat" +rcvar=${name}_enable +load_rc_config $name + +: ${heartbeat_enable:="NO"} +: ${heartbeat_config:="%%ETCDIR%%"} +: ${heartbeat_conffile:="heartbeat.yml"} +: ${heartbeat_home:="%%DATADIR%%/heartbeat"} +: ${heartbeat_logs:="/var/log/beats"} +: ${heartbeat_data:="/var/db/beats/heartbeat"} + + +# daemon +start_precmd=heartbeat_prestart +command=/usr/sbin/daemon +pidfile="/var/run/${name}" +command_args="-frP ${pidfile} %%PREFIX%%/sbin/${name} ${heartbeat_flags} --path.config ${heartbeat_config} --path.home ${heartbeat_home} --path.data ${heartbeat_data} --path.logs ${heartbeat_logs} -c ${heartbeat_conffile}" + +heartbeat_prestart() { +# Have to empty rc_flags so they don't get passed to daemon(8) + rc_flags="" +} + +run_rc_command "$1" diff --git a/sysutils/beats8/files/metricbeat.in b/sysutils/beats8/files/metricbeat.in new file mode 100644 index 000000000000..270966c4f669 --- /dev/null +++ b/sysutils/beats8/files/metricbeat.in @@ -0,0 +1,51 @@ +#!/bin/sh + +# PROVIDE: metricbeat +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable metricbeat: +# +# metricbeat_enable (bool): Set to YES to enable metricbeat +# Default: NO +# metricbeat_flags (str): Extra flags passed to metricbeat +# metricbeat_config (str): metricbeat configuration directory +# Default: ${PREFIX}/etc/beats +# metricbeat_conffile (str): metricbeat configuration file +# relative to ${metricbeat_conf} +# Default: metricbeat.yml + +. /etc/rc.subr + +name="metricbeat" +rcvar=${name}_enable +load_rc_config $name + +: ${metricbeat_enable:="NO"} +: ${metricbeat_config:="%%ETCDIR%%"} +: ${metricbeat_conffile:="metricbeat.yml"} +: ${metricbeat_home:="%%DATADIR%%/metricbeat"} +: ${metricbeat_logs:="/var/log/beats"} +: ${metricbeat_data:="/var/db/beats/metricbeat"} + +# daemon +start_precmd=metricbeat_prestart +command=/usr/sbin/daemon +pidfile="/var/run/${name}" +command_args="-frP ${pidfile} %%PREFIX%%/sbin/${name} ${metricbeat_flags} --path.config ${metricbeat_config} --path.home ${metricbeat_home} --path.data ${metricbeat_data} --path.logs ${metricbeat_logs} -c ${metricbeat_conffile}" + +metricbeat_prestart() { +# Have to empty rc_flags so they don't get passed to daemon(8) + rc_flags="" +} + +# metricbeat will refuse to quit if linprocfs is mounted, and sadly requires -9 +[ -f /compat/linux/proc/cpuinfo ] && stop_cmd=metricbeat_stop + +metricbeat_stop() { + pkill -9 -F ${pidfile} > /dev/null 2>&1 + pkill -9 -F ${pidfile}.child > /dev/null 2>&1 +} + +run_rc_command "$1" diff --git a/sysutils/beats8/files/packetbeat.in b/sysutils/beats8/files/packetbeat.in new file mode 100644 index 000000000000..4dc21856c49a --- /dev/null +++ b/sysutils/beats8/files/packetbeat.in @@ -0,0 +1,43 @@ +#!/bin/sh + +# PROVIDE: packetbeat +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable packetbeat +# +# packetbeat_enable (bool): Set to YES to enable packetbeat +# Default: NO +# packetbeat_flags (str): Extra flags passed to packetbeat +# packetbeat_config (str): packetbeat configuration directory +# Default: ${PREFIX}/etc/beats +# packetbeat_conffile (str): packetbeat configuration file +# relative to ${packetbeat_conf} +# Default: packetbeat.yml + +. /etc/rc.subr + +name="packetbeat" +rcvar=${name}_enable +load_rc_config $name + +: ${packetbeat_enable:="NO"} +: ${packetbeat_config:="%%ETCDIR%%"} +: ${packetbeat_conffile:="packetbeat.yml"} +: ${packetbeat_home:="%%DATADIR%%/packetbeat"} +: ${packetbeat_logs:="/var/log/beats"} +: ${packetbeat_data:="/var/db/beats/packetbeat"} + +# daemon +start_precmd=packetbeat_prestart +command=/usr/sbin/daemon +pidfile="/var/run/${name}" +command_args="-frP ${pidfile} %%PREFIX%%/sbin/${name} ${packetbeat_flags} --path.config ${packetbeat_config} --path.home ${packetbeat_home} --path.data ${packetbeat_data} --path.logs ${packetbeat_logs} -c ${packetbeat_conffile}" + +packetbeat_prestart() { +# Have to empty rc_flags so they don't get passed to daemon(8) + rc_flags="" +} + +run_rc_command "$1" diff --git a/sysutils/beats8/files/patch-auditbeat_auditbeat.reference.yml b/sysutils/beats8/files/patch-auditbeat_auditbeat.reference.yml new file mode 100644 index 000000000000..3761774a00eb --- /dev/null +++ b/sysutils/beats8/files/patch-auditbeat_auditbeat.reference.yml @@ -0,0 +1,20 @@ +--- auditbeat/auditbeat.reference.yml.orig 2022-10-24 06:49:31 UTC ++++ auditbeat/auditbeat.reference.yml +@@ -14,7 +14,7 @@ + auditbeat.config.modules: + + # Glob pattern for configuration reloading +- path: ${path.config}/modules.d/*.yml ++ path: ${path.config}/auditbeat.modules.d/*.yml + + # Period on which files under path should be checked for changes + reload.period: 10s +@@ -1133,7 +1133,7 @@ output.elasticsearch: + + # The directory from where to read the dashboards. The default is the `kibana` + # folder in the home path. +-#setup.dashboards.directory: ${path.home}/kibana ++#setup.dashboards.directory: %%DATADIR%%/auditbeat/kibana + + # The URL from where to download the dashboards archive. It is used instead of + # the directory if it has a value. diff --git a/sysutils/beats8/files/patch-auditbeat_auditbeat.yml b/sysutils/beats8/files/patch-auditbeat_auditbeat.yml new file mode 100644 index 000000000000..20ee2d0016a5 --- /dev/null +++ b/sysutils/beats8/files/patch-auditbeat_auditbeat.yml @@ -0,0 +1,13 @@ +--- auditbeat/auditbeat.yml.orig 2022-10-24 06:49:31 UTC ++++ auditbeat/auditbeat.yml +@@ -82,6 +82,10 @@ setup.template.settings: + # website. + #setup.dashboards.url: + ++# The directory from where to read the dashboards. The default is the `kibana` ++# folder in the home path. ++#setup.dashboards.directory: %%DATADIR%%/auditbeat/kibana ++ + # =================================== Kibana =================================== + + # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. diff --git a/sysutils/beats8/files/patch-dev-tools_mage_settings.go b/sysutils/beats8/files/patch-dev-tools_mage_settings.go new file mode 100644 index 000000000000..db8c9ed4cbe1 --- /dev/null +++ b/sysutils/beats8/files/patch-dev-tools_mage_settings.go @@ -0,0 +1,20 @@ +--- dev-tools/mage/settings.go.orig 2022-09-27 13:19:27 UTC ++++ dev-tools/mage/settings.go +@@ -30,7 +30,6 @@ import ( + "sync" + "time" + +- "github.com/magefile/mage/sh" + "github.com/pkg/errors" + "golang.org/x/tools/go/vcs" + +@@ -249,7 +248,8 @@ var ( + func CommitHash() (string, error) { + var err error + commitHashOnce.Do(func() { +- commitHash, err = sh.Output("git", "rev-parse", "HEAD") ++ err = nil ++ commitHash = "%%BEATSVERSION%%" + }) + return commitHash, err + } diff --git a/sysutils/beats8/files/patch-filebeat_filebeat.reference.yml b/sysutils/beats8/files/patch-filebeat_filebeat.reference.yml new file mode 100644 index 000000000000..71410a09ec92 --- /dev/null +++ b/sysutils/beats8/files/patch-filebeat_filebeat.reference.yml @@ -0,0 +1,26 @@ +--- filebeat/filebeat.reference.yml.orig 2022-09-27 13:19:27 UTC ++++ filebeat/filebeat.reference.yml +@@ -1241,12 +1241,12 @@ filebeat.inputs: + #filebeat.config: + #inputs: + #enabled: false +- #path: inputs.d/*.yml ++ #path: filebeat.inputs.d/*.yml + #reload.enabled: true + #reload.period: 10s + #modules: + #enabled: true +- #path: modules.d/*.yml ++ #path: filebeat.modules.d/*.yml + #reload.enabled: true + #reload.period: 10s + +@@ -2266,7 +2266,7 @@ output.elasticsearch: + + # The directory from where to read the dashboards. The default is the `kibana` + # folder in the home path. +-#setup.dashboards.directory: ${path.home}/kibana ++#setup.dashboards.directory: %%DATADIR%%/filebeat/kibana + + # The URL from where to download the dashboards archive. It is used instead of + # the directory if it has a value. diff --git a/sysutils/beats8/files/patch-filebeat_filebeat.yml b/sysutils/beats8/files/patch-filebeat_filebeat.yml new file mode 100644 index 000000000000..6630fa8d04d6 --- /dev/null +++ b/sysutils/beats8/files/patch-filebeat_filebeat.yml @@ -0,0 +1,33 @@ +--- filebeat/filebeat.yml.orig 2022-09-27 13:19:27 UTC ++++ filebeat/filebeat.yml +@@ -58,7 +58,7 @@ filebeat.inputs: + + filebeat.config.modules: + # Glob pattern for configuration loading +- path: ${path.config}/modules.d/*.yml ++ path: ${path.config}/filebeat.modules.d/*.yml + + # Set to true to enable config reloading + reload.enabled: false +@@ -101,6 +101,10 @@ setup.template.settings: + # website. + #setup.dashboards.url: + ++# The directory from where to read the dashboards. The default is the `kibana` ++# folder in the home path. ++#setup.dashboards.directory: %%DATADIR%%/filebeat/kibana ++ + # =================================== Kibana =================================== + + # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. +@@ -168,8 +172,8 @@ processors: + - add_host_metadata: + when.not.contains.tags: forwarded + - add_cloud_metadata: ~ +- - add_docker_metadata: ~ +- - add_kubernetes_metadata: ~ ++# - add_docker_metadata: ~ ++# - add_kubernetes_metadata: ~ + + # ================================== Logging =================================== + diff --git a/sysutils/beats8/files/patch-heartbeat_heartbeat.yml b/sysutils/beats8/files/patch-heartbeat_heartbeat.yml new file mode 100644 index 000000000000..4e41b4e0d011 --- /dev/null +++ b/sysutils/beats8/files/patch-heartbeat_heartbeat.yml @@ -0,0 +1,11 @@ +--- heartbeat/heartbeat.yml.orig 2021-07-04 13:59:29 UTC ++++ heartbeat/heartbeat.yml +@@ -13,7 +13,7 @@ + # of individual yaml files. + heartbeat.config.monitors: + # Directory + glob pattern to search for configuration files +- path: ${path.config}/monitors.d/*.yml ++ path: ${path.config}/heartbeat.monitors.d/*.yml + # If enabled, heartbeat will periodically check the config.monitors path for changes + reload.enabled: false + # How often to check for changes diff --git a/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_config.go b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_config.go new file mode 100644 index 000000000000..b57cdd46584d --- /dev/null +++ b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_config.go @@ -0,0 +1,13 @@ +--- libbeat/autodiscover/providers/docker/config.go.orig 2022-10-24 06:49:31 UTC ++++ libbeat/autodiscover/providers/docker/config.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package docker + diff --git a/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_docker.go b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_docker.go new file mode 100644 index 000000000000..465edde47d12 --- /dev/null +++ b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_docker_docker.go @@ -0,0 +1,22 @@ +--- libbeat/autodiscover/providers/docker/docker.go.orig 2022-10-24 06:49:31 UTC ++++ libbeat/autodiscover/providers/docker/docker.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package docker + +@@ -33,7 +33,7 @@ import ( + "github.com/elastic/beats/v7/libbeat/common" + + "github.com/elastic/elastic-agent-autodiscover/bus" +- "github.com/elastic/elastic-agent-autodiscover/docker" ++ docker "github.com/elastic/elastic-agent-autodiscover/docker" + "github.com/elastic/elastic-agent-autodiscover/utils" + "github.com/elastic/elastic-agent-libs/config" + "github.com/elastic/elastic-agent-libs/keystore" diff --git a/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_config.go b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_config.go new file mode 100644 index 000000000000..36eee0f9cd90 --- /dev/null +++ b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_config.go @@ -0,0 +1,13 @@ +--- libbeat/autodiscover/providers/kubernetes/config.go.orig 2021-12-17 15:54:41 UTC ++++ libbeat/autodiscover/providers/kubernetes/config.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package kubernetes + diff --git a/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_kubernetes.go b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_kubernetes.go new file mode 100644 index 000000000000..0795f2de7c98 --- /dev/null +++ b/sysutils/beats8/files/patch-libbeat_autodiscover_providers_kubernetes_kubernetes.go @@ -0,0 +1,13 @@ +--- libbeat/autodiscover/providers/kubernetes/kubernetes.go.orig 2021-12-17 15:54:41 UTC ++++ libbeat/autodiscover/providers/kubernetes/kubernetes.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package kubernetes + diff --git a/sysutils/beats8/files/patch-libbeat_scripts_Makefile b/sysutils/beats8/files/patch-libbeat_scripts_Makefile new file mode 100644 index 000000000000..59c695a04824 --- /dev/null +++ b/sysutils/beats8/files/patch-libbeat_scripts_Makefile @@ -0,0 +1,26 @@ +--- libbeat/scripts/Makefile.orig 2022-09-27 13:19:27 UTC ++++ libbeat/scripts/Makefile +@@ -47,7 +47,7 @@ GOFILES = $(shell find . -type f -name '*.go' 2>/dev/n + GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "*/vendor/*" 2>/dev/null) + GOFILES_ALL = $(GOFILES) $(shell find $(ES_BEATS) -type f -name '*.go' 2>/dev/null) + GOPACKAGES_STRESSTESTS=$(shell find . -name '*.go' 2>/dev/null | xargs grep -l '\+build.*stresstest' | xargs -n1 dirname | uniq) +-SHELL=bash ++SHELL=sh + ES_HOST?=elasticsearch + ES_PORT?=9200 + ES_USER?=beats +@@ -352,12 +352,12 @@ ifndef EXCLUDE_COMMON_UPDATE_TARGET + update: python-env fields collect config ## @build Update expects the most recent version of libbeat in the GOPATH + @echo "Updating generated files for ${BEAT_NAME}" + +-ifneq ($(shell [[ $(BEAT_NAME) == libbeat || $(BEAT_NAME) == metricbeat ]] && echo true ),true) ++ifneq ($(shell [[ $(BEAT_NAME) = libbeat || $(BEAT_NAME) = metricbeat ]] && echo true ),true) + mkdir -p include + go run ${INSTALL_FLAG} ${ES_BEATS}/dev-tools/cmd/asset/asset.go -license $(LICENSE) -pkg include -in fields.yml -out include/fields.go $(BEAT_NAME) + endif + +-ifneq ($(shell [[ $(BEAT_NAME) == libbeat || $(BEAT_NAME) == metricbeat ]] && echo true ),true) ++ifneq ($(shell [[ $(BEAT_NAME) = libbeat || $(BEAT_NAME) = metricbeat ]] && echo true ),true) + @# Update docs + @mkdir -p docs + @${PYTHON_ENV_EXE} ${ES_BEATS}/libbeat/scripts/generate_fields_docs.py $(PWD)/fields.yml ${BEAT_TITLE} ${ES_BEATS} diff --git a/sysutils/beats8/files/patch-metricbeat_metricbeat.reference.yml b/sysutils/beats8/files/patch-metricbeat_metricbeat.reference.yml new file mode 100644 index 000000000000..54e125f6af50 --- /dev/null +++ b/sysutils/beats8/files/patch-metricbeat_metricbeat.reference.yml @@ -0,0 +1,20 @@ +--- metricbeat/metricbeat.reference.yml.orig 2022-09-27 13:19:27 UTC ++++ metricbeat/metricbeat.reference.yml +@@ -14,7 +14,7 @@ + metricbeat.config.modules: + + # Glob pattern for configuration reloading +- path: ${path.config}/modules.d/*.yml ++ path: ${path.config}/metricbeat.modules.d/*.yml + + # Period on which files under path should be checked for changes + reload.period: 10s +@@ -2006,7 +2006,7 @@ output.elasticsearch: + + # The directory from where to read the dashboards. The default is the `kibana` + # folder in the home path. +-#setup.dashboards.directory: ${path.home}/kibana ++#setup.dashboards.directory: %%DATADIR%%/metricbeat/kibana + + # The URL from where to download the dashboards archive. It is used instead of + # the directory if it has a value. diff --git a/sysutils/beats8/files/patch-metricbeat_metricbeat.yml b/sysutils/beats8/files/patch-metricbeat_metricbeat.yml new file mode 100644 index 000000000000..0dcf745f9cfd --- /dev/null +++ b/sysutils/beats8/files/patch-metricbeat_metricbeat.yml @@ -0,0 +1,33 @@ +--- metricbeat/metricbeat.yml.orig 2021-10-07 17:20:31 UTC ++++ metricbeat/metricbeat.yml +@@ -11,7 +11,7 @@ + + metricbeat.config.modules: + # Glob pattern for configuration loading +- path: ${path.config}/modules.d/*.yml ++ path: ${path.config}/metricbeat.modules.d/*.yml + + # Set to true to enable config reloading + reload.enabled: false +@@ -54,6 +54,10 @@ setup.template.settings: + # website. + #setup.dashboards.url: + ++# The directory from where to read the dashboards. The default is the `kibana` ++# folder in the home path. ++#setup.dashboards.directory: %%DATADIR%%/metricbeat/kibana ++ + # =================================== Kibana =================================== + + # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. +@@ -123,8 +127,8 @@ output.elasticsearch: + processors: + - add_host_metadata: ~ + - add_cloud_metadata: ~ +- - add_docker_metadata: ~ +- - add_kubernetes_metadata: ~ ++# - add_docker_metadata: ~ ++# - add_kubernetes_metadata: ~ + + + # ================================== Logging =================================== diff --git a/sysutils/beats8/files/patch-packetbeat_packetbeat.reference.yml b/sysutils/beats8/files/patch-packetbeat_packetbeat.reference.yml new file mode 100644 index 000000000000..de6d99250123 --- /dev/null +++ b/sysutils/beats8/files/patch-packetbeat_packetbeat.reference.yml @@ -0,0 +1,11 @@ +--- packetbeat/packetbeat.reference.yml.orig 2022-09-27 13:19:27 UTC ++++ packetbeat/packetbeat.reference.yml +@@ -1634,7 +1634,7 @@ output.elasticsearch: + + # The directory from where to read the dashboards. The default is the `kibana` + # folder in the home path. +-#setup.dashboards.directory: ${path.home}/kibana ++#setup.dashboards.directory: %%DATADIR%%/packetbeat/kibana + + # The URL from where to download the dashboards archive. It is used instead of + # the directory if it has a value. diff --git a/sysutils/beats8/files/patch-packetbeat_packetbeat.yml b/sysutils/beats8/files/patch-packetbeat_packetbeat.yml new file mode 100644 index 000000000000..0a3f15dfcbc9 --- /dev/null +++ b/sysutils/beats8/files/patch-packetbeat_packetbeat.yml @@ -0,0 +1,23 @@ +--- packetbeat/packetbeat.yml.orig 2022-10-24 06:49:31 UTC ++++ packetbeat/packetbeat.yml +@@ -25,7 +25,8 @@ + # internal_networks: + # - private + # +-packetbeat.interfaces.device: any ++# On FreeBSD, you must specify particular interface to sniff on ++packetbeat.interfaces.device: em0 + + # Specify the amount of time between polling for changes in the default + # route. This option is only used when one of the default route devices +@@ -173,6 +174,10 @@ setup.template.settings: + # versions, this URL points to the dashboard archive on the artifacts.elastic.co + # website. + #setup.dashboards.url: ++ ++# The directory from where to read the dashboards. The default is the `kibana` ++# folder in the home path. ++#setup.dashboards.directory: %%DATADIR%%/packetbeat/kibana + + # =================================== Kibana =================================== + diff --git a/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_client.go b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_client.go new file mode 100644 index 000000000000..4c27b7b7445b --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_client.go @@ -0,0 +1,13 @@ +--- vendor/github.com/elastic/elastic-agent-autodiscover/docker/client.go.orig 2022-11-25 21:51:45 UTC ++++ vendor/github.com/elastic/elastic-agent-autodiscover/docker/client.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package docker + diff --git a/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_watcher.go b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_watcher.go new file mode 100644 index 000000000000..b3eb5109493f --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-autodiscover_docker_watcher.go @@ -0,0 +1,13 @@ +--- vendor/github.com/elastic/elastic-agent-autodiscover/docker/watcher.go.orig 2022-11-25 21:51:52 UTC ++++ vendor/github.com/elastic/elastic-agent-autodiscover/docker/watcher.go +@@ -15,8 +15,8 @@ + // specific language governing permissions and limitations + // under the License. + +-//go:build linux || darwin || windows +-// +build linux darwin windows ++//go:build linux || darwin || windows || freebsd ++// +build linux darwin windows freebsd + + package docker + diff --git a/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__freebsd.go b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__freebsd.go new file mode 100644 index 000000000000..f8872e79e492 --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__freebsd.go @@ -0,0 +1,10 @@ +--- vendor/github.com/elastic/elastic-agent-system-metrics/metric/cpu/metrics_freebsd.go.orig 2022-11-25 21:56:24 UTC ++++ vendor/github.com/elastic/elastic-agent-system-metrics/metric/cpu/metrics_freebsd.go +@@ -57,3 +57,7 @@ func parseCPULine(line string) (CPU, error) { + + return cpuData, errs.Err() + } ++ ++func scanCPUInfoFile(scanner *bufio.Scanner) ([]CPUInfo, error) { ++ return cpuinfoScanner(scanner) ++} diff --git a/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__procfs__common.go b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__procfs__common.go new file mode 100644 index 000000000000..1756133ba7a0 --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_cpu_metrics__procfs__common.go @@ -0,0 +1,20 @@ +--- vendor/github.com/elastic/elastic-agent-system-metrics/metric/cpu/metrics_procfs_common.go.orig 2022-11-25 21:55:11 UTC ++++ vendor/github.com/elastic/elastic-agent-system-metrics/metric/cpu/metrics_procfs_common.go +@@ -32,7 +32,7 @@ import ( + + // Get returns a metrics object for CPU data + func Get(procfs resolve.Resolver) (CPUMetrics, error) { +- path := procfs.ResolveHostFS("/proc/stat") ++ path := procfs.ResolveHostFS("/compat/linux/proc/stat") + fd, err := os.Open(path) + defer func() { + _ = fd.Close() +@@ -46,7 +46,7 @@ func Get(procfs resolve.Resolver) (CPUMetrics, error) + return CPUMetrics{}, fmt.Errorf("scanning stat file: %w", err) + } + +- cpuInfoPath := procfs.ResolveHostFS("/proc/cpuinfo") ++ cpuInfoPath := procfs.ResolveHostFS("/compat/linux/proc/cpuinfo") + cpuInfoFd, err := os.Open(cpuInfoPath) + if err != nil { + return CPUMetrics{}, fmt.Errorf("opening '%s': %w", cpuInfoPath, err) diff --git a/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_system_filesystem_filesystem__unix.go b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_system_filesystem_filesystem__unix.go new file mode 100644 index 000000000000..26fa875e63eb --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_elastic_elastic-agent-system-metrics_metric_system_filesystem_filesystem__unix.go @@ -0,0 +1,14 @@ +--- vendor/github.com/elastic/elastic-agent-system-metrics/metric/system/filesystem/filesystem_unix.go.orig 2022-11-25 22:00:53 UTC ++++ vendor/github.com/elastic/elastic-agent-system-metrics/metric/system/filesystem/filesystem_unix.go +@@ -37,9 +37,9 @@ func (fs *FSStat) GetUsage() error { + + fs.Total = opt.UintWith(stat.Blocks).MultUint64OrNone(uint64(stat.Bsize)) + fs.Free = opt.UintWith(stat.Bfree).MultUint64OrNone(uint64(stat.Bsize)) +- fs.Avail = opt.UintWith(stat.Bavail).MultUint64OrNone(uint64(stat.Bsize)) ++ fs.Avail = opt.UintWith(uint64(stat.Bavail)).MultUint64OrNone(uint64(stat.Bsize)) + fs.Files = opt.UintWith(stat.Files) +- fs.FreeFiles = opt.UintWith(stat.Ffree) ++ fs.FreeFiles = opt.UintWith(uint64(stat.Ffree)) + + fs.fillMetrics() + diff --git a/sysutils/beats8/files/patch-vendor_github.com_godbus_dbus_transport__unixcred__freebsd.go b/sysutils/beats8/files/patch-vendor_github.com_godbus_dbus_transport__unixcred__freebsd.go new file mode 100644 index 000000000000..e8acdf147806 --- /dev/null +++ b/sysutils/beats8/files/patch-vendor_github.com_godbus_dbus_transport__unixcred__freebsd.go @@ -0,0 +1,12 @@ +--- vendor/github.com/godbus/dbus/transport_unixcred_freebsd.go.orig 2021-08-05 12:40:38 UTC ++++ vendor/github.com/godbus/dbus/transport_unixcred_freebsd.go +@@ -8,7 +8,8 @@ + package dbus + + /* *** 103 LINES SKIPPED ***