#!/usr/bin/php
<?php
declare(strict_types=1);

require '/opt/ddns/lib/bootstrap.php';

use Ddns\Config;
use Ddns\Worker;
use Ddns\WorkerDaemon;

const WORKER_CONFIG = '/etc/opt/ddns/worker.php';
const WORKER_SECRETS = '/etc/opt/ddns/secrets.php';

umask(0077);
ini_set('display_errors', '0');
ini_set('log_errors', '1');

try {
    $config = Config::load(WORKER_CONFIG);
    $secrets = Config::load(WORKER_SECRETS);
    $worker = new Worker($config, $secrets);
    (new WorkerDaemon($worker, $config))->run();
} catch (Throwable $e) {
    openlog('ddns-worker', LOG_PID, LOG_DAEMON);
    syslog(LOG_ERR, get_class($e) . ': ' . $e->getMessage());
    closelog();
    fwrite(STDERR, "ddns-worker: Start fehlgeschlagen. Details im Syslog.\n");
    exit(1);
}
