Introduce control switch
[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-2023 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         show-sql: false\r
37         ddl-auto: create\r
38         open-in-view: false\r
39         properties:\r
40             hibernate:\r
41                 enable_lazy_load_no_trans: true\r
42                 dialect: org.hibernate.dialect.PostgreSQLDialect\r
43 \r
44     datasource:\r
45         url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb\r
46         username: ${DB_USERNAME}\r
47         password: ${DB_PASSWORD}\r
48         driverClassName: org.postgresql.Driver\r
49         hikari:\r
50             minimumIdle: 5\r
51             maximumPoolSize: 80\r
52             idleTimeout: 60000\r
53             connectionTimeout: 120000\r
54             leakDetectionThreshold: 30000\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.use.type.headers: false\r
88 \r
89     jackson:\r
90         default-property-inclusion: NON_NULL\r
91         serialization:\r
92             FAIL_ON_EMPTY_BEANS: false\r
93     sql:\r
94         init:\r
95             mode: ALWAYS\r
96 app:\r
97     ncmp:\r
98         async-m2m:\r
99             topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}\r
100         avc:\r
101             subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:cm-avc-subscription}\r
102     lcm:\r
103         events:\r
104             topic: ${LCM_EVENTS_TOPIC:ncmp-events}\r
105     dmi:\r
106         cm-events:\r
107             topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events}\r
108 \r
109 \r
110 notification:\r
111     enabled: true\r
112     data-updated:\r
113         topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events}\r
114         filters:\r
115             enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}\r
116     async:\r
117         executor:\r
118             core-pool-size: 2\r
119             max-pool-size: 10\r
120             queue-capacity: 500\r
121             wait-for-tasks-to-complete-on-shutdown: true\r
122             thread-name-prefix: Async-\r
123             time-out-value-in-ms: 2000\r
124 \r
125 springdoc:\r
126     swagger-ui:\r
127         disable-swagger-default-url: true\r
128         urlsPrimaryName: cps-core\r
129         urls:\r
130             - name: cps-core\r
131               url: /api-docs/cps-core/openapi.yaml\r
132             - name: cps-ncmp\r
133               url: /api-docs/cps-ncmp/openapi.yaml\r
134             - name: cps-ncmp-inventory\r
135               url: /api-docs/cps-ncmp/openapi-inventory.yaml\r
136 \r
137 \r
138 security:\r
139     # comma-separated uri patterns which do not require authorization\r
140     permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**\r
141     auth:\r
142         username: ${CPS_USERNAME}\r
143         password: ${CPS_PASSWORD}\r
144 \r
145 # Actuator\r
146 management:\r
147     server:\r
148         port: 8081\r
149     endpoints:\r
150         web:\r
151             base-path: /manage\r
152             exposure:\r
153                 include: info,health,loggers,prometheus\r
154     endpoint:\r
155         health:\r
156             show-details: always\r
157             # kubernetes probes: liveness and readiness\r
158             probes:\r
159                 enabled: true\r
160 \r
161 logging:\r
162     format: json\r
163     level:\r
164         org:\r
165             springframework: INFO\r
166             onap:\r
167                 cps: INFO\r
168 ncmp:\r
169     dmi:\r
170         auth:\r
171             username: ${DMI_USERNAME}\r
172             password: ${DMI_PASSWORD}\r
173         api:\r
174             base-path: dmi\r
175 \r
176     timers:\r
177         advised-modules-sync:\r
178             sleep-time-ms: 5000\r
179         locked-modules-sync:\r
180             sleep-time-ms: 300000\r
181         cm-handle-data-sync:\r
182             sleep-time-ms: 30000\r
183 \r
184     modules-sync-watchdog:\r
185         async-executor:\r
186             parallelism-level: 10\r
187 \r
188     model-loader:\r
189         subscription: false