blob: 6f0807113d107676f9ff81b3e93b064ec9d24ff9 [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:
mpriyankf0f657c2024-05-16 16:35:49 +0100104 cm-subscription-ncmp-in: ${CM_SUBSCRIPTION_NCMP_IN_TOPIC:subscription}
105 cm-subscription-dmi-in: ${CM_SUBSCRIPTION_DMI_IN_TOPIC:ncmp-dmi-cm-avc-subscription}
106 cm-subscription-dmi-out: ${CM_SUBSCRIPTION_DMI_OUT_TOPIC:dmi-ncmp-cm-avc-subscription}
107 cm-subscription-ncmp-out: ${CM_SUBSCRIPTION_NCMP_OUT_TOPIC: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:
mpriyankf7873bd2024-05-07 15:33:19 +0100119 change-event-notifications-enabled: ${CPS_CHANGE_EVENT_NOTIFICATIONS_ENABLED:true}
rajesh.kumareb3a8082024-02-23 20:29:59 +0530120 topic: ${CPS_CHANGE_EVENT_TOPIC:cps-data-updated-events}
emaclee9c126612023-04-16 17:48:15 +0100121
mpriyankf7873bd2024-05-07 15:33:19 +0100122
123
emaclee9c126612023-04-16 17:48:15 +0100124notification:
125 enabled: true
emaclee9c126612023-04-16 17:48:15 +0100126 async:
127 executor:
128 core-pool-size: 2
129 max-pool-size: 10
130 queue-capacity: 500
131 wait-for-tasks-to-complete-on-shutdown: true
132 thread-name-prefix: Async-
mpriyank6b0e6b32024-03-08 12:50:53 +0000133 time-out-value-in-ms: 60000
emaclee9c126612023-04-16 17:48:15 +0100134
135springdoc:
136 swagger-ui:
137 disable-swagger-default-url: true
138 urlsPrimaryName: cps-core
139 urls:
140 - name: cps-core
141 url: /api-docs/cps-core/openapi.yaml
142 - name: cps-ncmp
143 url: /api-docs/cps-ncmp/openapi.yaml
144 - name: cps-ncmp-inventory
145 url: /api-docs/cps-ncmp/openapi-inventory.yaml
146
emaclee9c126612023-04-16 17:48:15 +0100147security:
148 # comma-separated uri patterns which do not require authorization
waqas.ikram7a397ca2024-01-25 11:36:16 +0000149 permit-uri: /actuator/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**,/v3/api-docs/**
emaclee9c126612023-04-16 17:48:15 +0100150 auth:
mpriyank86dd1392024-04-30 10:14:26 +0100151 username: ${CPS_USERNAME:cpsuser}
152 password: ${CPS_PASSWORD:cpsr0cks!}
emaclee9c126612023-04-16 17:48:15 +0100153
david.mcweeney22934862024-04-25 14:37:33 +0100154cps:
155 tracing:
156 sampler:
157 jaeger_remote:
158 endpoint: ${ONAP_OTEL_SAMPLER_JAEGER_REMOTE_ENDPOINT:http://onap-otel-collector:14250}
159 exporter:
160 endpoint: ${ONAP_OTEL_EXPORTER_ENDPOINT:http://onap-otel-collector:4317}
161 protocol: ${ONAP_OTEL_EXPORTER_PROTOCOL:grpc}
162 enabled: ${ONAP_TRACING_ENABLED:false}
163
emaclee9c126612023-04-16 17:48:15 +0100164# Actuator
165management:
david.mcweeney22934862024-04-25 14:37:33 +0100166 tracing:
167 propagation:
168 produce: ${ONAP_PROPAGATOR_PRODUCE:[W3C]}
169 sampling:
170 probability: 1.0
emaclee9c126612023-04-16 17:48:15 +0100171 endpoints:
172 web:
emaclee9c126612023-04-16 17:48:15 +0100173 exposure:
174 include: info,health,loggers,prometheus
175 endpoint:
176 health:
177 show-details: always
178 # kubernetes probes: liveness and readiness
179 probes:
180 enabled: true
181
182logging:
183 format: json
184 level:
185 org:
186 springframework: INFO
187 onap:
188 cps: INFO
189ncmp:
190 dmi:
waqas.ikram177d66d2023-12-19 15:24:28 +0000191 httpclient:
sourabh_sourabh43d04512024-05-27 18:28:10 +0100192 data-services:
193 connectionTimeoutInSeconds: 30
194 readTimeoutInSeconds: 30
195 writeTimeoutInSeconds: 30
196 maximumConnectionsTotal: 100
sourabh_sourabhd16143a2024-06-17 19:45:00 +0100197 pendingAcquireMaxCount: 50
sourabh_sourabh43d04512024-05-27 18:28:10 +0100198 maximumInMemorySizeInMegabytes: 16
199 model-services:
200 connectionTimeoutInSeconds: 30
201 readTimeoutInSeconds: 30
202 writeTimeoutInSeconds: 30
203 maximumConnectionsTotal: 100
sourabh_sourabhd16143a2024-06-17 19:45:00 +0100204 pendingAcquireMaxCount: 50
sourabh_sourabh43d04512024-05-27 18:28:10 +0100205 maximumInMemorySizeInMegabytes: 16
emaclee9c126612023-04-16 17:48:15 +0100206 auth:
mpriyank86dd1392024-04-30 10:14:26 +0100207 username: ${DMI_USERNAME:cpsuser}
208 password: ${DMI_PASSWORD:cpsr0cks!}
mpriyank612fb572023-08-01 15:36:27 +0100209 enabled: ${DMI_AUTH_ENABLED:true}
emaclee9c126612023-04-16 17:48:15 +0100210 api:
211 base-path: dmi
212
213 timers:
214 advised-modules-sync:
215 sleep-time-ms: 5000
216 locked-modules-sync:
217 sleep-time-ms: 300000
218 cm-handle-data-sync:
219 sleep-time-ms: 30000
lukegleeson3c0ea892023-04-06 15:28:56 +0100220 subscription-forwarding:
221 dmi-response-timeout-ms: 30000
222 model-loader:
223 retry-time-ms: 1000
halil.cakalc4485f72023-08-31 11:45:47 +0100224 trust-level:
225 dmi-availability-watchdog-ms: 30000
emaclee9c126612023-04-16 17:48:15 +0100226
227 modules-sync-watchdog:
228 async-executor:
229 parallelism-level: 10
230
231 model-loader:
lukegleeson3c0ea892023-04-06 15:28:56 +0100232 maximum-attempt-count: 20
emaclee9c126612023-04-16 17:48:15 +0100233
234# Custom Hazelcast Config.
235hazelcast:
mpriyank74cf06f2023-04-28 15:02:00 +0100236 cluster-name: ${CPS_NCMP_CACHES_CLUSTER_NAME:"cps-and-ncmp-common-cache-cluster"}
lukegleeson3c0ea892023-04-06 15:28:56 +0100237 mode:
238 kubernetes:
239 enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false}
waqas.ikram7a397ca2024-01-25 11:36:16 +0000240 service-name: ${CPS_NCMP_SERVICE_NAME:"cps-and-ncmp-service"}
david.mcweeney22934862024-04-25 14:37:33 +0100241
242otel:
243 exporter:
244 otlp:
245 traces:
246 protocol: ${ONAP_OTEL_EXPORTER_OTLP_TRACES_PROTOCOL:grpc}