textproc/opensearch*: Preparing for major update of opensearch ports

- Now opensearch216 and opensearch-dashboards216 are master ports.
  opensearch and opensearch-dashboards can be updated to 3.0 without
  issues with slave ports

With hat:       opensearch
PR:		286647 286648
This commit is contained in:
Jose Alonso Cardenas Marquez
2025-05-09 14:17:15 -07:00
parent 3f22dbf6d3
commit 812aa75d17
16 changed files with 520 additions and 26 deletions
+4 -2
View File
@@ -1,13 +1,15 @@
DISTVERSION= 2.10.0
PORTREVISION= 1
PKGNAMESUFFIX= 210
COMMENT= Visualization dashboards for OpenSearch
CONFLICTS= opensearch-dashboards
CONFLICTS= opensearch-dashboards opensearch-dashboards213 opensearch-dashboards216
DISTINFO_FILE= ${.CURDIR}/distinfo
MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards216
.include "${MASTERDIR}/Makefile"
+3 -1
View File
@@ -1,5 +1,7 @@
DISTVERSION= 2.13.0
PORTREVISION= 1
PKGNAMESUFFIX= 213
COMMENT= Visualization dashboards for OpenSearch
@@ -8,6 +10,6 @@ CONFLICTS= opensearch-dashboards opensearch-dashboards210
DISTINFO_FILE= ${.CURDIR}/distinfo
MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards216
.include "${MASTERDIR}/Makefile"
+74 -9
View File
@@ -1,16 +1,81 @@
DISTVERSION= 2.16.0
PORTNAME= opensearch-dashboards
DISTVERSION?= 2.16.0
PORTREVISION?= 0
DISTVERSIONSUFFIX= -linux-x64
CATEGORIES= textproc www
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
PORTREVISION= 0
MAINTAINER= opensearch@FreeBSD.org
COMMENT?= Visualization dashboards for OpenSearch
WWW= https://opensearch.org
PKGNAMESUFFIX= 216
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
COMMENT= Visualization dashboards for OpenSearch
CONFLICTS?= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213
CONFLICTS= opensearch-dashboards opensearch-dashboards210 \
opensearch-dashboards213
BUILD_DEPENDS= npm-node18>0:www/npm-node18
DISTINFO_FILE= ${.CURDIR}/distinfo
USES= nodejs:18,build,run python:build
USE_RC_SUBR= ${PORTNAME}
MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
SUB_FILES= pkg-deinstall
SUB_LIST= PORTNAME="${PORTNAME}" \
PKGNAMESUFFIX="${PKGNAMESUFFIX}" \
WWWDIR=${WWWDIR}
.include "${MASTERDIR}/Makefile"
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
NODE_VER= 18.18.0
NO_BUILD= yes
_DEVDIR= ${WRKDIR}/.devdir
post-patch:
@${REINPLACE_CMD} -e 's|14.20.1|${NODE_VER}|g' ${WRKSRC}/package.json
${RM} \
${WRKSRC}/bin/*.orig \
${WRKSRC}/bin/*.bak \
${WRKSRC}/package.json.bak
${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium
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})
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}
${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/__test__" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/repository/__test__" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Alerts/components/AlertFlyout" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/CreateDetector/components/ConfigureAlerts/components/AlertCondition" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/AlertTriggerView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorBasicDetailsView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorRulesView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/FieldMappingsView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateAlertConditions" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorBasicDetails" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorRules" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateFieldMappings" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/AlertTriggersView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetails" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetailsView" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/Detectors" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/EditFieldMappings" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/DeleteModal" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RuleEditor/components" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RulesTable" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/securityDashboards/server/multitenancy/test" >> ${TMPPLIST}
.include <bsd.port.mk>
+1 -1
View File
@@ -1,3 +1,3 @@
TIMESTAMP = 1736652284
TIMESTAMP = 1746825057
SHA256 (opensearch-dashboards-2.16.0-linux-x64.tar.gz) = e3ebdd00c21cf7508609c93bfca5aa3d99b66a2681add231af38383bed33d12a
SIZE (opensearch-dashboards-2.16.0-linux-x64.tar.gz) = 327600245
@@ -0,0 +1,79 @@
#!/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} %%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,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
@@ -0,0 +1,3 @@
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.
+2 -2
View File
@@ -1,5 +1,5 @@
DISTVERSION= 2.10.0
PORTREVISION= 1
PORTREVISION= 2
PKGNAMESUFFIX= 210
@@ -9,6 +9,6 @@ CONFLICTS= opensearch13 opensearch
DISTINFO_FILE= ${.CURDIR}/distinfo
MASTERDIR= ${.CURDIR}/../../textproc/opensearch
MASTERDIR= ${.CURDIR}/../../textproc/opensearch216
.include "${MASTERDIR}/Makefile"
+4 -2
View File
@@ -1,13 +1,15 @@
DISTVERSION= 2.13.0
PORTREVISION= 1
PKGNAMESUFFIX= 213
COMMENT= Full-text search engine for Java
CONFLICTS= opensearch13 opensearch210
CONFLICTS= opensearch opensearch13 opensearch210
DISTINFO_FILE= ${.CURDIR}/distinfo
MASTERDIR= ${.CURDIR}/../../textproc/opensearch
MASTERDIR= ${.CURDIR}/../../textproc/opensearch216
.include "${MASTERDIR}/Makefile"
+147 -8
View File
@@ -1,15 +1,154 @@
DISTVERSION= 2.16.0
PORTNAME= opensearch
DISTVERSION?= 2.16.0
PORTREVISION?= 0
DISTVERSIONSUFFIX= -linux-x64
CATEGORIES= textproc java devel
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
PKGNAMESUFFIX?= 216
PORTREVISION= 0
MAINTAINER= opensearch@FreeBSD.org
COMMENT?= Full-text search engine for Java
WWW= https://opensearch.org
PKGNAMESUFFIX= 216
LICENSE= APACHE20
COMMENT= Full-text search engine for Java
BUILD_DEPENDS= jna>0:devel/jna
RUN_DEPENDS= bash>0:shells/bash \
jna>0:devel/jna
CONFLICTS= opensearch opensearch13 opensearch210 opensearch213
CONFLICTS?= opensearch opensearch13 opensearch210 opensearch213
DISTINFO_FILE= ${.CURDIR}/distinfo
USES= cpe java shebangfix
JAVA_VERSION= 17+
USE_RC_SUBR= ${PORTNAME}
MASTERDIR= ${.CURDIR}/../../textproc/opensearch
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 \
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
.include "${MASTERDIR}/Makefile"
NO_BUILD= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
OPTIONS_DEFINE= PLUGINS
OPTIONS_DEFAULT=PLUGINS
.include <bsd.port.options.mk>
CONFIG_FILES= opensearch.yml jvm.options log4j2.properties
PLUGINS_CONFIG_FILES?= \
opensearch-notifications-core/notifications-core.yml \
opensearch-notifications/notifications.yml \
opensearch-observability/observability.yml
.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
PLUGINS_CONFIG_FILES+= \
opensearch-performance-analyzer/agent-stats-metadata \
opensearch-performance-analyzer/log4j2.xml \
opensearch-performance-analyzer/opensearch_security.policy \
opensearch-performance-analyzer/performance-analyzer.properties \
opensearch-performance-analyzer/plugin-stats-metadata \
opensearch-performance-analyzer/rca.conf \
opensearch-performance-analyzer/rca_idle_cluster_manager.conf \
opensearch-performance-analyzer/rca_cluster_manager.conf \
opensearch-performance-analyzer/supervisord.conf
.endif
PLUGINS_CONFIG_FILES+= \
opensearch-reports-scheduler/reports-scheduler.yml \
opensearch-security/action_groups.yml \
opensearch-security/allowlist.yml \
opensearch-security/audit.yml \
opensearch-security/config.yml \
opensearch-security/internal_users.yml \
opensearch-security/nodes_dn.yml \
opensearch-security/roles.yml \
opensearch-security/roles_mapping.yml \
opensearch-security/tenants.yml \
opensearch-security/whitelist.yml
# Upstream provide some *.example files. These are also copied as sample filse
# but we do not register them as @sample to avoid installing filse that needs
# to be tuned a site specific way.
PLUGINS_SAMPLE_CONFIG_FILES= \
opensearch-security/opensearch.yml
BINS= opensearch opensearch-cli opensearch-env \
opensearch-env-from-file opensearch-keystore \
opensearch-node opensearch-plugin \
opensearch-shard
SEARCHUSER?= opensearch
SEARCHGROUP?= ${SEARCHUSER}
USERS= ${SEARCHUSER}
GROUPS= ${SEARCHGROUP}
SUB_FILES= pkg-message
SUB_LIST= ETCDIR=${ETCDIR} \
JAVA_HOME=${JAVA_HOME}
post-patch:
${RM} ${WRKSRC}/lib/jna-*.jar
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/opensearch
.for f in ${CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
.endfor
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
.for f in ${BINS}
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
.endfor
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/extensions
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/lib
(cd ${WRKSRC}/ && ${COPYTREE_SHARE} "lib modules" ${STAGEDIR}${PREFIX}/lib/opensearch/)
${MKDIR} ${STAGEDIR}${PREFIX}/libexec/opensearch
${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/config
${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/opensearch/lib/jna.jar
do-install-PLUGINS-on:
${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-notifications-core \
${STAGEDIR}${ETCDIR}/opensearch-notifications \
${STAGEDIR}${ETCDIR}/opensearch-observability \
${STAGEDIR}${ETCDIR}/opensearch-reports-scheduler \
${STAGEDIR}${ETCDIR}/opensearch-security
.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-performance-analyzer
.endif
.for f in ${PLUGINS_CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
.for f in ${PLUGINS_SAMPLE_CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f}.example ${STAGEDIR}${ETCDIR}/${f}.sample
${ECHO} "@(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
(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}
${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
${FIND} -s ${STAGEDIR}${PREFIX}/lib/opensearch -not -type d | ${SORT} | \
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
${ECHO} "@dir lib/opensearch/extensions" >> ${TMPPLIST}
${ECHO} "@dir libexec/opensearch" >> ${TMPPLIST}
.if ${PORT_OPTIONS:MPLUGINS}
${ECHO} "@dir lib/opensearch/plugins" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications-core" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-observability" >> ${TMPPLIST}
.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-performance-analyzer" >> ${TMPPLIST}
.endif
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-reports-scheduler" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-security" >> ${TMPPLIST}
.endif
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/" >> ${TMPPLIST}
.include <bsd.port.mk>
+1 -1
View File
@@ -1,3 +1,3 @@
TIMESTAMP = 1736652867
TIMESTAMP = 1746824840
SHA256 (opensearch-2.16.0-linux-x64.tar.gz) = ed0bb23499d38a0e3bd88f8b975b215a643662858500ac05630e292be06f65b2
SIZE (opensearch-2.16.0-linux-x64.tar.gz) = 904196816
+115
View File
@@ -0,0 +1,115 @@
#!/bin/sh
# PROVIDE: opensearch
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable opensearch:
#
# opensearch_enable="YES"
#
# opensearch_user (username): Set to opensearch by default.
# Set it to required username.
# opensearch_group (group): Set to opensearch by default.
# Set it to required group.
# opensearch_config (path): Set to %%PREFIX%%/etc/opensearch/opensearch.yml by default.
# Set it to the config file location.
# opensearch_java_home (path): Set to %%JAVA_HOME%% by default.
# Set it to the root of the JDK to use.
#
. /etc/rc.subr
name=opensearch
rcvar=opensearch_enable
load_rc_config ${name}
: ${opensearch_enable:=NO}
: ${opensearch_user=opensearch}
: ${opensearch_group=opensearch}
: ${opensearch_config=%%PREFIX%%/etc/opensearch}
: ${opensearch_login_class=root}
: ${opensearch_java_home="%%JAVA_HOME%%"}
required_files="${opensearch_config}/opensearch.yml"
_pidprefix=/var/run/opensearch/opensearch
pidfile=${_pidprefix}.pid
procname=${opensearch_java_home}/bin/java
extra_commands="console status"
console_cmd=opensearch_console
start_precmd=opensearch_precmd
command=%%PREFIX%%/lib/opensearch/bin/opensearch
command_args="-d --pidfile=${pidfile}"
export OPENSEARCH_PATH_CONF=${opensearch_config}
export JAVA_HOME=${opensearch_java_home}
opensearch_precmd()
{
/usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 ${pidfile%/*}
/usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/db/opensearch
/usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/log/opensearch
}
opensearch_console()
{
command_args=""
run_rc_command "start"
}
if [ -n "$2" ]; then
profile="$2"
if [ "x${opensearch_profiles}" != "x" ]; then
eval opensearch_config="\${opensearch_${profile}_config:-}"
if [ "x${opensearch_config}" = "x" ]; then
echo "You must define a configuration (opensearch_${profile}_config)"
exit 1
fi
export OPENSEARCH_PATH_CONF=${opensearch_config}
required_files="${opensearch_config}/opensearch.yml"
required_files="${opensearch_config}/jvm.options"
eval opensearch_enable="\${opensearch_${profile}_enable:-${opensearch_enable}}"
pidfile="${_pidprefix}.${profile}.pid"
command_args="-d --pidfile=${pidfile}"
echo "===> opensearch profile: ${profile}"
else
echo "$0: extra argument ignored"
fi
else
if [ "x${opensearch_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${opensearch_profiles}; do
eval _enable="\${opensearch_${profile}_enable}"
case "x${_enable:-${opensearch_enable}}" in
x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
continue
;;
x[Yy][Ee][Ss])
;;
*)
if test -z "$_enable"; then
_var=opensearch_enable
else
_var=opensearch_"${profile}"_enable
fi
echo "Bad value" \
"'${_enable:-${opensearch_enable}}'" \
"for ${_var}. " \
"Profile ${profile} skipped."
continue
;;
esac
%%PREFIX%%/etc/rc.d/opensearch $1 ${profile}
retcode="$?"
if [ "0${retcode}" -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
run_rc_command "$1"
@@ -0,0 +1,23 @@
--- config/jvm.options.orig 2021-07-30 14:01:34 UTC
+++ config/jvm.options
@@ -61,17 +61,17 @@
-XX:HeapDumpPath=data
# specify an alternative path for JVM fatal error logs
--XX:ErrorFile=logs/hs_err_pid%p.log
+-XX:ErrorFile=/hs_err_pid%p.log
## JDK 8 GC logging
8:-XX:+PrintGCDetails
8:-XX:+PrintGCDateStamps
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime
-8:-Xloggc:logs/gc.log
+8:-Xloggc:${OPENSEARCH_TMPDIR}/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m
# JDK 9+ GC logging
-9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
+9-:-Xlog:gc*,gc+age=trace,safepoint:file=${OPENSEARCH_TMPDIR}/gc.log:utctime,pid,tags:filecount=32,filesize=64m
@@ -0,0 +1,15 @@
--- config/opensearch.yml.orig 2021-07-02 23:22:08 UTC
+++ config/opensearch.yml
@@ -31,10 +31,12 @@
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
+path.data: /var/db/opensearch
#
# Path to log files:
#
#path.logs: /path/to/logs
+path.logs: /var/log/opensearch
#
# ----------------------------------- Memory -----------------------------------
#
@@ -0,0 +1,27 @@
[
{ type: install
message: <<EOM
Opensearch was installed
Please see %%ETCDIR%% for a sample version of
opensearch.yml.
OpenSearch requires memory locking of large amounts of RAM.
You may need to set:
sysctl security.bsd.unprivileged_mlock=1
When running within a jail, it's highly advisable to set:
enforce_statfs = 1
for the jail running opensearch instance.
If OpenSearch was built with the PLUGINS option enabled (default) it will not
start until the security plugin is properly configured. Please refer to the
OpenSearch documentation for setting-up TLS:
https://opensearch.org/docs/security-plugin/configuration/tls
EOM
}
]
+2
View File
@@ -0,0 +1,2 @@
OpenSearch is a fork of Elasticsearch which aims to be a Distributed,
RESTful, Search Engine built on top of Apache Lucene.