---
cse:
  protocols:
    grpc:
      listenAddress: 192.168.88.64:40107
    http:
      listenAddress: 192.168.88.64:30111
    rest-admin:
      listenAddress: 192.168.88.64:30112 # listen addr use to adminAPI
  service:
    registry:
      address: http://127.0.0.1:30100 # uri of service center
      #address: https://cse.cn-north-1.myhuaweicloud.com:443 # uri of service center
      scope: full #set full to be able to discover other app's service
      watch: false # set if you want to watch instance change event
      autoIPIndex: true # set to true if u want to resolve source IP to microservice
  #  config:
  #    client:
  #      serverUri: https://cse.cn-north-1.myhuaweicloud.com:443 #uri of config center
  #      refreshMode: 1 # 1: only pull config.
  #      refreshInterval: 30 # unit is second
  #  monitor: #Send monitoring data to CSE monitor Server
  #    client:
  #      serverUri: https://cse.cn-north-1.myhuaweicloud.com:443   # monitor server url
  handler:
    chain:
      Consumer:
        outgoing:  #tracing-consumer #consumer handlers
        #If registry type is pilot then to make sure traffic goes through mesher provider new handler needs to be added to consumer after loadbalance handler
        #ex: router, ratelimiter-consumer, bizkeeper-consumer, loadbalance, port-selector, transport
      Provider:
        incoming:   #tracing-provider,bizkeeper-provider #provider handlers
#  loadbalance:
#    strategy:
#      name: RoundRobin  # Random|RoundRobin|SessionStickiness
#    retryEnabled: false # if there is error, retry request or not
#    retryOnNext: 2      # times to switch to another instance based on strategy
#    retryOnSame: 3      # times to retry on the same instance
#    backoff:            # backoff policy of retried request
#      kind: constant    # jittered/constant/zero
#      MinMs: 200        # millisecond, Minimum duration to backoff
#      MaxMs: 400        # millisecond, Maximum duration to backoff
## circuit breaker configurations
#  isolation:
#    Consumer:
#      timeout:
#        enabled: true
#      timeoutInMilliseconds: 500
#      maxConcurrentRequests: 10
#    Provider:
#      timeout:
#        enabled: true
#      timeoutInMilliseconds: 500
#      maxConcurrentRequests: 10
#  circuitBreaker:
#    Consumer:
#      enabled: true
#      forceOpen: false
#      forceClosed: false
#      sleepWindowInMilliseconds: 10000
#      requestVolumeThreshold: 1
#      errorThresholdPercentage: 1
#    Provider:
#      enabled: true
#      forceOpen: true
#      forceClosed: false
#      sleepWindowInMilliseconds: 10000
#      requestVolumeThreshold: 1
#      errorThresholdPercentage: 20
#  fallback:
#    Consumer:
#      enabled: true
#      maxConcurrentRequests: 1
#    Provider:
#      enabled: true
#      maxConcurrentRequests: 1
#  fallbackpolicy:
#    Consumer:
#      policy: returnnull
#    Provider:
#      policy: returnnull
#  flowcontrol:
#    Consumer: # for consumer
#      qps:
#        enabled: true  # enable rate limiting or not
#        global:
#          limit: 100   # default limit of consumer
#        limit:
#          Server: 100  # rate limit for request to a provider,it represents 100 request per second
#    Provider:
#      qps:
#        enabled: true  # enable rate limiting or not
#        global:
#          limit: 0   # default limit of provider
#        limit:
#          Server: 0  # rate limit for request from a provider, it represents 100 request per second

#ssl:
## Set those config to make mesher as https service
#  mesher.Provider.cipherPlugin: default
#  mesher.Provider.verifyPeer: false
#  mesher.Provider.cipherSuits: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
#  mesher.Provider.protocol: TLSv1.2
#  mesher.Provider.caFile:
#  mesher.Provider.certFile:
#  mesher.Provider.keyFile:
#  mesher.Provider.certPwdFile:
## Mesher TLS is base on Go Chassis TLS config
## If users wan't to use transparent, ssl config for consumer and provider must be supplied.
## The provider is the service which run in the same host/pod with mesher. for example the service name of provider is AccountService, then the ssl tag is AccountService.rest.Provider
## if u set this , no need to consider about expose your own service as https service,
## your service can only listen on 127.0.0.1, mesher wil expose https and use http to communicate with your service
#  AccountService.rest.Provider.cipherPlugin: default
#  AccountService.rest.Provider.verifyPeer: false
#  AccountService.rest.Provider.cipherSuits: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
#  AccountService.rest.Provider.protocol: TLSv1.2
#  AccountService.rest.Provider.caFile:
#  AccountService.rest.Provider.certFile:
#  AccountService.rest.Provider.keyFile:
#  AccountService.rest.Provider.certPwdFile:
## If a service want to use transparent tls to call other services, it must supplies consumer ssl config for these services.
## for example StoreWeb want to communicate with Account service the  config is like below
#  AccountService.rest.Consumer.cipherPlugin: default
#  AccountService.rest.Consumer.verifyPeer: false
#  AccountService.rest.Consumer.cipherSuits: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
#  AccountService.rest.Consumer.protocol: TLSv1.2
#  AccountService.rest.Consumer.caFile:
#  AccountService.rest.Consumer.certFile:
#  AccountService.rest.Consumer.keyFile:
#  AccountService.rest.Consumer.certPwdFile:
tracing:
  enabled: true #enable distribution tracing
  collectorType: zipkin       #zipkin: Send tracing info to zipkin server
                              #namedPipe: Write tracing info to linux named pipe.
  collectorTarget: http://127.0.0.1:9411/api/v1/spans #If the collectorType is "zipkin", the target is a zipkin server url, if the collecterType is "file" or "namedPipe", the target is a file path.
  batchSize: 1
  batchInterval: 2s