diff options
author | egernug <gerard.nugent@est.tech> | 2024-06-21 12:53:06 +0100 |
---|---|---|
committer | egernug <gerard.nugent@est.tech> | 2024-06-24 16:14:08 +0100 |
commit | 5e4eb8c3bd9886e4c3ee2089b54236a01a99566b (patch) | |
tree | 1f0870f83ea9a79c90ae34deffad8618000d144c /dmi-service/src/main/resources | |
parent | 92de0b14a9fca76ce2da53c9533c16d7c17eab5e (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.yml | 128 | ||||
-rw-r--r-- | dmi-service/src/main/resources/logback-spring.xml | 75 |
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> |