Merge "Performance Improvement: Insert Yang Resources"
[cps.git] / cps-application / src / main / resources / application.yml
1 #  ============LICENSE_START=======================================================\r
2 #  Copyright (C) 2021 Pantheon.tech\r
3 #  Modifications Copyright (C) 2021-2022 Bell Canada\r
4 #  Modifications Copyright (C) 2021-2022 Nordix Foundation\r
5 #  ================================================================================\r
6 #  Licensed under the Apache License, Version 2.0 (the "License");\r
7 #  you may not use this file except in compliance with the License.\r
8 #  You may obtain a copy of the License at\r
9 #\r
10 #        http://www.apache.org/licenses/LICENSE-2.0\r
11 #\r
12 #  Unless required by applicable law or agreed to in writing, software\r
13 #  distributed under the License is distributed on an "AS IS" BASIS,\r
14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
15 #  See the License for the specific language governing permissions and\r
16 #  limitations under the License.\r
17 #\r
18 #  SPDX-License-Identifier: Apache-2.0\r
19 #  ============LICENSE_END=========================================================\r
20 \r
21 server:\r
22     port: 8080\r
23 \r
24 rest:\r
25     api:\r
26         cps-base-path: /cps/api\r
27         ncmp-base-path: /ncmp\r
28         ncmp-inventory-base-path: /ncmpInventory\r
29 \r
30 spring:\r
31     main:\r
32         banner-mode: "off"\r
33     application:\r
34         name: "cps-application"\r
35     jpa:\r
36         ddl-auto: create\r
37         open-in-view: false\r
38         properties:\r
39             hibernate:\r
40                 enable_lazy_load_no_trans: true\r
41                 dialect: org.hibernate.dialect.PostgreSQLDialect\r
42 \r
43     datasource:\r
44         url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb\r
45         username: ${DB_USERNAME}\r
46         password: ${DB_PASSWORD}\r
47         driverClassName: org.postgresql.Driver\r
48         initialization-mode: always\r
49         hikari:\r
50             minimumIdle: 5\r
51             maximumPoolSize: 80\r
52             idleTimeout: 120000\r
53             connectionTimeout: 300000\r
54             leakDetectionThreshold: 300000\r
55             pool-name: CpsDatabasePool\r
56 \r
57     cache:\r
58         type: caffeine\r
59         cache-names: yangSchema\r
60         caffeine:\r
61             spec: maximumSize=10000,expireAfterAccess=10m\r
62 \r
63     liquibase:\r
64         change-log: classpath:changelog/changelog-master.yaml\r
65         labels: ${LIQUIBASE_LABELS}\r
66 \r
67     servlet:\r
68         multipart:\r
69             enabled: true\r
70             max-file-size: 100MB\r
71             max-request-size: 100MB\r
72 \r
73     kafka:\r
74         bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092}\r
75         security:\r
76             protocol: PLAINTEXT\r
77         producer:\r
78             value-serializer: org.springframework.kafka.support.serializer.JsonSerializer\r
79             client-id: cps-core\r
80         consumer:\r
81             group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group}\r
82             key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer\r
83             value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer\r
84             properties:\r
85                 spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer\r
86                 spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer\r
87                 spring.json.value.default.type: org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent\r
88                 spring.json.use.type.headers: false\r
89 \r
90     jackson:\r
91       default-property-inclusion: NON_NULL\r
92       serialization:\r
93         FAIL_ON_EMPTY_BEANS: false\r
94 app:\r
95     ncmp:\r
96         async-m2m:\r
97             topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}\r
98     lcm:\r
99         events:\r
100             topic: ${LCM_EVENTS_TOPIC:ncmp-events}\r
101 \r
102 notification:\r
103     enabled: true\r
104     data-updated:\r
105         topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events}\r
106         filters:\r
107             enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}\r
108     async:\r
109         executor:\r
110             core-pool-size: 2\r
111             max-pool-size: 10\r
112             queue-capacity: 500\r
113             wait-for-tasks-to-complete-on-shutdown: true\r
114             thread-name-prefix: Async-\r
115             time-out-value-in-ms: 2000\r
116 \r
117 springdoc:\r
118     swagger-ui:\r
119         disable-swagger-default-url: true\r
120         urlsPrimaryName: cps-core\r
121         urls:\r
122             - name: cps-core\r
123               url: /api-docs/cps-core/openapi.yaml\r
124             - name: cps-ncmp\r
125               url: /api-docs/cps-ncmp/openapi.yaml\r
126             - name: cps-ncmp-inventory\r
127               url: /api-docs/cps-ncmp/openapi-inventory.yaml\r
128 \r
129 \r
130 security:\r
131     # comma-separated uri patterns which do not require authorization\r
132     permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**\r
133     auth:\r
134         username: ${CPS_USERNAME}\r
135         password: ${CPS_PASSWORD}\r
136 \r
137 # Actuator\r
138 management:\r
139     server:\r
140         port: 8081\r
141     endpoints:\r
142         web:\r
143             base-path: /manage\r
144             exposure:\r
145                 include: info,health,loggers,prometheus\r
146     endpoint:\r
147         health:\r
148             show-details: always\r
149             # kubernetes probes: liveness and readiness\r
150             probes:\r
151                 enabled: true\r
152 \r
153 logging:\r
154     format: json\r
155     level:\r
156         org:\r
157             springframework: INFO\r
158             onap:\r
159                 cps: INFO\r
160 \r
161 dmi:\r
162     auth:\r
163         username: ${DMI_USERNAME}\r
164         password: ${DMI_PASSWORD}\r
165     api:\r
166         base-path: dmi\r
167 \r
168 timers:\r
169     advised-modules-sync:\r
170         sleep-time-ms: 30000\r
171     locked-modules-sync:\r
172         sleep-time-ms: 300000\r
173     cm-handle-data-sync:\r
174         sleep-time-ms: 30000\r