Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyml
titleSample: application.yaml
collapsetrue
#
# ============LICENSE_START=======================================================
# ONAP : ccsdk oran
# ================================================================================
 # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
 # Copyright (C) 2023-2024 OpenInfra Foundation Europe. 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
#
spring:
  profiles:
    active: prod
  main:
    allow-bean-definition-overriding: true
  aop:
    auto: false
management:
  endpoints:
    web:
      exposure:
        # Enabling of springboot actuator features. See springboot documentation.
        include: "loggers,logfile,health,info,metrics,threaddump,heapdump,shutdown"
  endpoint:
    shutdown:
      enabled: true
lifecycle:
  timeout-per-shutdown-phase: "20s"
springdoc:
  show-actuator: true
logging:
  # Configuration of logging
  level:
    ROOT: ERROR
    org.springframework: ERROR
    org.springframework.data: ERROR
    org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR
    org.springframework.web.servlet.DispatcherServlet: ERROR
    org.onap.ccsdk.oran.a1policymanagementservice: INFO
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n"
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n"
  file:
    name: /var/log/policy-agent/application.log
server:
   # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework.
   # See springboot documentation.
   port : 8433
   http-port: 8081
   shutdown: "graceful"
   ssl:
      key-store-type: JKS
      key-store-password: policy_agent
      key-store: /opt/app/policy-agent/etc/cert/keystore.jks
      key-password: policy_agent
      key-alias: policy_agent
      # trust-store-password:
      # trust-store:
app:
  # Location of the component configuration file.
  filepath: /opt/app/policy-agent/data/application_configuration.json
  webclient:
    # Configuration of the trust store used for the HTTP client (outgoing requests)
    # The file location and the password for the truststore is only relevant if trust-store-used == true
    # Note that the same keystore as for the server is used.
    trust-store-used: false
    trust-store-password: policy_agent
    trust-store: /opt/app/policy-agent/etc/cert/truststore.jks
    # Configuration of usage of HTTP Proxy for the southbound accesses.
    # The HTTP proxy (if configured) will only be used for accessing NearRT RICs (or A1 Adapter) southbound.
    # proxy-type can be either HTTP, SOCKS4 or SOCKS5
    http.proxy-host:
    http.proxy-port: 0
    http.proxy-type: HTTP
  # path where the service can store data. This parameter is not relevant if S3 Object store is configured.
  vardata-directory: /var/policy-management-service
  # the config-file-schema-path referres to a location in the jar file. If this property is empty or missing,
  # no schema validation will be executed.
  config-file-schema-path: /application_configuration_schema.json
  # A file containing an authorization token, which shall be inserted in each HTTP header (authorization).
  # If the file name is empty, no authorization token is sent.
  auth-token-file:
  # A URL to authorization provider such as OPA. Each time an A1 Policy is accessed, a call to this
  # authorization provider is done for access control. If this is empty, no fine grained access control is done.
  authorization-provider:
  # S3 object store usage is enabled by defining the bucket to use. This will override the vardata-directory parameter.
  s3:
    endpointOverride: http://localhost:9000
    accessKeyId: minio
    secretAccessKey: miniostorage
    bucket:

See also Montreal New Delhi - Configuration of Certs

Dynamic configuration - Settings that can be changed at runtime (application_configuration.json or REST)

...

Code Block
languageyml
titleapplication_configuration.json
linenumberstrue
collapsetrue
{
  "description": "Application configuration",
  "config": {    
    "controller": [
      {
        "name": "controller1",
        "baseUrl": "http://sdnc_controller:8181",
        "userName": "admin",
        "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
      }
    ],
    "ric": [
      {
        "name": "ric1",
        "baseUrl": "http://ric1:8085/", 
        "managedElementIds": [
          "kista_1",
          "kista_2"         ]
      },
      {
        "name": "ric2",
        "baseUrl": "http://ric2:8085/",
        "customAdapterClass": "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2$Factory",   
        "managedElementIds": [
          "kista_3",
          "kista_4"
        ]
      },
       {
        "name": "ric3",
        "baseUrl": "http://ric3:8085/",
        "controller": "controller1", 
        "managedElementIds": [
          "kista_5",
          "kista_6"
        ]
      },
       {
        "name": "ric4",
        "baseUrl": "http://ric4:8085/",
        "controller": "controller1", 
        "managedElementIds": [
          "kista_7",
          "kista_8",
          "kista_9",
          "kista_10",
          "kista_11"
         ]
      }
    ]
  }
}

JSON Schema for the application configuration

...