summaryrefslogtreecommitdiff
path: root/net/toxiproxy-server
diff options
context:
space:
mode:
Diffstat (limited to 'net/toxiproxy-server')
-rw-r--r--net/toxiproxy-server/Makefile30
-rw-r--r--net/toxiproxy-server/distinfo5
-rw-r--r--net/toxiproxy-server/files/toxiproxy-server.in34
-rw-r--r--net/toxiproxy-server/pkg-descr6
4 files changed, 75 insertions, 0 deletions
diff --git a/net/toxiproxy-server/Makefile b/net/toxiproxy-server/Makefile
new file mode 100644
index 000000000000..bc056daa6cb4
--- /dev/null
+++ b/net/toxiproxy-server/Makefile
@@ -0,0 +1,30 @@
+PORTNAME?= toxiproxy-server
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.12.0
+CATEGORIES= net
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT?= TCP proxy to simulate network and system conditions (server)
+WWW= https://github.com/shopify/toxiproxy
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+USE_GITHUB= yes
+GH_ACCOUNT= shopify
+GH_PROJECT= toxiproxy
+
+.if ${PORTNAME} == toxiproxy-server
+USE_RC_SUBR= ${PORTNAME}
+.endif
+
+GO_MOD_DIST= github
+GO_MODULE= github.com/shopify/toxiproxy
+GO_TARGET?= ./cmd/server:${PORTNAME}
+GO_BUILDFLAGS= -ldflags "\
+ -X 'github.com/Shopify/toxiproxy/v2.Version=${DISTVERSION}'"
+
+PLIST_FILES= bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/net/toxiproxy-server/distinfo b/net/toxiproxy-server/distinfo
new file mode 100644
index 000000000000..8e3218b983a7
--- /dev/null
+++ b/net/toxiproxy-server/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1752818561
+SHA256 (go/net_toxiproxy-server/shopify-toxiproxy-v2.12.0_GH0/go.mod) = efe7eee8e60cbef1c8283f1d9becf20e6abf051716e8cd1ed83e88d65d581825
+SIZE (go/net_toxiproxy-server/shopify-toxiproxy-v2.12.0_GH0/go.mod) = 1079
+SHA256 (go/net_toxiproxy-server/shopify-toxiproxy-v2.12.0_GH0/shopify-toxiproxy-v2.12.0_GH0.tar.gz) = 9332a884c559fbcf96cbe2c1b46312eb1e1b7191eb9a73a3d3b857d4e9789eb1
+SIZE (go/net_toxiproxy-server/shopify-toxiproxy-v2.12.0_GH0/shopify-toxiproxy-v2.12.0_GH0.tar.gz) = 73037
diff --git a/net/toxiproxy-server/files/toxiproxy-server.in b/net/toxiproxy-server/files/toxiproxy-server.in
new file mode 100644
index 000000000000..f503424c5934
--- /dev/null
+++ b/net/toxiproxy-server/files/toxiproxy-server.in
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# PROVIDE: toxiproxy_server
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for Toxiproxy in /etc/rc.conf
+#
+# toxiproxy_server_enable (bool): Enable Toxiproxy.
+# toxiproxy_server_log (str): Log output.
+# toxiproxy_server_runas (str): User to run Toxiproxy as.
+# toxiproxy_server_config (str): Toxiproxy configuration file.
+# toxiproxy_server_args (str): Arguments used by Toxiproxy.
+#
+
+. /etc/rc.subr
+
+name="toxiproxy_server"
+desc="TCP proxy to simulate network and system conditions"
+rcvar="${name}_enable"
+
+load_rc_config $name
+
+: ${toxiproxy_server_enable:="NO"}
+: ${toxiproxy_server_config:="%%PREFIX%%/etc/toxiproxy.json"}
+: ${toxiproxy_server_log:="/var/log/toxiproxy-server.log"}
+: ${toxiproxy_server_runas:="nobody"}
+
+pidfile="/var/run/${name}.pid"
+procname="%%LOCALBASE%%/bin/toxiproxy-server"
+command="/usr/sbin/daemon"
+command_args="-u '${toxiproxy_server_runas}' -p '${pidfile}' -t '${desc}' -o '${toxiproxy_server_log}' '${procname}' -config '${toxiproxy_server_config}' ${toxiproxy_server_args}"
+
+run_rc_command "$1"
diff --git a/net/toxiproxy-server/pkg-descr b/net/toxiproxy-server/pkg-descr
new file mode 100644
index 000000000000..e5aab1ff5358
--- /dev/null
+++ b/net/toxiproxy-server/pkg-descr
@@ -0,0 +1,6 @@
+Toxiproxy is a framework for simulating network conditions. It's
+made specifically to work in testing, CI and development environments,
+supporting deterministic tampering with connections, but with support
+for randomized chaos and customization. Toxiproxy is the tool you
+need to prove with tests that your application doesn't have single
+points of failure.