mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
textproc/opensearch-dashboards: New port
OpenSearch Dashboards is the default visualization tool for data in OpenSearch. It also serves as a user interface for many of the OpenSearch plugins, including security, alerting, Index State Management, SQL, and more. WWW: http://opensearch.org With hat: opensearch
This commit is contained in:
parent
7fe660d747
commit
19e156d514
75
textproc/opensearch-dashboards/Makefile
Normal file
75
textproc/opensearch-dashboards/Makefile
Normal file
@ -0,0 +1,75 @@
|
||||
PORTNAME= opensearch-dashboards
|
||||
DISTVERSION= 1.0.1
|
||||
DISTVERSIONSUFFIX= -linux-x64
|
||||
CATEGORIES= textproc www
|
||||
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
|
||||
|
||||
MAINTAINER= opensearch@FreeBSD.org
|
||||
COMMENT= Visualization dashboards for OpenSearch
|
||||
|
||||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
|
||||
|
||||
BUILD_DEPENDS= node14>=14.17.0:www/node14 \
|
||||
npm-node14>0:www/npm-node14
|
||||
RUN_DEPENDS= node14>=14.17.0:www/node14
|
||||
|
||||
USES= python:build
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
||||
|
||||
_DEVDIR= ${WRKDIR}/.devdir
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' -e 's|%%LOCALBASE%%|${LOCALBASE}|' -e 's|%%WRKSRC%%|${WRKSRC}|' \
|
||||
${WRKSRC}/bin/opensearch-dashboards \
|
||||
${WRKSRC}/bin/opensearch-dashboards-keystore \
|
||||
${WRKSRC}/bin/opensearch-dashboards-plugin \
|
||||
${WRKSRC}/node_modules/re2/binding.gyp \
|
||||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js
|
||||
${RM} \
|
||||
${WRKSRC}/bin/*.orig \
|
||||
${WRKSRC}/bin/*.bak \
|
||||
${WRKSRC}/node_modules/re2/binding.gyp.orig \
|
||||
${WRKSRC}/node_modules/re2/binding.gyp.bak \
|
||||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.orig \
|
||||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.bak
|
||||
${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium
|
||||
|
||||
do-configure:
|
||||
(cd ${WRKSRC}/node_modules/re2 && \
|
||||
${SETENV} HOME=${WRKDIR} \
|
||||
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure \
|
||||
--python=${PYTHON_CMD} \
|
||||
--nodedir ${LOCALBASE} \
|
||||
--devdir=${_DEVDIR})
|
||||
|
||||
do-build:
|
||||
(cd ${WRKSRC}/node_modules/re2 && \
|
||||
${SETENV} HOME=${WRKDIR} \
|
||||
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build \
|
||||
--devdir=${_DEVDIR})
|
||||
${RM} -r ${WRKSRC}/node_modules/re2/build/Release/.deps \
|
||||
${WRKSRC}/node_modules/re2/build/Release/obj.target
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/config/opensearch_dashboards.yml ${STAGEDIR}${ETCDIR}/opensearch_dashboards.yml.sample
|
||||
(cd ${WRKSRC} && \
|
||||
${COPYTREE_SHARE} "data node_modules package.json plugins src" ${STAGEDIR}${WWWDIR} && \
|
||||
${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR})
|
||||
${STRIP_CMD} ${STAGEDIR}${WWWDIR}/node_modules/re2/build/Release/re2.node
|
||||
|
||||
post-install:
|
||||
${ECHO} "@sample ${ETCDIR}/opensearch_dashboards.yml.sample" >> ${TMPPLIST}
|
||||
${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
|
||||
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
|
||||
${ECHO} "@dir(www,www) ${WWWDIR}/data" >> ${TMPPLIST}
|
||||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/legacy" >> ${TMPPLIST}
|
||||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/fixed" >> ${TMPPLIST}
|
||||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/dynamic" >> ${TMPPLIST}
|
||||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/fixed" >> ${TMPPLIST}
|
||||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/dynamic" >> ${TMPPLIST}
|
||||
|
||||
.include <bsd.port.mk>
|
3
textproc/opensearch-dashboards/distinfo
Normal file
3
textproc/opensearch-dashboards/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1630974509
|
||||
SHA256 (opensearch-dashboards-1.0.1-linux-x64.tar.gz) = 2ed7dac6d98dbf0bdeb04c21197ee12cef731a3ab5a549b633f708111122d9ee
|
||||
SIZE (opensearch-dashboards-1.0.1-linux-x64.tar.gz) = 203017916
|
@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PROVIDE: opensearch_dashboards
|
||||
# REQUIRE: DAEMON
|
||||
# BEFORE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name=opensearch_dashboards
|
||||
rcvar=opensearch_dashboards_enable
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${opensearch_dashboards_enable:="NO"}
|
||||
: ${opensearch_dashboards_config:="%%ETCDIR%%/opensearch_dashboards.yml"}
|
||||
: ${opensearch_dashboards_user:="www"}
|
||||
: ${opensearch_dashboards_group:="www"}
|
||||
: ${opensearch_dashboards_log:="/var/log/opensearch_dashboards.log"}
|
||||
: ${opensearch_dashboards_syslog_output_enable:="NO"}
|
||||
|
||||
start_precmd="opensearch_dashboards_start_precmd"
|
||||
reload_cmd="opensearch_dashboards_reload_cmd"
|
||||
extra_commands="reload"
|
||||
|
||||
if checkyesno opensearch_dashboards_syslog_output_enable; then
|
||||
if [ -n "${opensearch_dashboards_syslog_output_tag}" ]; then
|
||||
opensearch_dashboards_syslog_output_flags="-T ${opensearch_dashboards_syslog_output_tag}"
|
||||
else
|
||||
opensearch_dashboards_syslog_output_flags="-T ${name}"
|
||||
fi
|
||||
if [ -n "${opensearch_dashboards_syslog_output_priority}" ]; then
|
||||
opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -s ${opensearch_dashboards_syslog_output_priority}"
|
||||
fi
|
||||
if [ -n "${opensearch_dashboards_syslog_output_facility}" ]; then
|
||||
opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -l ${opensearch_dashboards_syslog_output_facility}"
|
||||
fi
|
||||
fi
|
||||
|
||||
NODE="%%LOCALBASE%%/bin/node"
|
||||
|
||||
required_files="${opensearch_dashboards_config}"
|
||||
pidfile="/var/run/${name}.pid"
|
||||
|
||||
command="/usr/sbin/daemon"
|
||||
command_args="-f ${opensearch_dashboards_syslog_output_flags} -P ${pidfile} -t ${name} \
|
||||
/usr/bin/env NODE_ENV=production ${opensearch_dashboards_env} \
|
||||
${NODE} --no-warnings --max-http-header-size=65536 \
|
||||
%%WWWDIR%%/src/cli/dist serve \
|
||||
--config ${opensearch_dashboards_config} --log-file ${opensearch_dashboards_log} \
|
||||
${opensearch_dashboards_args}"
|
||||
|
||||
opensearch_dashboards_start_precmd()
|
||||
{
|
||||
if [ ! -e "${pidfile}" ]; then
|
||||
install -m 0600 -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} /dev/null ${pidfile}
|
||||
fi
|
||||
if [ ! -f ${opensearch_dashboards_log} ]; then
|
||||
install -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} -m 640 /dev/null ${opensearch_dashboards_log}
|
||||
fi
|
||||
if [ ! -d %%WWWDIR%%/optimize ]; then
|
||||
install -d -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} %%WWWDIR%%/optimize
|
||||
else
|
||||
# We may have installed a plugin as root which will cause files in here
|
||||
# to be owned by root:wheel. Fix with a chown.
|
||||
chown -R ${opensearch_dashboards_user}:${opensearch_dashboards_group} %%WWWDIR%%/optimize
|
||||
fi
|
||||
}
|
||||
|
||||
opensearch_dashboards_reload_cmd()
|
||||
{
|
||||
if [ -z "$rc_pid" ]; then
|
||||
_run_rc_notrunning
|
||||
return 1
|
||||
else
|
||||
pkill -HUP -P ${rc_pid}
|
||||
fi
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
@ -0,0 +1,13 @@
|
||||
--- bin/opensearch-dashboards.orig 2021-07-02 23:30:56 UTC
|
||||
+++ bin/opensearch-dashboards
|
||||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do
|
||||
done
|
||||
|
||||
DIR="$(dirname "${SCRIPT}")/.."
|
||||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"}
|
||||
-NODE="${DIR}/node/bin/node"
|
||||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards"
|
||||
+NODE="%%LOCALBASE%%/bin/node"
|
||||
test -x "$NODE"
|
||||
if [ ! -x "$NODE" ]; then
|
||||
echo "unable to find usable node.js executable."
|
@ -0,0 +1,13 @@
|
||||
--- bin/opensearch-dashboards-keystore.orig 2021-07-02 23:30:56 UTC
|
||||
+++ bin/opensearch-dashboards-keystore
|
||||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do
|
||||
done
|
||||
|
||||
DIR="$(dirname "${SCRIPT}")/.."
|
||||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"}
|
||||
-NODE="${DIR}/node/bin/node"
|
||||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards"
|
||||
+NODE="%%LOCALBASE%%/bin/node"
|
||||
test -x "$NODE"
|
||||
if [ ! -x "$NODE" ]; then
|
||||
echo "unable to find usable node.js executable."
|
@ -0,0 +1,13 @@
|
||||
--- bin/opensearch-dashboards-plugin.orig 2021-07-02 23:30:56 UTC
|
||||
+++ bin/opensearch-dashboards-plugin
|
||||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do
|
||||
done
|
||||
|
||||
DIR="$(dirname "${SCRIPT}")/.."
|
||||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"}
|
||||
-NODE="${DIR}/node/bin/node"
|
||||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards"
|
||||
+NODE="%%LOCALBASE%%/bin/node"
|
||||
test -x "$NODE"
|
||||
if [ ! -x "$NODE" ]; then
|
||||
echo "unable to find usable node.js executable."
|
@ -0,0 +1,21 @@
|
||||
--- node_modules/re2/binding.gyp.orig 2021-07-02 23:30:56 UTC
|
||||
+++ node_modules/re2/binding.gyp
|
||||
@@ -45,7 +45,7 @@
|
||||
"-Wno-sign-compare",
|
||||
"-Wno-unused-parameter",
|
||||
"-Wno-missing-field-initializers",
|
||||
- "-Wno-cast-function-type",
|
||||
+ "-Wno-bad-function-cast",
|
||||
"-O3",
|
||||
"-g"
|
||||
],
|
||||
@@ -54,7 +54,8 @@
|
||||
"NOMINMAX"
|
||||
],
|
||||
"include_dirs": [
|
||||
- "<!(node -e \"require('nan')\")",
|
||||
+ "%%WRKSRC%%/node_modules/nan",
|
||||
+ "%%LOCALBASE%%/include",
|
||||
"vendor"
|
||||
],
|
||||
"xcode_settings": {
|
@ -0,0 +1,11 @@
|
||||
--- plugins/reportsDashboards/server/routes/utils/constants.js.orig 2021-09-16 00:07:34 UTC
|
||||
+++ plugins/reportsDashboards/server/routes/utils/constants.js
|
||||
@@ -130,7 +130,7 @@ const SECURITY_CONSTANTS = {
|
||||
PROXY_AUTH_IP_HEADER: 'x-forwarded-for'
|
||||
};
|
||||
exports.SECURITY_CONSTANTS = SECURITY_CONSTANTS;
|
||||
-const CHROMIUM_PATH = `${__dirname}/../../../.chromium/headless_shell`;
|
||||
+const CHROMIUM_PATH = '%%LOCALBASE%%/bin/chrome';
|
||||
/**
|
||||
* Metric constants
|
||||
*/
|
@ -0,0 +1,18 @@
|
||||
--- src/setup_node_env/node_version_validator.js.orig 2021-09-07 03:05:30 UTC
|
||||
+++ src/setup_node_env/node_version_validator.js
|
||||
@@ -38,11 +38,11 @@ var pkg = require('../../package.json'); // Note: This
|
||||
var currentVersion = process && process.version || null;
|
||||
var rawRequiredVersion = pkg && pkg.engines && pkg.engines.node || null;
|
||||
var requiredVersion = rawRequiredVersion ? 'v' + rawRequiredVersion : rawRequiredVersion;
|
||||
-var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion === requiredVersion; // Validates current the NodeJS version compatibility when OpenSearch Dashboards starts.
|
||||
+var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion >= requiredVersion; // Validates current the NodeJS version compatibility when OpenSearch Dashboards starts.
|
||||
|
||||
if (!isVersionValid) {
|
||||
- var errorMessage = 'OpenSearch Dashboards does not support the current Node.js version ' + currentVersion + '. Please use Node.js ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit.
|
||||
+ var errorMessage = 'OpenSearch Dashboards does not support the current Node.js version ' + currentVersion + '. Please use Node.js >= ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit.
|
||||
|
||||
console.error(errorMessage);
|
||||
process.exit(1);
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
20
textproc/opensearch-dashboards/files/pkg-deinstall.in
Normal file
20
textproc/opensearch-dashboards/files/pkg-deinstall.in
Normal file
@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$2" in
|
||||
POST-DEINSTALL)
|
||||
if [ -d %%WWWDIR%%/optimize ]; then
|
||||
/usr/bin/find %%WWWDIR%%/optimize/ -delete
|
||||
fi
|
||||
|
||||
cat <<EOMSG
|
||||
|
||||
If %%PORTNAME%%%%PKGNAMESUFFIX%% is being deleted permanently, and you do not wish to keep any
|
||||
data that was in the cluster, then you may wish to delete the
|
||||
%%WWWDIR%% directory. This can be done by with the command:
|
||||
|
||||
# rm -rf %%WWWDIR%%
|
||||
|
||||
Please ignore this if %%PORTNAME%%%%PKGNAMESUFFIX%% is being upgraded
|
||||
EOMSG
|
||||
;;
|
||||
esac
|
5
textproc/opensearch-dashboards/pkg-descr
Normal file
5
textproc/opensearch-dashboards/pkg-descr
Normal file
@ -0,0 +1,5 @@
|
||||
OpenSearch Dashboards is the default visualization tool for data in OpenSearch.
|
||||
It also serves as a user interface for many of the OpenSearch plugins,
|
||||
including security, alerting, Index State Management, SQL, and more.
|
||||
|
||||
WWW: http://opensearch.org
|
@ -24,7 +24,11 @@ SHEBANG_FILES= bin/opensearch bin/opensearch-cli \
|
||||
bin/opensearch-env bin/opensearch-env-from-file \
|
||||
bin/opensearch-keystore bin/opensearch-node \
|
||||
bin/opensearch-plugin bin/opensearch-shard \
|
||||
bin/performance-analyzer-agent-cli
|
||||
bin/performance-analyzer-agent-cli \
|
||||
plugins/opensearch-security/tools/audit_config_migrater.sh \
|
||||
plugins/opensearch-security/tools/hash.sh \
|
||||
plugins/opensearch-security/tools/install_demo_configuration.sh \
|
||||
plugins/opensearch-security/tools/securityadmin.sh
|
||||
|
||||
NO_BUILD= yes
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
||||
@ -70,6 +74,7 @@ do-install:
|
||||
|
||||
do-install-PLUGINS-on:
|
||||
(cd ${WRKSRC}/ && ${COPYTREE_SHARE} "plugins" ${STAGEDIR}${PREFIX}/lib/opensearch/)
|
||||
(cd ${WRKSRC}/plugins/opensearch-security/tools && ${COPYTREE_BIN} "*.sh" ${STAGEDIR}${PREFIX}/lib/opensearch/plugins/opensearch-security/tools)
|
||||
|
||||
post-install:
|
||||
.for f in ${CONFIG_FILES}
|
||||
|
Loading…
Reference in New Issue
Block a user