#!/bin/sh /etc/rc.common
# Wazuh Manager LXC init script

START=95
STOP=10
USE_PROCD=1

CONTAINER_NAME="wazuh"
LXC_PATH="/srv/lxc"

start_service() {
	local enabled
	config_load wazuh-manager
	config_get enabled main enabled '0'
	config_get CONTAINER_NAME main container_name 'wazuh'
	config_get LXC_PATH main lxc_path '/srv/lxc'

	[ "$enabled" != "1" ] && return 0

	# Check if container exists
	if [ ! -d "$LXC_PATH/$CONTAINER_NAME/rootfs" ]; then
		logger -t wazuh-manager "Container not installed. Run: wazuh-managerctl install"
		return 1
	fi

	# Start container
	if ! lxc-info -n "$CONTAINER_NAME" -s 2>/dev/null | grep -q RUNNING; then
		lxc-start -n "$CONTAINER_NAME" -d
		sleep 5
		logger -t wazuh-manager "Wazuh Manager container started"
	fi
}

stop_service() {
	config_load wazuh-manager
	config_get CONTAINER_NAME main container_name 'wazuh'

	if lxc-info -n "$CONTAINER_NAME" -s 2>/dev/null | grep -q RUNNING; then
		lxc-stop -n "$CONTAINER_NAME"
		logger -t wazuh-manager "Wazuh Manager container stopped"
	fi
}

reload_service() {
	stop_service
	sleep 2
	start_service
}

service_triggers() {
	procd_add_reload_trigger "wazuh-manager"
}

status() {
	config_load wazuh-manager
	config_get CONTAINER_NAME main container_name 'wazuh'

	if lxc-info -n "$CONTAINER_NAME" -s 2>/dev/null | grep -q RUNNING; then
		echo "Wazuh Manager: RUNNING"
		lxc-info -n "$CONTAINER_NAME"
	else
		echo "Wazuh Manager: STOPPED"
	fi
}
