62 lines
2.0 KiB
Bash
62 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
case "$1" in
|
|
configure)
|
|
echo "Configuring wild-cloud-central..."
|
|
|
|
# Create wildcloud user if it doesn't exist
|
|
if ! id wildcloud >/dev/null 2>&1; then
|
|
useradd --system --home-dir /var/lib/wild-cloud-central --create-home --shell /bin/false wildcloud
|
|
fi
|
|
|
|
# Create required directories
|
|
mkdir -p /var/lib/wild-cloud-central
|
|
mkdir -p /var/log/wild-cloud-central
|
|
mkdir -p /var/www/html/talos
|
|
mkdir -p /var/ftpd
|
|
|
|
# Set ownership of wildcloud-managed files and directories
|
|
chown wildcloud:wildcloud /var/lib/wild-cloud-central
|
|
chown wildcloud:wildcloud /var/log/wild-cloud-central
|
|
|
|
# Force ownership of talos directory (critical for PXE assets)
|
|
echo "Setting ownership of /var/www/html/talos/ to wildcloud"
|
|
chown -R wildcloud:wildcloud /var/www/html/talos/
|
|
|
|
echo "Setting ownership of /var/ftpd/ to wildcloud"
|
|
chown -R wildcloud:wildcloud /var/ftpd
|
|
|
|
# Set ownership of dnsmasq.conf if it exists
|
|
if [ -f /etc/dnsmasq.conf ]; then
|
|
chown wildcloud:wildcloud /etc/dnsmasq.conf
|
|
# TODO: /etc/dnsmasq.d/wild-cloud.conf
|
|
fi
|
|
|
|
# Install sudoers file
|
|
if [ -f /etc/wild-cloud-central/wild-cloud-central.sudoers ]; then
|
|
mkdir -p /etc/sudoers.d
|
|
cp /etc/wild-cloud-central/wild-cloud-central.sudoers /etc/sudoers.d/wild-cloud-central
|
|
chmod 440 /etc/sudoers.d/wild-cloud-central
|
|
fi
|
|
|
|
# Enable and start the service
|
|
systemctl daemon-reload
|
|
systemctl enable wild-cloud-central.service
|
|
|
|
echo "wild-cloud-central configured successfully"
|
|
echo "Start the service with: sudo systemctl start wild-cloud-central"
|
|
echo "View logs with: sudo journalctl -u wild-cloud-central -f"
|
|
;;
|
|
|
|
abort-upgrade|abort-remove|abort-deconfigure)
|
|
;;
|
|
|
|
*)
|
|
echo "postinst called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0 |