#!/bin/bash -e

distro=$1
dist=$2
pkgname="logstash-2.4.1"

echo "Upgrading Logstash..."

# Delete the old archive
rm -rf "$pkgname"

# Extract archive
tar -xzf "$pkgname.tar.gz"

# Apply our patches
./apply-patches "$pkgname"

# Make and install 
(
    rm -rf /usr/local/nagioslogserver/logstash/{lib,vendor,spec}/*
    cp -r $pkgname/* /usr/local/nagioslogserver/logstash
    chown -R nagios:nagios /usr/local/nagioslogserver/logstash /var/run/logstash /var/log/logstash
    chmod -R g+w /usr/local/nagioslogserver/logstash/etc

    chmod +x /etc/init.d/logstash
    sed -i s/index_type/document_type/ /usr/local/nagioslogserver/logstash/etc/conf.d/999_outputs.conf

    if [ `command -v systemctl` ]; then
        systemctl daemon-reload
    fi
)

# Do a simple sanity check to make sure some key files exist...
for f in /usr/local/nagioslogserver/logstash/bin/logstash ; do
    if [ ! -f "$f" ]; then
        echo "ERROR: Logstash install appears to have failed - exiting.  Missing file = $f"
        exit 1
    fi
done

echo "Updating Logstash plugins..."
PLUGINS="logstash-filter-json-3.2.1.gem logstash-filter-ruby-3.1.8.gem logstash-input-eventlog-4.1.3.gem logstash-input-file-4.4.6.gem logstash-input-syslog-3.7.1.gem logstash-output-exec-3.1.4.gem logstash-output-opensearch-2.0.2-java.gem logstash-filter-geoip-6.0.3-java.gem"
for plugin in $PLUGINS; do
    /usr/local/nagioslogserver/logstash/bin/logstash-plugin install mods/plugins/$plugin
done


# Run post-install because it does plugin upgrades only if Java version > 8
./post-install

# Things are okay
echo "Logstash upgraded OK"

