mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-19 08:13:21 +00:00
net/benthos: Add new port
Benthos solves common data engineering tasks such as transformations, integrations, and multiplexing with declarative and unit testable configuration. This allows you to easily and incrementally adapt your data pipelines as requirements change, letting you focus on the more exciting stuff. Benthos is able to glue a wide range of sources and sinks together and hook into a variety of databases, caches, HTTP APIs, lambdas and more, enabling you to seamlessly drop it into your existing infrastructure.
This commit is contained in:
parent
097709d2d2
commit
1704312129
2
GIDs
2
GIDs
@ -275,7 +275,7 @@ svxlink:*:331:
|
||||
keycloak:*:332:
|
||||
honeytrap:*:333:
|
||||
percona:*:334:
|
||||
# free: 335
|
||||
benthos:*:335:
|
||||
# free: 336
|
||||
daapd:*:337:
|
||||
murmur:*:338:
|
||||
|
2
UIDs
2
UIDs
@ -280,7 +280,7 @@ svxlink:*:331:331::0:0:svxlink server:/nonexistent:/usr/sbin/nologin
|
||||
keycloak:*:332:332::0:0:keycloak server:/nonexistent:/usr/sbin/nologin
|
||||
honeytrap:*:333:333::0:0:HoneyTrap Daemon:/nonexistent:/usr/sbin/nologin
|
||||
percona:*:334:334::0:0:Percona Daemons:/nonexistent:/usr/sbin/nologin
|
||||
# free: 335
|
||||
benthos:*:335:335::0:0:Benthos Daemon:/nonexistent:/usr/sbin/nologin
|
||||
_pma:*:336:80::0:0:phpMyAdmin Owner:/nonexistent:/usr/sbin/nologin
|
||||
daapd:*:337:337::0:0:daapd User:/nonexistent:/usr/sbin/nologin
|
||||
murmur:*:338:338::0:0:& User:/nonexistent:/usr/sbin/nologin
|
||||
|
@ -52,6 +52,7 @@
|
||||
SUBDIR += beacon
|
||||
SUBDIR += beanstalkd
|
||||
SUBDIR += belle-sip
|
||||
SUBDIR += benthos
|
||||
SUBDIR += bindtest
|
||||
SUBDIR += binkd
|
||||
SUBDIR += bird
|
||||
|
33
net/benthos/Makefile
Normal file
33
net/benthos/Makefile
Normal file
@ -0,0 +1,33 @@
|
||||
PORTNAME= benthos
|
||||
PORTVERSION= 4.27.0
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= net
|
||||
|
||||
MAINTAINER= olgeni@FreeBSD.org
|
||||
COMMENT= Stream processor for a wide array of data sources and sinks
|
||||
WWW= https://www.benthos.dev/
|
||||
|
||||
LICENSE= MIT
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
USES= go:modules
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= benthosdev
|
||||
USE_RC_SUBR= benthos
|
||||
|
||||
GO_MODULE= github.com/benthosdev/benthos/v4
|
||||
GO_PKGNAME= github.com/${GH_ACCOUNT}/${PORTNAME}
|
||||
GO_TARGET= ./cmd/benthos
|
||||
|
||||
USERS= benthos
|
||||
GROUPS= benthos
|
||||
|
||||
PLIST_FILES= bin/benthos \
|
||||
"@dir(,,755) %%ETCDIR%%" \
|
||||
"@sample %%ETCDIR%%/config.yaml.sample"
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
${INSTALL_DATA} ${FILESDIR}/config.yaml ${STAGEDIR}${ETCDIR}/config.yaml.sample
|
||||
|
||||
.include <bsd.port.mk>
|
7
net/benthos/distinfo
Normal file
7
net/benthos/distinfo
Normal file
@ -0,0 +1,7 @@
|
||||
TIMESTAMP = 1714857427
|
||||
SHA256 (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/v4.27.0.mod) = 8fbe69c73f2e5da6b0169269b175adfe0edb34b33b401162960d04ef455933eb
|
||||
SIZE (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/v4.27.0.mod) = 17442
|
||||
SHA256 (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/v4.27.0.zip) = 94b8ad0e6f6feb7138391c96580e9a3482f1a5e0f8631d4839ebd182b935e21e
|
||||
SIZE (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/v4.27.0.zip) = 3980482
|
||||
SHA256 (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/benthosdev-benthos-v4.27.0_GH0.tar.gz) = f196b90d1df54641110f9ac04e7b82c079190495e1a26785056cc9bd8abd2e09
|
||||
SIZE (go/net_benthos/benthosdev-benthos-v4.27.0_GH0/benthosdev-benthos-v4.27.0_GH0.tar.gz) = 2917074
|
60
net/benthos/files/benthos.in
Normal file
60
net/benthos/files/benthos.in
Normal file
@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# PROVIDE: benthos
|
||||
# REQUIRE: DAEMON
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to run NATS:
|
||||
#
|
||||
# benthos_enable (bool): Set it to "YES" to enable benthos.
|
||||
# Default is "NO".
|
||||
# benthos_user: User name to run as. default "benthos"
|
||||
# benthos_group: Group name to run as. default "benthos"
|
||||
# benthos_resources: Path to benthos resources files (glob).
|
||||
# benthos_config: Path to benthos configuration file.
|
||||
# benthos_watcher (bool): Set it to "YES" to enable benthos watcher mode.
|
||||
# Default is "NO".
|
||||
# benthos_options: Options to pass benthos
|
||||
# (e.g. 'streams' for streams mode).
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name=benthos
|
||||
rcvar=`set_rcvar`
|
||||
|
||||
load_rc_config ${name}
|
||||
|
||||
: ${benthos_enable:=NO}
|
||||
: ${benthos_user:=benthos}
|
||||
: ${benthos_group:=benthos}
|
||||
: ${benthos_resources:=""}
|
||||
: ${benthos_config:="%%PREFIX%%/etc/benthos/config.yaml"}
|
||||
: ${benthos_watcher:=NO}
|
||||
: ${benthos_options=""}
|
||||
|
||||
if [ -n "${benthos_resources}" ]; then
|
||||
benthos_options="--resources '${benthos_resources}' ${benthos_options}"
|
||||
fi
|
||||
|
||||
if [ -n "${benthos_config}" ]; then
|
||||
benthos_options="--config ${benthos_config} ${benthos_options}"
|
||||
fi
|
||||
|
||||
if checkyesno benthos_watcher; then
|
||||
benthos_options="--watcher ${benthos_options}"
|
||||
fi
|
||||
|
||||
start_precmd=benthos_start_precmd
|
||||
|
||||
pidfile="/var/run/${name}.pid"
|
||||
procname=%%PREFIX%%/bin/benthos
|
||||
command=/usr/sbin/daemon
|
||||
command_args="-p ${pidfile} ${procname} ${benthos_options}"
|
||||
|
||||
benthos_start_precmd()
|
||||
{
|
||||
install -o ${benthos_user} -g ${benthos_group} /dev/null ${pidfile}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
27
net/benthos/files/config.yaml
Normal file
27
net/benthos/files/config.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
# Sample configuration file for Benthos. It saves all messages to a file (/tmp/benthos.txt).
|
||||
http:
|
||||
enabled: true
|
||||
address: 127.0.0.1:4195
|
||||
root_path: /
|
||||
debug_endpoints: false
|
||||
input:
|
||||
http_server:
|
||||
path: /post
|
||||
ws_path: /post/ws
|
||||
ws_welcome_message: "Welcome to the Benthos Websocket API."
|
||||
allowed_verbs:
|
||||
- POST
|
||||
timeout: 5s
|
||||
cors:
|
||||
enabled: false
|
||||
allowed_origins: []
|
||||
sync_response:
|
||||
status: "200"
|
||||
headers:
|
||||
Content-Type: application/octet-stream
|
||||
output:
|
||||
file:
|
||||
path: /tmp/benthos.txt
|
||||
codec: lines
|
||||
shutdown_delay: 0s
|
||||
shutdown_timeout: 20s
|
15
net/benthos/pkg-descr
Normal file
15
net/benthos/pkg-descr
Normal file
@ -0,0 +1,15 @@
|
||||
Benthos solves common data engineering tasks such as transformations,
|
||||
integrations, and multiplexing with declarative and unit testable
|
||||
configuration. This allows you to easily and incrementally adapt your data
|
||||
pipelines as requirements change, letting you focus on the more exciting stuff.
|
||||
|
||||
It comes armed with a wide range of processors, a lit mapping language,
|
||||
stateless windowed processing capabilities and an industry leading mascot.
|
||||
|
||||
Benthos is able to glue a wide range of sources and sinks together and hook
|
||||
into a variety of databases, caches, HTTP APIs, lambdas and more, enabling you
|
||||
to seamlessly drop it into your existing infrastructure.
|
||||
|
||||
Working with disparate APIs and services can be a daunting task, doubly so in a
|
||||
streaming data context. With Benthos it's possible to break these tasks down
|
||||
and automatically parallelize them as a streaming workflow.
|
Loading…
Reference in New Issue
Block a user