summaryrefslogtreecommitdiffstats
path: root/policy-pe/docker-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'policy-pe/docker-install.sh')
-rw-r--r--policy-pe/docker-install.sh82
1 files changed, 77 insertions, 5 deletions
diff --git a/policy-pe/docker-install.sh b/policy-pe/docker-install.sh
index 57c26bf5..fa9472f1 100644
--- a/policy-pe/docker-install.sh
+++ b/policy-pe/docker-install.sh
@@ -9,8 +9,8 @@
function usage() {
echo -n "syntax: $(basename $0) "
echo -n "--debug ("
- echo -n "[--install base|pap|pdp|console|mysql|brmsgw|paplp|pdplp] | "
- echo -n "[--configure base|pap|pdp|console|mysql|brmsgw|paplp|pdplp] | "
+ echo -n "[--install base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
+ echo -n "[--configure base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
}
function check_java() {
@@ -432,6 +432,71 @@ function configure_mysql() {
# nothing to do
}
+# This function installs elk related shell scripts and sql files in the proper locations
+# under $POLICY_HOME. It also adds the Elk to the PATH based on configuration.
+#
+function configure_elk() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ # nothing to do
+}
+
+function install_elk() {
+ if [[ $DEBUG == y ]]; then
+ echo "-- ${FUNCNAME[0]} $@ --"
+ set -x
+ fi
+
+ if [[ -f "${HOME}/.bash_profile" ]]; then
+ source "${HOME}/.bash_profile"
+ fi
+
+ if [[ -f "${HOME}/.profile" ]]; then
+ source "${HOME}/.profile"
+ fi
+
+ ELK_TARGET_INSTALL_DIR=${POLICY_HOME}/elk
+
+ if [[ -d ${ELK_TARGET_INSTALL_DIR} ]]; then
+ echo "WARNING: ${ELK_TARGET_INSTALL_DIR} exists."
+ return 1
+ fi
+
+ /bin/mkdir -p "${ELK_TARGET_INSTALL_DIR}" > /dev/null 2>&1
+
+ if [[ ! -d ${ELK_TARGET_INSTALL_DIR} ]]; then
+ echo "WARNING: ${ELK_TARGET_INSTALL_DIR} doesn't exist."
+ return 1
+ fi
+
+ cd ${ELK_TARGET_INSTALL_DIR}
+ curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.tar.gz
+
+ tar xvzf elasticsearch-5.4.0.tar.gz -C .
+ /bin/rm -fr elasticsearch-5.4.0.tar.gz
+ /bin/mv ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0/* .
+ /bin/rm -fr ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0
+
+ /bin/cp "${POLICY_HOME}"/install/elk/bin/* "${POLICY_HOME}/bin"
+ /bin/cp -f "${POLICY_HOME}"/install/elk/config/* "${ELK_TARGET_INSTALL_DIR}/config"
+ /bin/cp -f "${POLICY_HOME}/install/elk/init.d/elkd" "${POLICY_HOME}/etc/init.d/elk"
+
+ install_prereqs "${COMPONENT_TYPE}.conf"
+
+ /bin/sed -i -e "s!\${{POLICY_HOME}}!${POLICY_HOME}!g" \
+ -e "s!\${{FQDN}}!${FQDN}!g" \
+ -e "s!\${{ELK_JMX_PORT}}!${ELK_JMX_PORT}!g" \
+ "${ELK_TARGET_INSTALL_DIR}"/config/* "${POLICY_HOME}/etc/init.d/elk" > /dev/null 2>&1
+
+
+ list_unexpanded_files ${POLICY_HOME}
+
+ return $?
+}
+
# This function installs brmsgw related shell scripts and config files in the proper
# locations under $POLICY_HOME.
#
@@ -546,11 +611,12 @@ case $COMPONENT_TYPE in
pap) ;;
console) ;;
mysql) ;;
+ elk) ;;
brmsgw) ;;
paplp) ;;
pdplp) ;;
skip) ;;
- *) echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+ *) echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
usage
exit 1
;;
@@ -615,6 +681,9 @@ if [[ ${OPERATION} == install ]]; then
mysql)
install_mysql
;;
+ elk)
+ install_elk
+ ;;
brmsgw)
install_brmsgw
;;
@@ -622,7 +691,7 @@ if [[ ${OPERATION} == install ]]; then
install_logparser
;;
*)
- echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+ echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
usage
exit 1
;;
@@ -649,6 +718,9 @@ if [[ ${OPERATION} == configure ]]; then
mysql)
configure_mysql
;;
+ elk)
+ configure_elk
+ ;;
brmsgw)
configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
;;
@@ -656,7 +728,7 @@ if [[ ${OPERATION} == configure ]]; then
configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
;;
*)
- echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+ echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
usage
exit 1
;;