# ============LICENSE_START======================================================= | |
# Copyright (C) 2021 Pantheon.tech | |
# Modifications Copyright (C) 2021-2022 Bell Canada | |
# Modifications Copyright (C) 2021-2023 Nordix Foundation | |
# ================================================================================ | |
# 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========================================================= | |
server: | |
port: 8080 | |
rest: | |
api: | |
cps-base-path: /cps/api | |
ncmp-base-path: /ncmp | |
ncmp-inventory-base-path: /ncmpInventory | |
spring: | |
main: | |
banner-mode: "off" | |
application: | |
name: "cps-application" | |
jpa: | |
show-sql: false | |
ddl-auto: create | |
open-in-view: false | |
properties: | |
hibernate: | |
enable_lazy_load_no_trans: true | |
dialect: org.hibernate.dialect.PostgreSQLDialect | |
datasource: | |
url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb | |
username: ${DB_USERNAME} | |
password: ${DB_PASSWORD} | |
driverClassName: org.postgresql.Driver | |
hikari: | |
minimumIdle: 5 | |
maximumPoolSize: 80 | |
idleTimeout: 60000 | |
connectionTimeout: 120000 | |
leakDetectionThreshold: 30000 | |
pool-name: CpsDatabasePool | |
cache: | |
type: caffeine | |
cache-names: yangSchema | |
caffeine: | |
spec: maximumSize=10000,expireAfterAccess=10m | |
liquibase: | |
change-log: classpath:changelog/changelog-master.yaml | |
labels: ${LIQUIBASE_LABELS} | |
servlet: | |
multipart: | |
enabled: true | |
max-file-size: 100MB | |
max-request-size: 100MB | |
kafka: | |
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092} | |
security: | |
protocol: PLAINTEXT | |
producer: | |
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer | |
client-id: cps-core | |
consumer: | |
group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group} | |
key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer | |
value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer | |
properties: | |
spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer | |
spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer | |
spring.json.use.type.headers: false | |
jackson: | |
default-property-inclusion: NON_NULL | |
serialization: | |
FAIL_ON_EMPTY_BEANS: false | |
sql: | |
init: | |
mode: ALWAYS | |
app: | |
ncmp: | |
async-m2m: | |
topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m} | |
avc: | |
subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:cm-avc-subscription} | |
cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events} | |
lcm: | |
events: | |
topic: ${LCM_EVENTS_TOPIC:ncmp-events} | |
dmi: | |
cm-events: | |
topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events} | |
notification: | |
enabled: true | |
data-updated: | |
topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events} | |
filters: | |
enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""} | |
async: | |
executor: | |
core-pool-size: 2 | |
max-pool-size: 10 | |
queue-capacity: 500 | |
wait-for-tasks-to-complete-on-shutdown: true | |
thread-name-prefix: Async- | |
time-out-value-in-ms: 2000 | |
springdoc: | |
swagger-ui: | |
disable-swagger-default-url: true | |
urlsPrimaryName: cps-core | |
urls: | |
- name: cps-core | |
url: /api-docs/cps-core/openapi.yaml | |
- name: cps-ncmp | |
url: /api-docs/cps-ncmp/openapi.yaml | |
- name: cps-ncmp-inventory | |
url: /api-docs/cps-ncmp/openapi-inventory.yaml | |
security: | |
# comma-separated uri patterns which do not require authorization | |
permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/** | |
auth: | |
username: ${CPS_USERNAME} | |
password: ${CPS_PASSWORD} | |
# Actuator | |
management: | |
server: | |
port: 8081 | |
endpoints: | |
web: | |
base-path: /manage | |
exposure: | |
include: info,health,loggers,prometheus | |
endpoint: | |
health: | |
show-details: always | |
# kubernetes probes: liveness and readiness | |
probes: | |
enabled: true | |
logging: | |
format: json | |
level: | |
org: | |
springframework: INFO | |
onap: | |
cps: INFO | |
ncmp: | |
dmi: | |
auth: | |
username: ${DMI_USERNAME} | |
password: ${DMI_PASSWORD} | |
api: | |
base-path: dmi | |
timers: | |
advised-modules-sync: | |
sleep-time-ms: 5000 | |
locked-modules-sync: | |
sleep-time-ms: 300000 | |
cm-handle-data-sync: | |
sleep-time-ms: 30000 | |
modules-sync-watchdog: | |
async-executor: | |
parallelism-level: 10 | |
model-loader: | |
subscription: false | |
# Custom Hazelcast Config. | |
hazelcast: | |
mode: | |
kubernetes: | |
enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false} | |
service-name: ${CPS_NCMP_SERVICE_NAME:"cps-and-ncmp-service"} |