-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathapplication.yml
153 lines (151 loc) · 6.26 KB
/
application.yml
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
################################################################################
# Copyright (c) 2021,2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://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
################################################################################
bpdm:
# Name of this application (shown in Swagger) (on default set by maven resource filtering)
name: '@project.name@'
# Version of this application (shown in Swagger) (on default set by maven resource filtering)
version: '@project.version@'
# Description of this application (shown in Swagger) (on default set by maven resource filtering)
description: '@project.description@'
# BPDM application specific logging configuration
logging:
# Default username logged if no user could be authenticated in the request
unknown-user: Anonymous
api:
# The maximum amount of business partner entries that can be upserted over the API
upsert-limit: 100
task:
# When and how often tasks should be checked for timeout
timeoutCheckCron: 10 0/5 * * * ?
# How long tasks can be in pending state before reaching timeout
taskPendingTimeout: 3d
# How long finished tasks are retained
taskRetentionTimeout: 30d
security:
# Allowed origins for CORS
cors-origins: '*'
# Whether endpoints should be authenticated/authorized
enabled: true
# Base-URL including protocol of the Keycloak server
auth-server-url: http://localhost:8180
# URL to the auth endpoint of the Keycloak server
auth-url: ${bpdm.security.auth-server-url}/realms/${bpdm.security.realm}/protocol/openid-connect/auth
# This application's resource or client. Used for finding permissions in the given Bearer token
client-id: BPDM-ORCHESTRATOR
# The keycloak realm to consider
realm: CX-Central
# URL to the token refresh endpoint of the Keycloak server
refresh-url: ${bpdm.security.token-url}
# URL to the token validation endpoint of the Keycloak server
token-url: ${bpdm.security.auth-server-url}/realms/${bpdm.security.realm}/protocol/openid-connect/token
permissions:
# Name of permission to create golden record tasks
createTask: create_task
# Name of permission to read task status and overall results
readTask: read_task
reservation:
# Name of permission to create reservations for tasks in step 'Clean'
clean: create_reservation_clean
# Name of permission to create reservations for tasks in step 'CleanAndSync'
cleanAndSync: create_reservation_cleanAndSync
# Name of permission to create reservations for tasks in step 'PoolSync'
poolSync: create_reservation_poolSync
result:
# Name of permission to post results for tasks in step 'Clean'
clean: create_result_clean
# Name of permission to post results for tasks in step 'CleanAndSync'
cleanAndSync: create_result_cleanAndSync
# Name of permission to post results for tasks in step 'PoolSync'
poolSync: create_result_poolSync
datasource:
# Host name of the used datasource
host: localhost
# The database schema to use for this application
schema: bpdm-orchestrator
server:
# Change default port to avoid clash with other BPDM applications
port: 8085
spring:
security:
oauth2:
resourceserver:
# Infer the uris for token validation from the application's security properties
jwt:
issuer-uri: ${bpdm.security.auth-server-url}/realms/${bpdm.security.realm}
jwk-set-uri: ${bpdm.security.auth-server-url}/realms/${bpdm.security.realm}/protocol/openid-connect/certs
datasource:
# We use postgres as datasource
driverClassName: org.postgresql.Driver
# No password on default (Change for production)
password: ''
# Connect to postgres database over jdbc protocol
url: jdbc:postgresql://${bpdm.datasource.host}:5432/bpdm
# Default username for BPDM applications
username: bpdm
flyway:
# Activate flyway for automatic database migration
enabled: true
# Apply migrations to this application's default schema
schemas: ${bpdm.datasource.schema}
jpa:
properties:
# We use hibernate as JPA implementation
hibernate:
# Hibernate should assume the default schema of this application on default
default_schema: ${bpdm.datasource.schema}
create_empty_composites:
enabled: true
logging:
pattern:
# Use BPDM custom log pattern
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %green([%-10.10X{user:-System}]) %magenta([%-10.10X{request:-No Request}]) %yellow([%-15.15t]) %cyan(%-40.40logger{39}) : %m%n%wEx"
level:
# On default show only logs from INFO and above
root: INFO
org:
eclipse:
tractusx:
# Logs from the BPDM applications should be DEBUG and above
bpdm: DEBUG
management:
endpoint:
health:
probes:
# Enable actuator health endpoints for probing
enabled: true
health:
livenessState:
# Include liveness state in health response (responsive at all)
enabled: true
readinessState:
# Include readiness state in health response (ready to accept traffic)
enabled: true
springdoc:
api-docs:
# Generate Open-API document
enabled: true
# The path of the Open-API document
path: /docs/api-docs
swagger-ui:
# Swagger UI should not be available at its default URL (instead on location defined in path)
disable-swagger-default-url: true
# Override default Swagger UI location
path: /ui/swagger-ui
# Show validation specific information for properties (pattern, minimum, maximum, etc...)
show-common-extensions: true