- Replace custom directive-based config parser with YAML using gopkg.in/yaml.v3 - Rename config.example.conf to config.example.yml with YAML syntax - Update default config path to /etc/logcorrelator/logcorrelator.yml - Update Dockerfile.package to copy YAML config files - Update packaging scripts to install logcorrelator.yml - Update architecture.yml to document YAML configuration - Add yaml.v3 dependency to go.mod Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
67 lines
2.2 KiB
Bash
67 lines
2.2 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# postinst script for logcorrelator .deb package
|
|
|
|
case "$1" in
|
|
configure)
|
|
# Create logcorrelator user and group if they don't exist
|
|
if ! getent group logcorrelator > /dev/null 2>&1; then
|
|
groupadd --system logcorrelator
|
|
fi
|
|
|
|
if ! getent passwd logcorrelator > /dev/null 2>&1; then
|
|
useradd --system \
|
|
--gid logcorrelator \
|
|
--home-dir /var/lib/logcorrelator \
|
|
--no-create-home \
|
|
--shell /usr/sbin/nologin \
|
|
logcorrelator
|
|
fi
|
|
|
|
# Create necessary directories
|
|
mkdir -p /var/lib/logcorrelator
|
|
mkdir -p /var/run/logcorrelator
|
|
mkdir -p /var/log/logcorrelator
|
|
mkdir -p /etc/logcorrelator
|
|
|
|
# Set proper ownership
|
|
chown -R logcorrelator:logcorrelator /var/lib/logcorrelator
|
|
chown -R logcorrelator:logcorrelator /var/run/logcorrelator
|
|
chown -R logcorrelator:logcorrelator /var/log/logcorrelator
|
|
chown -R logcorrelator:logcorrelator /etc/logcorrelator
|
|
|
|
# Set proper permissions
|
|
chmod 750 /var/lib/logcorrelator
|
|
chmod 750 /var/log/logcorrelator
|
|
chmod 750 /etc/logcorrelator
|
|
|
|
# Install default config if it doesn't exist
|
|
if [ ! -f /etc/logcorrelator/logcorrelator.yml ]; then
|
|
cp /usr/share/logcorrelator/logcorrelator.yml.example /etc/logcorrelator/logcorrelator.yml
|
|
chown logcorrelator:logcorrelator /etc/logcorrelator/logcorrelator.yml
|
|
chmod 640 /etc/logcorrelator/logcorrelator.yml
|
|
fi
|
|
|
|
# Enable and start the service (if running in a real system, not container)
|
|
if [ -x /bin/systemctl ] && [ -d /run/systemd/system ]; then
|
|
systemctl daemon-reload
|
|
systemctl enable logcorrelator.service
|
|
if ! systemctl is-active --quiet logcorrelator.service; then
|
|
systemctl start logcorrelator.service
|
|
fi
|
|
fi
|
|
;;
|
|
|
|
abort-upgrade|abort-remove|abort-deconfigure)
|
|
# On abort, do nothing special
|
|
;;
|
|
|
|
*)
|
|
echo "postinst called with unknown argument '$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|