// This is a basic configuration for the Kea Netconf agent.
//
// This is just a very basic configuration. Kea comes with large suite (over 30)
// of configuration examples and extensive Kea User's Guide. Please refer to
// those materials to get better understanding of what this software is able to
// do. Comments in this configuration file sometimes refer to sections for more
// details. These are section numbers in Kea User's Guide. The version matching
// your software should come with your Kea package, but it is also available
// in ISC's Knowledgebase
// (https://kb.isc.org/docs/kea-administrator-reference-manual;
// the direct link for the stable version is
// https://jenkins.isc.org/job/Kea_doc/guide/kea-guide.html).
//
// This configuration file contains only Netconf's configuration.
// If configurations for other Kea services are also included in this file they
// are ignored by the Netconf agent.
{

// This is a basic configuration for the Kea Netconf.
"Netconf": {
    "boot-update": true,
    "subscribe-changes": true,
    "validate-changes": true,

    // Specify services the Netconf agent manages including files
    // should connect to forward commands to the DHCPv4 and DHCPv6
    // server via unix domain socket.
    "managed-servers":
    {
        "dhcp4": {
            "control-socket": {
                "socket-type": "unix",
                "socket-name": "/tmp/kea-dhcp4-ctrl.sock"
            }
        },
        "dhcp6": {
            "control-socket": {
                "socket-type": "unix",
                "socket-name": "/tmp/kea-dhcp6-ctrl.sock"
            }
        }
    }

    // Specify hooks libraries that are attached to the Netconf agent.
    // Note currently there is no defined hook points to attach to.
    // This is currently commented out because it has to point to the
    // existing hooks library or the Netconf agent will fail to start.
//  "hooks-libraries": [
//  {
//      "library": "/opt/local/netconf-commands.so",
//      "parameters": {
//          "param1": "foo"
//      }
//  }
//  ]
},

// Logging configuration starts here. Kea uses different loggers to log various
// activities. For details (e.g. names of loggers), see Chapter 18.
"Logging":
{
  "loggers": [
    {
        // This specifies the logging for Netconf daemon.
        "name": "kea-netconf",
        "output_options": [
            {
                // Specifies the output file. There are several special values
                // supported:
                // - stdout (prints on standard output)
                // - stderr (prints on standard error)
                // - syslog (logs to syslog)
                // - syslog:name (logs to syslog using specified name)
                // Any other value is considered a name of a time
                "output": "@localstatedir@/log/kea-netconf.log"

                // This governs whether the log output is flushed to disk after
                // every write.
                // "flush": false,

                // This specifies the maximum size of the file before it is
                // rotated.
                // "maxsize": 1048576,

                // This specifies the maximum number of rotated files to keep.
                // "maxver": 8
            }
        ],
        // This specifies the severity of log messages to keep. Supported values
        // are: FATAL, ERROR, WARN, INFO, DEBUG
        "severity": "INFO",

        // If DEBUG level is specified, this value is used. 0 is least verbose,
        // 99 is most verbose. Be cautious, Kea can generate lots and lots
        // of logs if told to do so.
        "debuglevel": 0
    }
  ]
}
}
