# daemon agent application configuration file

application:
{
    # 系统配置项
    system:
    {
        config_file_path = ".";        # 配置文件默认存放目录
        show_banner = true;            # 是否打印 Banner 信息
        ssl_ca_file_path = "/etc/ssl/certs/ca-certificates.crt";        # HTTPS 访问客户端证书存放路径
        system_info_watch = true;       # 是否启用硬件信息监控
        system_info_refresh = 10;       # 硬件信息监控刷新频率(秒)
    };

    agent: {
        iptv_report_url = "http://10.0.0.1:50012/vcpe/dhcp/info";      # IPTV 设备上报接口
        moniter_rep_url = "";   # vCPE设备上下线接口
    };

    # 硬件监控相关配置内容
    watch_params:
    {
        cpu = true;      # 是否开启CPU监控
        memory = true;   # 是否开启内存监控
        disk = true;     # 是否开启磁盘空间占用监控
        sensor = true;   # 是否开启传感器状态监控
    };

    # 数据库相关配置
    database:
    {
        # Redis 服务器相关配置
        redis_server = "10.88.76.100";                      # redis 服务器IP
        redis_port = 6379;                                  # redis 服务器端口
        redis_passwd = "";                                  # redis 数据库密码

        mysql_server = "10.88.76.100";                      # mysql 服务器IP
        mysql_port = 3306;                                  # mysql 服务器端口
        mysql_user = "root";                                # mysql 用户名
        mysql_passwd = "AES@5/BQyUIfVxgV9BZAz/D3Rg==";      # mysql 数据库密码
        mysql_database = "test";                            # mysql 数据库名称

        sqlite_dbname = "./vcpe.db";                   # sqlite3 数据库文件名
        sqlite_passwd = "";                                 # sqlite3 数据库密码
    };

    # MQ 相关配置
    zero_mq:
    {
        svr_port = 6278;                            # ZeroMQ 服务器端口
        agent_addr = "ipc:///tmp/msg_fifo0";        # 消息通道路径
    };

    # vxlan 相关
    vxlan_wan:
    {
        enable = true;                        # 是否启动vxLan隧道封装
        nic = "ens160";                       # vxlan 物理网卡名称
        peer_ip = "192.168.20.112";           # vxlan 对端IP
        peer_mac = "00:0C:29:49:CB:27";       # vxlan 对端 MAC 地址
#        pkg_filter = "(udp port 4789) and (ether src not 00:0c:29:07:cb:55)"; # 包过滤器
        pkg_filter = "(pppoed || pppoes || arp || icmp || port domain || (udp and (port 67 or port 68))) && inbound";
    };

    # vcpe 本地服务网络接口配置
    local_eth:
    {
         ip       = "192.168.100.1";
         netmast  = "255.255.0.0";
         gw       = "192.168.100.1";
    };

    # http server config
    http_svr:
    {
        uri = "http://0.0.0.0:8000";
    };

    protocol:
    {
        # 0:无编码格式,普通字符串
        # 1:base64编码格式
        # 2:采用AES128加密后的base64编码格式
        # 3:采用3DES加密后的base64编码格式
        # 4:采用AES256加密后的base64编码格式
        crypto_type = 0;
        crypto_key = "AES@rX2qZWVwGVlYTJLf/6X22w==";
    };

    # DHCP Server Config
    dhcp_server: {
        # DHCP服务物理网卡名称
        nic = "eth0";
        # 全局租约时间
        lease_time = 86400;
        # 监听网卡
        listen_on = ["192.168.101.1", "10.10.0.1"];
        # 主备服务器设置
        # replication = ["10.10.0.1", "10.10.0.2"];
        # MAC地址黑名单
        # mac_filter = ["00:01:02:03:04:07", "00:01:02:03:04:01"];
        # 数据包过滤器
        net_filter = "vlan and udp and dst port 67";
        # IP地址池配置
        range_set: (
            {   dhcp_range = "192.168.101.2-192.168.101.40";
                subnet_mask = "255.255.255.0";
                domain_server = "114.114.114.114,8.8.8.8";
                gateway = "192.168.101.1";
                lease_time = 36000;
                vni = 123;
            },
            {   dhcp_range = "10.10.0.2-10.10.0.100";
                subnet_mask = "255.255.0.0";
                domain_server = "114.114.2.2,8.8.4.4";
                gateway = "10.10.0.1";
                lease_time = 36000;
            }
        );
    };
}