3f005c9f784dff7dc350b52340e9da2d563b117b
[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 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 \r
50     cache:\r
51         type: caffeine\r
52         cache-names: yangSchema\r
53         caffeine:\r
54             spec: maximumSize=10000,expireAfterAccess=10m\r
55 \r
56     liquibase:\r
57         change-log: classpath:changelog/changelog-master.yaml\r
58         labels: ${LIQUIBASE_LABELS}\r
59 \r
60     servlet:\r
61         multipart:\r
62             enabled: true\r
63             max-file-size: 100MB\r
64             max-request-size: 100MB\r
65 \r
66     kafka:\r
67         bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092}\r
68         security:\r
69             protocol: PLAINTEXT\r
70         producer:\r
71             value-serializer: org.springframework.kafka.support.serializer.JsonSerializer\r
72             client-id: cps-core\r
73         consumer:\r
74             group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group}\r
75             key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer\r
76             value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer\r
77             properties:\r
78                 spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer\r
79                 spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer\r
80                 spring.json.value.default.type: org.onap.cps.ncmp.event.model.DmiAsyncRequestResponseEvent\r
81                 spring.json.use.type.headers: false\r
82 \r
83     jackson:\r
84       default-property-inclusion: NON_NULL\r
85 app:\r
86     ncmp:\r
87         async-m2m:\r
88             topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}\r
89         events:\r
90             topic: ${NCMP_EVENTS_TOPIC:ncmp-events}\r
91 notification:\r
92     data-updated:\r
93         enabled: false\r
94         topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events}\r
95         filters:\r
96             enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}\r
97     async:\r
98         enabled: false\r
99         executor:\r
100             core-pool-size: 2\r
101             max-pool-size: 10\r
102             queue-capacity: 500\r
103             wait-for-tasks-to-complete-on-shutdown: true\r
104             thread-name-prefix: Async-\r
105             time-out-value-in-ms: 2000\r
106 \r
107 springdoc:\r
108     swagger-ui:\r
109         disable-swagger-default-url: true\r
110         urlsPrimaryName: cps-core\r
111         urls:\r
112             - name: cps-core\r
113               url: /api-docs/cps-core/openapi.yaml\r
114             - name: cps-ncmp\r
115               url: /api-docs/cps-ncmp/openapi.yaml\r
116             - name: cps-ncmp-inventory\r
117               url: /api-docs/cps-ncmp/openapi-inventory.yaml\r
118 \r
119 \r
120 security:\r
121     # comma-separated uri patterns which do not require authorization\r
122     permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**\r
123     auth:\r
124         username: ${CPS_USERNAME}\r
125         password: ${CPS_PASSWORD}\r
126 \r
127 # Actuator\r
128 management:\r
129     server:\r
130         port: 8081\r
131     endpoints:\r
132         web:\r
133             base-path: /manage\r
134             exposure:\r
135                 include: info,health,loggers,prometheus\r
136     endpoint:\r
137         health:\r
138             show-details: always\r
139             # kubernetes probes: liveness and readiness\r
140             probes:\r
141                 enabled: true\r
142 \r
143 logging:\r
144     format: json\r
145     level:\r
146         org:\r
147             springframework: INFO\r
148             onap:\r
149                 cps: INFO\r
150 \r
151 dmi:\r
152     auth:\r
153         username: ${DMI_USERNAME}\r
154         password: ${DMI_PASSWORD}\r
155     api:\r
156         base-path: dmi\r
157 \r
158 timers:\r
159     advised-modules-sync:\r
160         sleep-time-ms: 30000