#  ============LICENSE_START===============================================
#  Copyright (C) 2020 Nordix Foundation. All rights reserved.
#  ========================================================================
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#  ============LICENSE_END=================================================
#

spring:
  profiles:
    active: prod
  security:
    user:
      name: helmadmin
      password: itisasecret
security:
  enable-csrf: false


participant:
  localChartDirectory: /var/helm-manager-service
  # This below is not used but need to be here to make the app work
  infoFileName: CHART_INFO.json
  intermediaryParameters:
    reportingTimeIntervalMs: 120000
    description: Dummy Description
    participantId:
      name: noname
      version: 0.0.1
    participantType:
      name: noname
      version: 0.0.1
    clampControlLoopTopics:
      topicSources:
      topicSinks:
        -
          topic: NOTOPIC
          servers:
            - localhost
          topicCommInfrastructure: dmaap

management:
  endpoints:
    web:
      exposure:
        include: "loggers,logfile,health,info,metrics,threaddump,heapdump"
server:
  # Configuration of the HTTP/REST server. The parameters are defined and handled by the springboot framework.
  # See springboot documentation.
  port: 8083
  servlet:
    context-path:

logging:
  # Configuration of logging
  level:
    ROOT: INFO
    org.springframework: ERROR
    org.springframework.data: ERROR
    org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR
    com.att.nsa.cambria.client.impl: OFF
    com.att.nsa.apiClient.http: OFF
  file:
    name: /var/log/onap/policy/clamp/application.log
