2017-11-28 20:00:32 -05:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
|
|
# this work for additional information regarding copyright ownership.
|
|
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
# (the "License"); you may not use this file except in compliance with
|
|
|
|
# the License. You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
2017-11-28 20:00:32 -05:00
|
|
|
scripts_dir='/opt/nifi/scripts'
|
|
|
|
|
|
|
|
[ -f "${scripts_dir}/common.sh" ] && . "${scripts_dir}/common.sh"
|
2017-11-28 20:00:32 -05:00
|
|
|
|
|
|
|
# Establish baseline properties
|
2018-01-28 13:23:58 -05:00
|
|
|
prop_replace 'nifi.web.http.port' "${NIFI_WEB_HTTP_PORT:-8080}"
|
|
|
|
prop_replace 'nifi.web.http.host' "${NIFI_WEB_HTTP_HOST:-$HOSTNAME}"
|
|
|
|
prop_replace 'nifi.remote.input.host' "${NIFI_REMOTE_INPUT_HOST:-$HOSTNAME}"
|
|
|
|
prop_replace 'nifi.remote.input.socket.port' "${NIFI_REMOTE_INPUT_SOCKET_PORT:-10000}"
|
2017-11-28 20:00:32 -05:00
|
|
|
prop_replace 'nifi.remote.input.secure' 'false'
|
2017-11-28 20:00:32 -05:00
|
|
|
|
|
|
|
# Check if we are secured or unsecured
|
|
|
|
case ${AUTH} in
|
|
|
|
tls)
|
|
|
|
echo 'Enabling Two-Way SSL user authentication'
|
2017-11-28 20:00:32 -05:00
|
|
|
. "${scripts_dir}/secure.sh"
|
|
|
|
;;
|
|
|
|
ldap)
|
|
|
|
echo 'Enabling LDAP user authentication'
|
|
|
|
# Reference ldap-provider in properties
|
|
|
|
prop_replace 'nifi.security.user.login.identity.provider' 'ldap-provider'
|
|
|
|
prop_replace 'nifi.security.needClientAuth' 'WANT'
|
|
|
|
|
|
|
|
. "${scripts_dir}/secure.sh"
|
|
|
|
. "${scripts_dir}/update_login_providers.sh"
|
2017-11-28 20:00:32 -05:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2017-11-28 20:00:32 -05:00
|
|
|
# Continuously provide logs so that 'docker logs' can produce them
|
|
|
|
tail -F "${NIFI_HOME}/logs/nifi-app.log" &
|
|
|
|
"${NIFI_HOME}/bin/nifi.sh" run &
|
2017-11-28 20:00:32 -05:00
|
|
|
nifi_pid="$!"
|
|
|
|
|
|
|
|
trap "echo Received trapped signal, beginning shutdown...;" KILL TERM HUP INT EXIT;
|
|
|
|
|
|
|
|
echo NiFi running with PID ${nifi_pid}.
|
2017-11-28 20:00:32 -05:00
|
|
|
wait ${nifi_pid}
|