summaryrefslogtreecommitdiffstats
path: root/cps-application/src/main/resources/application.yml
blob: 82c6e0aed1a104dd553d5657b40624cc469eeb80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#  ============LICENSE_START=======================================================
#  Copyright (C) 2021 Pantheon.tech
#  Modifications Copyright (C) 2021 Bell Canada
#  Modifications Copyright (C) 2021 Nordix Foundation
#  ================================================================================
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#  SPDX-License-Identifier: Apache-2.0
#  ============LICENSE_END=========================================================

server:
    port: 8080

rest:
    api:
        cps-base-path: /cps/api
        ncmp-base-path: /ncmp

spring:
    main:
        banner-mode: "off"
    jpa:
        ddl-auto: create
        open-in-view: false
        properties:
            hibernate:
                enable_lazy_load_no_trans: true
                dialect: org.hibernate.dialect.PostgreSQLDialect

    datasource:
        url: jdbc:postgresql://${DB_HOST}:5432/cpsdb
        username: ${DB_USERNAME}
        password: ${DB_PASSWORD}
        driverClassName: org.postgresql.Driver
        initialization-mode: always

    cache:
        type: caffeine
        cache-names: yangSchema
        caffeine:
            spec: maximumSize=10000,expireAfterAccess=10m

    liquibase:
        change-log: classpath:changelog/changelog-master.yaml
        labels: ${LIQUIBASE_LABELS}

    servlet:
        multipart:
            enabled: true
            max-file-size: 100MB
            max-request-size: 100MB

    kafka:
        bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092}
        security:
            protocol: PLAINTEXT
        producer:
            value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
            client-id: cps-core

notification:
    data-updated:
        enabled: false
        topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events}
        filters:
            enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""}
    async-executor:
        core-pool-size: 2
        max-pool-size: 10
        queue-capacity: 500
        wait-for-tasks-to-complete-on-shutdown: true
        thread-name-prefix: Async-


springdoc:
    swagger-ui:
        disable-swagger-default-url: true
        urlsPrimaryName: cps-core
        urls:
            - name: cps-core
              url: /api-docs/cps-core/openapi.yaml
            - name: cps-ncmp
              url: /api-docs/cps-ncmp/openapi.yaml

security:
    # comma-separated uri patterns which do not require authorization
    permit-uri: /manage/**,/swagger-ui/**,/swagger-resources/**,/api-docs
    auth:
        username: ${CPS_USERNAME}
        password: ${CPS_PASSWORD}

# Actuator
management:
    server:
        port: 8081
    endpoints:
        web:
            base-path: /manage
            exposure:
                include: info,health,loggers,prometheus
    endpoint:
        health:
            show-details: always
            # kubernetes probes: liveness and readiness
            probes:
                enabled: true

logging:
    level:
        org:
            springframework: INFO

dmi:
    auth:
        username: ${DMI_USERNAME}
        password: ${DMI_PASSWORD}