blob: dc9e44999ef2cf5b99bc61df39c9e0ff9a0e5cde [file] [log] [blame]
emaclee9c126612023-04-16 17:48:15 +01001# ============LICENSE_START=======================================================
2# Copyright (C) 2021 Pantheon.tech
3# Modifications Copyright (C) 2021-2022 Bell Canada
danielhanrahan36b81b22023-08-17 14:58:30 +01004# Modifications Copyright (C) 2021-2024 Nordix Foundation
rajesh.kumareb3a8082024-02-23 20:29:59 +05305# Modifications Copyright (C) 2024 TechMahindra Ltd
emaclee9c126612023-04-16 17:48:15 +01006# ================================================================================
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19# SPDX-License-Identifier: Apache-2.0
20# ============LICENSE_END=========================================================
21
22server:
23 port: 8080
24
25rest:
26 api:
27 cps-base-path: /cps/api
28 ncmp-base-path: /ncmp
29 ncmp-inventory-base-path: /ncmpInventory
30
31spring:
32 main:
33 banner-mode: "off"
34 application:
35 name: "cps-application"
36 jpa:
37 show-sql: false
38 ddl-auto: create
39 open-in-view: false
40 properties:
egernug186b9012023-09-27 10:49:45 +010041 hibernate.enable_lazy_load_no_trans: true
42 hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
danielhanrahan36b81b22023-08-17 14:58:30 +010043 # Please ensure these values match those used in integration-test/src/test/resources/application.yml
44 hibernate.id.new_generator_mappings: true
45 hibernate.jdbc.batch_size: 100
emaclee9c126612023-04-16 17:48:15 +010046
47 datasource:
48 url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb
49 username: ${DB_USERNAME}
50 password: ${DB_PASSWORD}
51 driverClassName: org.postgresql.Driver
52 hikari:
53 minimumIdle: 5
54 maximumPoolSize: 80
55 idleTimeout: 60000
danielhanrahanbbfb0612024-04-16 22:04:44 +010056 connectionTimeout: 30000
emaclee9c126612023-04-16 17:48:15 +010057 leakDetectionThreshold: 30000
58 pool-name: CpsDatabasePool
59
60 cache:
61 type: caffeine
62 cache-names: yangSchema
63 caffeine:
64 spec: maximumSize=10000,expireAfterAccess=10m
65
66 liquibase:
67 change-log: classpath:changelog/changelog-master.yaml
emacleeea7d1b42024-03-24 19:05:34 +000068 label-filter: ${LIQUIBASE_LABELS}
emaclee9c126612023-04-16 17:48:15 +010069
70 servlet:
71 multipart:
72 enabled: true
73 max-file-size: 100MB
74 max-request-size: 100MB
75
76 kafka:
77 bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092}
78 security:
79 protocol: PLAINTEXT
80 producer:
sourabh_sourabha287fc32023-06-15 03:12:29 +010081 value-serializer: io.cloudevents.kafka.CloudEventSerializer
emaclee9c126612023-04-16 17:48:15 +010082 client-id: cps-core
83 consumer:
84 group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group}
85 key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
86 value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
87 properties:
88 spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
sourabh_sourabha287fc32023-06-15 03:12:29 +010089 spring.deserializer.value.delegate.class: io.cloudevents.kafka.CloudEventDeserializer
emaclee9c126612023-04-16 17:48:15 +010090 spring.json.use.type.headers: false
91
92 jackson:
93 default-property-inclusion: NON_NULL
94 serialization:
95 FAIL_ON_EMPTY_BEANS: false
96 sql:
97 init:
98 mode: ALWAYS
99app:
100 ncmp:
101 async-m2m:
102 topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}
103 avc:
halil.cakald7899562023-07-13 11:28:18 +0100104 subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:subscription}
lukegleeson1f6008f2023-05-18 16:40:04 +0100105 subscription-forward-topic-prefix: ${NCMP_FORWARD_CM_AVC_SUBSCRIPTION:ncmp-dmi-cm-avc-subscription-}
lukegleeson3c0ea892023-04-06 15:28:56 +0100106 subscription-response-topic: ${NCMP_RESPONSE_CM_AVC_SUBSCRIPTION:dmi-ncmp-cm-avc-subscription}
halil.cakald7899562023-07-13 11:28:18 +0100107 subscription-outcome-topic: ${NCMP_OUTCOME_CM_AVC_SUBSCRIPTION:subscription-response}
emaclee9c126612023-04-16 17:48:15 +0100108 cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events}
109 lcm:
110 events:
111 topic: ${LCM_EVENTS_TOPIC:ncmp-events}
112 dmi:
113 cm-events:
114 topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events}
mpriyankf4778802023-07-26 17:33:35 +0100115 device-heartbeat:
116 topic: ${DMI_DEVICE_HEARTBEAT_TOPIC:dmi-device-heartbeat}
rajesh.kumareb3a8082024-02-23 20:29:59 +0530117 cps:
118 data-updated:
119 topic: ${CPS_CHANGE_EVENT_TOPIC:cps-data-updated-events}
emaclee9c126612023-04-16 17:48:15 +0100120
121notification:
122 enabled: true
emaclee9c126612023-04-16 17:48:15 +0100123 async:
124 executor:
125 core-pool-size: 2
126 max-pool-size: 10
127 queue-capacity: 500
128 wait-for-tasks-to-complete-on-shutdown: true
129 thread-name-prefix: Async-
mpriyank6b0e6b32024-03-08 12:50:53 +0000130 time-out-value-in-ms: 60000
emaclee9c126612023-04-16 17:48:15 +0100131
132springdoc:
133 swagger-ui:
134 disable-swagger-default-url: true
135 urlsPrimaryName: cps-core
136 urls:
137 - name: cps-core
138 url: /api-docs/cps-core/openapi.yaml
139 - name: cps-ncmp
140 url: /api-docs/cps-ncmp/openapi.yaml
141 - name: cps-ncmp-inventory
142 url: /api-docs/cps-ncmp/openapi-inventory.yaml
143
emaclee9c126612023-04-16 17:48:15 +0100144security:
145 # comma-separated uri patterns which do not require authorization
waqas.ikram7a397ca2024-01-25 11:36:16 +0000146 permit-uri: /actuator/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**,/v3/api-docs/**
emaclee9c126612023-04-16 17:48:15 +0100147 auth:
148 username: ${CPS_USERNAME}
149 password: ${CPS_PASSWORD}
150
151# Actuator
152management:
emaclee9c126612023-04-16 17:48:15 +0100153 endpoints:
154 web:
emaclee9c126612023-04-16 17:48:15 +0100155 exposure:
156 include: info,health,loggers,prometheus
157 endpoint:
158 health:
159 show-details: always
160 # kubernetes probes: liveness and readiness
161 probes:
162 enabled: true
163
164logging:
165 format: json
166 level:
167 org:
168 springframework: INFO
169 onap:
170 cps: INFO
171ncmp:
172 dmi:
waqas.ikram177d66d2023-12-19 15:24:28 +0000173 httpclient:
danielhanrahanbbfb0612024-04-16 22:04:44 +0100174 connectionTimeoutInSeconds: 30
waqas.ikram177d66d2023-12-19 15:24:28 +0000175 maximumConnectionsPerRoute: 50
176 maximumConnectionsTotal: 100
177 idleConnectionEvictionThresholdInSeconds: 5
leventecsanyi5a489742024-04-26 13:35:32 +0200178 maximumInMemorySizeInMegabytes: 16
emaclee9c126612023-04-16 17:48:15 +0100179 auth:
180 username: ${DMI_USERNAME}
181 password: ${DMI_PASSWORD}
mpriyank612fb572023-08-01 15:36:27 +0100182 enabled: ${DMI_AUTH_ENABLED:true}
emaclee9c126612023-04-16 17:48:15 +0100183 api:
184 base-path: dmi
185
186 timers:
187 advised-modules-sync:
188 sleep-time-ms: 5000
189 locked-modules-sync:
190 sleep-time-ms: 300000
191 cm-handle-data-sync:
192 sleep-time-ms: 30000
lukegleeson3c0ea892023-04-06 15:28:56 +0100193 subscription-forwarding:
194 dmi-response-timeout-ms: 30000
195 model-loader:
196 retry-time-ms: 1000
halil.cakalc4485f72023-08-31 11:45:47 +0100197 trust-level:
198 dmi-availability-watchdog-ms: 30000
emaclee9c126612023-04-16 17:48:15 +0100199
200 modules-sync-watchdog:
201 async-executor:
202 parallelism-level: 10
203
204 model-loader:
lukegleeson3c0ea892023-04-06 15:28:56 +0100205 maximum-attempt-count: 20
emaclee9c126612023-04-16 17:48:15 +0100206
207# Custom Hazelcast Config.
208hazelcast:
mpriyank74cf06f2023-04-28 15:02:00 +0100209 cluster-name: ${CPS_NCMP_CACHES_CLUSTER_NAME:"cps-and-ncmp-common-cache-cluster"}
lukegleeson3c0ea892023-04-06 15:28:56 +0100210 mode:
211 kubernetes:
212 enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false}
waqas.ikram7a397ca2024-01-25 11:36:16 +0000213 service-name: ${CPS_NCMP_SERVICE_NAME:"cps-and-ncmp-service"}