#!/bin/sh /etc/rc.common

#
# Copyright (C) 2026 Nethesis S.r.l.
# SPDX-License-Identifier: GPL-3.0-only
#

START=90

USE_PROCD=1

start_service() {
    config_load ns-clm
    local enabled uuid address tenant debug macaddr
    config_get enabled config enabled '0'
    config_get uuid config uuid ''
    config_get address config address 'https://nar.nethesis.it'
    config_get tenant config tenant ''
    config_get debug config debug '0'

    [ "$enabled" = "1" ] || return 0
    [ -n "$uuid" ] || return 1

    local hostname
    hostname=$(cat /proc/sys/kernel/hostname)

    macaddr=$(ip link show | awk '/link\/ether/ { print $2; exit }')
    [ -n "$macaddr" ] || macaddr='00:00:00:00:00:00'

    mkdir -p /var/run/ns-clm

    procd_open_instance
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_set_param env \
        CLM_UUID="$uuid" \
        CLM_HOSTNAME="$hostname" \
        CLM_ADDRESS="$address" \
        CLM_TENANT="$tenant" \
        CLM_MACADDR="$macaddr" \
        CLM_DEBUG="$debug"
    procd_set_param command /usr/sbin/ns-clm-forwarder
    procd_set_param respawn 3600 60 0
    procd_close_instance
}

service_triggers() {
    procd_add_reload_trigger "ns-clm"
}

reload_service() {
    stop
    start
}
