|
@@ -0,0 +1,102 @@
|
|
|
+#!/bin/sh
|
|
|
+
|
|
|
+# PROVIDE: minio
|
|
|
+# KEYWORD: shutdown
|
|
|
+
|
|
|
+#
|
|
|
+# Add the following lines to /etc/rc.conf to enable minio:
|
|
|
+#
|
|
|
+# minio_enable (bool): Set to "NO" by default.
|
|
|
+# Set it to "YES" to enable minio
|
|
|
+# minio_config (path): Set to "/usr/local/etc/minio" by default
|
|
|
+# Set to directory to store minio config (deprecated)
|
|
|
+# minio_certs (path): Set to "/usr/local/etc/minio/certs" by default
|
|
|
+# Set to directory to certs dir
|
|
|
+# minio_disks (path): Set to "/var/db/minio" by default.
|
|
|
+# Set it to directory to store minio data
|
|
|
+# minio_address (str): Set to ":9000" by default.
|
|
|
+# Set it to address for minio to listen on
|
|
|
+# minio_user (str): Set to "minio" by default.
|
|
|
+# Set it to user to run minio under
|
|
|
+# minio_group (str): Set to "minio" by default.
|
|
|
+# Set it to group to run minio under
|
|
|
+# minio_logfile (str): Set to "/var/log/minio.log" by default.
|
|
|
+# Set it to file where stdout/stderr are logged.
|
|
|
+# minio_syslog_enable (bool): Set to YES by default
|
|
|
+# Set it to NO to disable syslog output
|
|
|
+# minio_syslog_tag (str): Set to "minio" by default.
|
|
|
+# Set syslog tag if syslog enabled
|
|
|
+# minio_syslog_priority (str): Set to "info" by default.
|
|
|
+# Set syslog priority if syslog enabled
|
|
|
+# minio_syslog_facility (str): Set to "daemon" by default.
|
|
|
+# Set syslog facility if syslog enabled
|
|
|
+#
|
|
|
+
|
|
|
+. /etc/rc.subr
|
|
|
+
|
|
|
+name=minio
|
|
|
+rcvar=minio_enable
|
|
|
+
|
|
|
+load_rc_config ${name}
|
|
|
+
|
|
|
+: ${minio_enable:="NO"}
|
|
|
+: ${minio_certs="/usr/local/etc/minio/certs"}
|
|
|
+: ${minio_disks="/var/db/minio"}
|
|
|
+: ${minio_address=":9000"}
|
|
|
+: ${minio_user:="minio"}
|
|
|
+: ${minio_group:="minio"}
|
|
|
+: ${minio_syslog_enable:="YES"}
|
|
|
+: ${minio_logfile:="/var/log/minio.log"}
|
|
|
+
|
|
|
+start_precmd="minio_start_precmd"
|
|
|
+
|
|
|
+if checkyesno minio_syslog_enable; then
|
|
|
+ if [ -n "${minio_syslog_tag}" ]; then
|
|
|
+ minio_syslog_output_flags="-T ${minio_syslog_tag}"
|
|
|
+ else
|
|
|
+ minio_syslog_output_flags="-T ${name}"
|
|
|
+ fi
|
|
|
+ if [ -n "${minio_syslog_priority}" ]; then
|
|
|
+ minio_syslog_output_flags="${minio_syslog_output_flags} -s ${minio_syslog_priority}"
|
|
|
+ fi
|
|
|
+ if [ -n "${minio_syslog_facility}" ]; then
|
|
|
+ minio_syslog_output_flags="${minio_syslog_output_flags} -l ${minio_syslog_facility}"
|
|
|
+ fi
|
|
|
+else
|
|
|
+ minio_syslog_output_flags="-o ${minio_logfile}"
|
|
|
+fi
|
|
|
+
|
|
|
+# legacy compatibility
|
|
|
+if [ -n "${minio_config}" ]; then
|
|
|
+ minio_config_flag="-C \"${minio_config}\""
|
|
|
+fi
|
|
|
+
|
|
|
+pidfile="/var/run/${name}.pid"
|
|
|
+procname="/usr/local/bin/minio"
|
|
|
+command="/usr/sbin/daemon"
|
|
|
+command_args="-f -t ${name} ${minio_syslog_output_flags} -p ${pidfile} /usr/bin/env ${minio_env} ${procname} ${minio_config_flag} -S \"${minio_certs}\" --quiet server --address=\"${minio_address}\" ${minio_disks} ${minio_args}"
|
|
|
+
|
|
|
+minio_start_precmd()
|
|
|
+{
|
|
|
+ if [ ! -e "${pidfile}" ]; then
|
|
|
+ install -m 0600 -o "${minio_user}" -g "${minio_group}" /dev/null "${pidfile}"
|
|
|
+ fi
|
|
|
+
|
|
|
+ if echo "${minio_disks}" | egrep -q -v '^[^/]|\.{3}'; then
|
|
|
+ for disk in "${minio_disks}"; do
|
|
|
+ if [ ! -d "${disk}" ]; then
|
|
|
+ install -d -m 0750 -o "${minio_user}" -g "${minio_group}" "${disk}"
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ fi
|
|
|
+
|
|
|
+ if [ -n "${minio_config}" -a ! -d "${minio_config}" ]; then
|
|
|
+ install -d -m 0750 -o "${minio_user}" -g "${minio_group}" "${minio_config}"
|
|
|
+ fi
|
|
|
+
|
|
|
+ if ! checkyesno minio_syslog_enable && [ ! -e "${minio_logfile}" ]; then
|
|
|
+ install -m 0640 -o "${minio_user}" -g "${minio_group}" /dev/null "${minio_logfile}"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+run_rc_command "$1"
|