summaryrefslogtreecommitdiffstats
path: root/dmi-service/src/main/resources
diff options
context:
space:
mode:
authoregernug <gerard.nugent@est.tech>2024-06-21 12:53:06 +0100
committeregernug <gerard.nugent@est.tech>2024-06-24 16:14:08 +0100
commit5e4eb8c3bd9886e4c3ee2089b54236a01a99566b (patch)
tree1f0870f83ea9a79c90ae34deffad8618000d144c /dmi-service/src/main/resources
parent92de0b14a9fca76ce2da53c9533c16d7c17eab5e (diff)
Create module structure in DMI Plugin
To push the stub in to DMI Plugin the Plugin will need to be modulized akin to CPS/NCMP. This involves creating a new module in the repo and porting the packages in src into this module Issue-ID: CPS-2284 Change-Id: Iffa4eded4e49c220891fe73c30ea3b2f12a9e66d Signed-off-by: egernug <gerard.nugent@est.tech>
Diffstat (limited to 'dmi-service/src/main/resources')
-rw-r--r--dmi-service/src/main/resources/application.yml128
-rw-r--r--dmi-service/src/main/resources/logback-spring.xml75
2 files changed, 203 insertions, 0 deletions
diff --git a/dmi-service/src/main/resources/application.yml b/dmi-service/src/main/resources/application.yml
new file mode 100644
index 00000000..003aa191
--- /dev/null
+++ b/dmi-service/src/main/resources/application.yml
@@ -0,0 +1,128 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021-2024 Nordix Foundation
+# Modifications Copyright (C) 2021 Bell Canada.
+# ================================================================================
+# 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
+
+dmi:
+ service:
+ url: ${DMI_SERVICE_URL}
+ name: ${DMI_SERVICE_NAME:ncmp-dmi-plugin}
+
+rest:
+ api:
+ dmi-base-path: /dmi
+
+security:
+ permit-uri: /actuator/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**,/v3/api-docs/**
+ auth:
+ username: ${DMI_USERNAME}
+ password: ${DMI_PASSWORD}
+
+# When updating to sprinboot 2.6.4 an exception would occur when starting the container
+# "Failed to start bean 'documentationPluginsBootstrapper'.
+# This is a known issue with springfox and springboot introduced in 2.6.x:
+# https://github.com/springfox/springfox/issues/3462
+spring:
+ application:
+ name: ncmp-dmi-plugin
+ mvc:
+ pathmatch:
+ matching-strategy: ANT_PATH_MATCHER
+ kafka:
+ bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092}
+ security:
+ protocol: PLAINTEXT
+ producer:
+ key-serializer: org.apache.kafka.common.serialization.StringSerializer
+ value-serializer: io.cloudevents.kafka.CloudEventSerializer
+ client-id: ncmp-dmi-plugin
+ consumer:
+ group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group}
+ key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
+ value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
+ properties:
+ spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
+ spring.deserializer.value.delegate.class: io.cloudevents.kafka.CloudEventDeserializer
+ spring.json.use.type.headers: false
+
+ jackson:
+ serialization:
+ FAIL_ON_EMPTY_BEANS: false
+
+app:
+ ncmp:
+ async:
+ topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}
+ dmi:
+ avc:
+ cm-subscription-dmi-in: ${CM_SUBSCRIPTION_DMI_IN_TOPIC:ncmp-dmi-cm-avc-subscription}
+ cm-subscription-dmi-out: ${CM_SUBSCRIPTION_DMI_OUT_TOPIC:dmi-ncmp-cm-avc-subscription}
+
+notification:
+ async:
+ executor:
+ time-out-value-in-ms: 2000
+
+# Actuator
+management:
+ endpoints:
+ web:
+ exposure:
+ include: info,health,loggers,prometheus
+ endpoint:
+ health:
+ show-details: always
+ # kubernetes probes: liveness and readiness
+ probes:
+ enabled: true
+ loggers:
+ enabled: true
+
+cps-core:
+ baseUrl: http://${CPS_CORE_HOST}:${CPS_CORE_PORT}
+ dmiRegistrationUrl : /ncmpInventory/v1/ch
+ auth:
+ username: ${CPS_CORE_USERNAME}
+ password: ${CPS_CORE_PASSWORD}
+
+sdnc:
+ baseUrl: http://${SDNC_HOST}:${SDNC_PORT}
+ topologyId: ${SDNC_TOPOLOGY_ID:topology-netconf}
+ auth:
+ username: ${SDNC_USERNAME}
+ password: ${SDNC_PASSWORD}
+
+logging:
+ format: json
+ level:
+ org.springframework: ERROR
+ org.onap.cps: DEBUG
+ pattern:
+ console: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
+ file: "%d %p %c{1.} [%t] %m%n"
+ file: dmi.log
+
+springdoc:
+ swagger-ui:
+ disable-swagger-default-url: true
+ urlsPrimaryName: query
+ urls:
+ - name: query
+ url: /api-docs/openapi.yaml
diff --git a/dmi-service/src/main/resources/logback-spring.xml b/dmi-service/src/main/resources/logback-spring.xml
new file mode 100644
index 00000000..355209b4
--- /dev/null
+++ b/dmi-service/src/main/resources/logback-spring.xml
@@ -0,0 +1,75 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2022 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=========================================================
+-->
+
+<configuration scan="true" scanPeriod="30 seconds" debug="false">
+
+ <include resource="org/springframework/boot/logging/logback/defaults.xml" />
+ <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
+
+ <springProperty scope="context" name="springAppName" source="spring.application.name"/>
+ <springProperty scope="context" name="username" source="security.auth.username"/>
+ <springProperty scope="context" name="loggingFormat" source="logging.format"/>
+
+ <property name="currentTimeStamp" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC}"/>
+
+ <appender name="jsonConsole"
+ class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+ <providers>
+ <pattern>
+ <omitEmptyFields>true</omitEmptyFields>
+ <pattern>
+ {
+ "logTimeStamp": "${currentTimeStamp:-}",
+ "logTypeName": "",
+ "logLevel": "%level",
+ "traceId": "%X{traceId:-}",
+ "statusCode": "",
+ "principalId": "${username:-}",
+ "serviceName": "${springAppName:-}",
+ "message": "%message",
+ "spanId": "%X{spanId:-}",
+ "processId": "${PID:-}",
+ "threadName": "%thread",
+ "class": "%logger{40}",
+ "exception": "%wEx"
+ }
+ </pattern>
+ </pattern>
+ </providers>
+ </encoder>
+ </appender>
+
+ <appender name="asyncConsole" class="ch.qos.logback.classic.AsyncAppender">
+ <if condition='property("loggingFormat").equalsIgnoreCase("json")'>
+ <then>
+ <appender-ref ref="jsonConsole"/>
+ </then>
+ <else>
+ <appender-ref ref="CONSOLE"/>
+ </else>
+ </if>
+ </appender>
+
+ <root level="INFO">
+ <appender-ref ref="asyncConsole"/>
+ </root>
+
+</configuration>