# file: log file name
# level: /trace/debug/info/warn/error/fatal, default: debug
# duration: rotation time with xx hours, example: 1/12/24 hours
# count: rotation count of log, default is 30 rotation
logger:
  file: /usr/local/omc/log/restagent.log 
  level: warn
  duration: 24
  count: 90   

# rest agent listen ipv4/v6 and port, support multiple routines
# ip: 0.0.0.0 or ::0, support IPv4/v6
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert, 
#                 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
rest:
  - ipv4: 0.0.0.0
    ipv6: 
    port: 33030
  - ipv4: 0.0.0.0
    ipv6: 
    port: 33443
    schema: https
    clientAuthType: 0
    caFile: /usr/local/omc/etc/certs/omc-ca.crt
    certFile: /usr/local/omc/etc/certs/omc-server.crt
    keyFile: /usr/local/omc/etc/certs/omc-server.key

webServer:
  enabled: true
  rootDir: /usr/local/omc/htdocs/front
  listen: 
    - addr: :80
      schema: http
    - addr: :443
      schema: https
      clientAuthType: 0
      caFile: /usr/local/omc/etc/certs/omc-ca.crt
      certFile: /usr/local/omc/etc/certs/omc-server.crt
      keyFile: /usr/local/omc/etc/certs/omc-server.key

database:
  type: mysql
  user: root
  password: 1000omc@kp!
  host: 127.0.0.1
  port: 33066
  name: tenants_db
  connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
  backup: /usr/local/omc/database

# Redis data cache
redis:
  dataSource:
    # OMC system db
    default:
      port: 6379 # Redis port
      host: "127.0.0.1" # Redis host
      password: "helloearth"
      db: 10 # Redis db_num
  # used to specify the default data source for multiple data resourece
  defaultDataSourceName: "default"

# sleep: time delay for after write buffer (millisecond)
# deadLine: timeout for io read and write (second)
mml:
  sleep: 200
  deadLine: 600
  sizeRow: 600
  sizeCol: 128
  bufferSize: 65535
  mmlHome: ./mmlhome

# track configuration for NE signaling trace
# host fill in the specific IP address
trace:
  enabled: false # trace enabled, default false
  host: "172.16.5.100" # trace host, default 127.0.0.1
  port: 33033 # trace port, default 33033

# NE config
ne:
  user: omcuser
  etcdir: /usr/local/etc
  bindir: /usr/local/bin
  omcdir: /usr/local/omc
  scpdir: /tmp
  licensedir: /usr/local/etc/{neType}/license
  # backup etc list of IMS, does not contain spaces
  etcListIMS: '{*.yaml,mmtel,vars.cfg}'
  etcListDefault: '{*.yaml,*.conf,*.cfg}'
  # true/false to overwrite config file when dpkg ne software 
  dpkgOverwrite: false
  # dpkg timeout (second)
  dpkgTimeout: 180

# chk2ne: true/false, if put OmcNeConfig parameters to NE
omc:
  uriPrefix: "/omc/rest"
  neType: OMC
  neId: 001
  rmUID: 4400HX101
  neName: OMC
  province: ""
  vendor: ""
  dn: ""
  chk2ne: false
  capability: 50
  sn: "-"
  expiryDate: "-"
  checksign: false
  rootDir: /usr/local/omc
  binDir: /usr/local/omc/bin
  backup: /usr/local/omc/backup
  upload: /usr/local/omc/upload
  frontUpload: /usr/local/omc/htdocs/front/upload
  frontTraceDir: /usr/local/omc/htdocs/front/trace
  software: /usr/local/omc/software
  license: /usr/local/omc/license
  gtpUri: gtp:192.168.2.119:32152 
  checkContentType: false
  testMode: false
  rbacMode: true
  runDir: /usr/local/omc/run
  cmdTimeout: 120

# Alarm module setting
# Forward interface:
# TLS Skip verify: true/false
# email/sms
# smProxy: sms(Short Message Service)/smsc(SMS Centre)  
# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1, 
#             4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2
alarm: 
  alarmEmailForward:
    enable: false
    emailList: ""
    title: "Alarm from OMC"
    smtp: mail.smtp.com
    port: 25
    user: smtpext@smtp.com
    password: "1000smtp@omc!"
    tlsSkipVerify: true    
  alarmSMSForward:
    enable: false
    mobileList: ""
    smscAddr: "192.168.13.114:2775"
    systemID: "omc"
    password: "omc123"
    systemType: "UTRAN"
    dataCoding: 0
    serviceNumber: "OMC"
  sms:
    apiURL: http://smsc.xxx.com/
    accessKeyID: xxxx
    accessKeySecret: xxxx
    signName: xxx SMSC
    templateCode: 1000
  smProxy: smsc
  
# User authorized information
# crypt: mysql/md5/bcrypt
# token: true/false to check accessToken
# expires for session, unit: second
# Support single/multiple session of user
#
auth:
  crypt: bcrypt
  token: true
  expires: 1800
  session: multiple
  publicKey: /usr/local/omc/etc/certs/omc
  privateKey: /usr/local/omc/etc/certs/omc

# Parameter for limit number 
# rmuid_maxnum: the max number of rmUID, default: 50
# alarmid_maxnum: the max number of AlarmID, default: 50
# pmid_maxnum: the max number of pmID, default: 50
# subid_maxnum: the max number of subscription ID, default: 20
# uri_maxlen: the max length of uri, default: 8192
# rmuid_regexp: regexp pattern of rmUID
params:
  rmuidmaxnum: 50
  alarmidmaxnum: 50
  pmidmaxnum: 50
  subidmaxnum: 20
  urimaxlen: 2100000
  rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"

testConfig:
  enabled: false
  file: /usr/local/omc/etc/testconfig.yaml