|
| 1 | +{% from "vault/map.jinja" import vault with context -%} |
| 2 | +#!/bin/sh |
| 3 | + |
| 4 | +# PROVIDE: vault |
| 5 | +# REQUIRE: DAEMON |
| 6 | +# KEYWORD: shutdown |
| 7 | +# |
| 8 | +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf |
| 9 | +# to enable this service: |
| 10 | +# |
| 11 | +# vault_enable (bool):boolSet it to YES to enable vault. |
| 12 | +#toDefault is "NO". |
| 13 | +# vault_user (user):userSet user to run vault. |
| 14 | +#toDefault is "vault". |
| 15 | +# vault_group (group):groupSet group to run vault. |
| 16 | +#toDefault is "vault". |
| 17 | +# vault_config (dir):dirSet vault config file. |
| 18 | +#vaultDefault is "/usr/local/etc/vault/conf.d/vault.json". |
| 19 | +# vault_syslog_output_enable (bool):boolSet to enable syslog output. |
| 20 | +#boolSetDefault is "NO". See daemon(8). |
| 21 | +# vault_syslog_output_priority (str):strSet syslog priority if syslog enabled. |
| 22 | +#strSetDefault is "info". See daemon(8). |
| 23 | +# vault_syslog_output_facility (str):strSet syslog facility if syslog enabled. |
| 24 | +#strSetDefault is "daemon". See daemon(8). |
| 25 | + |
| 26 | +. /etc/rc.subr |
| 27 | + |
| 28 | +name=vault |
| 29 | +rcvar=vault_enable |
| 30 | + |
| 31 | +load_rc_config $name |
| 32 | + |
| 33 | +: ${vault_enable:="NO"} |
| 34 | +: ${vault_user:="vault"} |
| 35 | +: ${vault_group:="vault"} |
| 36 | +: ${vault_config:="{{ vault.config_path }}/vault/conf.d/config.json"} |
| 37 | +: ${vault_env:="HOME=/var/lib/vault"} |
| 38 | + |
| 39 | +DAEMON=$(/usr/sbin/daemon 2>&1 | grep -q syslog ; echo $?) |
| 40 | +if [ ${DAEMON} -eq 0 ]; then |
| 41 | +: ${vault_syslog_output_enable:="NO"} |
| 42 | +: ${vault_syslog_output_priority:="info"} |
| 43 | +: ${vault_syslog_output_facility:="daemon"} |
| 44 | +if checkyesno vault_syslog_output_enable; then |
| 45 | + vault_syslog_output_flags="-t ${name} -T ${name}" |
| 46 | + |
| 47 | + if [ -n "${vault_syslog_output_priority}" ]; then |
| 48 | + vault_syslog_output_flags="${vault_syslog_output_flags} -s ${vault_syslog_output_priority}" |
| 49 | + fi |
| 50 | + |
| 51 | + if [ -n "${vault_syslog_output_facility}" ]; then |
| 52 | + vault_syslog_output_flags="${vault_syslog_output_flags} -l ${vault_syslog_output_facility}" |
| 53 | + fi |
| 54 | +fi |
| 55 | +else |
| 56 | + vault_syslog_output_enable="NO" |
| 57 | + vault_syslog_output_flags="" |
| 58 | +fi |
| 59 | + |
| 60 | +pidfile=/var/run/vault.pid |
| 61 | +procname="/usr/local/bin/vault" |
| 62 | +command="/usr/sbin/daemon" |
| 63 | +command_args="-f ${vault_syslog_output_flags} -p ${pidfile} /usr/bin/env ${vault_env} ${procname} server {% if vault.dev_mode %} -dev {% else %} -config=${vault_config} {% endif %}" |
| 64 | + |
| 65 | +extra_commands="reload monitor" |
| 66 | +monitor_cmd=vault_monitor |
| 67 | +start_precmd=vault_startprecmd |
| 68 | +{% if not vault.dev_mode %} |
| 69 | +required_files="$vault_config" |
| 70 | +{% endif %} |
| 71 | + |
| 72 | +vault_monitor() |
| 73 | +{ |
| 74 | + sig_reload=USR1 |
| 75 | + run_rc_command "reload" |
| 76 | +} |
| 77 | + |
| 78 | +vault_startprecmd() |
| 79 | +{ |
| 80 | + if [ ! -e ${pidfile} ]; then |
| 81 | + install -o ${vault_user} -g ${vault_group} /dev/null ${pidfile}; |
| 82 | + fi |
| 83 | + |
| 84 | + if [ ! -d ${vault_dir} ]; then |
| 85 | + install -d -o ${vault_user} -g ${vault_group} ${vault_dir} |
| 86 | + fi |
| 87 | +} |
| 88 | + |
| 89 | +run_rc_command "$1" |
0 commit comments