nifi/nifi-docker/dockerhub/sh/common.sh

51 lines
1.8 KiB
Bash
Executable File

#!/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.
# 1 - value to search for
# 2 - value to replace
# 3 - file to perform replacement inline
prop_replace () {
target_file=${3:-${nifi_props_file}}
echo "File [${target_file}] replacing [${1}]"
sed -i -e "s|^$1=.*$|$1=$2|" ${target_file}
}
uncomment() {
target_file=${2}
echo "File [${target_file}] uncommenting [${1}]"
sed -i -e "s|^\#$1|$1|" ${target_file}
}
# 1 - property key to add or replace
# 2 - property value to use
# 3 - file to perform replacement inline
prop_add_or_replace () {
target_file=${3:-${nifi_props_file}}
property_found=$(awk -v property="${1}" 'index($0, property) == 1')
if [ -z "${property_found}" ]; then
echo "File [${target_file}] adding [${1}]"
echo "$1=$2" >> ${target_file}
else
prop_replace $1 $2 $3
fi
}
# NIFI_HOME is defined by an ENV command in the backing Dockerfile
export nifi_bootstrap_file=${NIFI_HOME}/conf/bootstrap.conf
export nifi_props_file=${NIFI_HOME}/conf/nifi.properties
export nifi_toolkit_props_file=${HOME}/.nifi-cli.nifi.properties
export hostname=$(hostname)