| # ============LICENSE_START======================================================= |
| # Copyright (C) 2021 Pantheon.tech |
| # Modifications Copyright (C) 2021-2022 Bell Canada |
| # Modifications Copyright (C) 2021-2024 Nordix Foundation |
| # Modifications Copyright (C) 2024 TechMahindra Ltd |
| # ================================================================================ |
| # 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 |
| ncmp-inventory-base-path: /ncmpInventory |
| |
| spring: |
| main: |
| banner-mode: "off" |
| application: |
| name: "cps-application" |
| jpa: |
| show-sql: false |
| ddl-auto: create |
| open-in-view: false |
| properties: |
| hibernate.enable_lazy_load_no_trans: true |
| hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect |
| # Please ensure these values match those used in integration-test/src/test/resources/application.yml |
| hibernate.id.new_generator_mappings: true |
| hibernate.jdbc.batch_size: 100 |
| |
| datasource: |
| url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb |
| username: ${DB_USERNAME} |
| password: ${DB_PASSWORD} |
| driverClassName: org.postgresql.Driver |
| hikari: |
| minimumIdle: 5 |
| maximumPoolSize: 80 |
| idleTimeout: 60000 |
| connectionTimeout: 30000 |
| leakDetectionThreshold: 30000 |
| pool-name: CpsDatabasePool |
| |
| cache: |
| type: caffeine |
| cache-names: yangSchema |
| caffeine: |
| spec: maximumSize=10000,expireAfterAccess=10m |
| |
| liquibase: |
| change-log: classpath:changelog/changelog-master.yaml |
| label-filter: ${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: io.cloudevents.kafka.CloudEventSerializer |
| client-id: cps-core |
| 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: |
| default-property-inclusion: NON_NULL |
| serialization: |
| FAIL_ON_EMPTY_BEANS: false |
| sql: |
| init: |
| mode: ALWAYS |
| app: |
| ncmp: |
| async-m2m: |
| topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m} |
| avc: |
| cm-subscription-ncmp-in: ${CM_SUBSCRIPTION_NCMP_IN_TOPIC:subscription} |
| 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} |
| cm-subscription-ncmp-out: ${CM_SUBSCRIPTION_NCMP_OUT_TOPIC:subscription-response} |
| cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events} |
| lcm: |
| events: |
| topic: ${LCM_EVENTS_TOPIC:ncmp-events} |
| dmi: |
| cm-events: |
| topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events} |
| device-heartbeat: |
| topic: ${DMI_DEVICE_HEARTBEAT_TOPIC:dmi-device-heartbeat} |
| cps: |
| data-updated: |
| change-event-notifications-enabled: ${CPS_CHANGE_EVENT_NOTIFICATIONS_ENABLED:true} |
| topic: ${CPS_CHANGE_EVENT_TOPIC:cps-data-updated-events} |
| |
| |
| |
| notification: |
| enabled: true |
| 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- |
| time-out-value-in-ms: 60000 |
| |
| 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 |
| - name: cps-ncmp-inventory |
| url: /api-docs/cps-ncmp/openapi-inventory.yaml |
| |
| security: |
| # comma-separated uri patterns which do not require authorization |
| permit-uri: /actuator/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/**,/v3/api-docs/** |
| auth: |
| username: ${CPS_USERNAME:cpsuser} |
| password: ${CPS_PASSWORD:cpsr0cks!} |
| |
| cps: |
| tracing: |
| sampler: |
| jaeger_remote: |
| endpoint: ${ONAP_OTEL_SAMPLER_JAEGER_REMOTE_ENDPOINT:http://onap-otel-collector:14250} |
| exporter: |
| endpoint: ${ONAP_OTEL_EXPORTER_ENDPOINT:http://onap-otel-collector:4317} |
| protocol: ${ONAP_OTEL_EXPORTER_PROTOCOL:grpc} |
| enabled: ${ONAP_TRACING_ENABLED:false} |
| excluded-observation-names: ${ONAP_EXCLUDED_OBSERVATION_NAMES:tasks.scheduled.execution} |
| |
| # Actuator |
| management: |
| tracing: |
| propagation: |
| produce: ${ONAP_PROPAGATOR_PRODUCE:[W3C]} |
| sampling: |
| probability: 1.0 |
| endpoints: |
| web: |
| exposure: |
| include: info,health,loggers,prometheus |
| endpoint: |
| health: |
| show-details: always |
| # kubernetes probes: liveness and readiness |
| probes: |
| enabled: true |
| |
| logging: |
| format: json |
| level: |
| org: |
| springframework: INFO |
| onap: |
| cps: INFO |
| ncmp: |
| policy-executor: |
| enabled: ${POLICY_SERVICE_ENABLED:false} |
| server: |
| address: ${POLICY_SERVICE_URL:http://policy-executor-stub} |
| port: ${POLICY_SERVICE_PORT:8093} |
| httpclient: |
| all-services: |
| maximumInMemorySizeInMegabytes: 16 |
| maximumConnectionsTotal: 100 |
| pendingAcquireMaxCount: 50 |
| connectionTimeoutInSeconds: 30 |
| readTimeoutInSeconds: 30 |
| writeTimeoutInSeconds: 30 |
| dmi: |
| httpclient: |
| data-services: |
| maximumInMemorySizeInMegabytes: 16 |
| maximumConnectionsTotal: 100 |
| pendingAcquireMaxCount: 50 |
| connectionTimeoutInSeconds: 30 |
| readTimeoutInSeconds: 30 |
| writeTimeoutInSeconds: 30 |
| model-services: |
| maximumInMemorySizeInMegabytes: 16 |
| maximumConnectionsTotal: 100 |
| pendingAcquireMaxCount: 50 |
| connectionTimeoutInSeconds: 30 |
| readTimeoutInSeconds: 30 |
| writeTimeoutInSeconds: 30 |
| auth: |
| username: ${DMI_USERNAME:cpsuser} |
| password: ${DMI_PASSWORD:cpsr0cks!} |
| enabled: ${DMI_AUTH_ENABLED:true} |
| api: |
| base-path: dmi |
| |
| timers: |
| advised-modules-sync: |
| sleep-time-ms: 5000 |
| locked-modules-sync: |
| sleep-time-ms: 60000 |
| cm-handle-data-sync: |
| sleep-time-ms: 30000 |
| subscription-forwarding: |
| dmi-response-timeout-ms: 30000 |
| model-loader: |
| retry-time-ms: 1000 |
| trust-level: |
| dmi-availability-watchdog-ms: 30000 |
| |
| modules-sync-watchdog: |
| async-executor: |
| parallelism-level: 10 |
| |
| model-loader: |
| maximum-attempt-count: 20 |
| |
| # Custom Hazelcast Config. |
| hazelcast: |
| cluster-name: ${CPS_NCMP_CACHES_CLUSTER_NAME:"cps-and-ncmp-common-cache-cluster"} |
| mode: |
| kubernetes: |
| enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false} |
| service-name: ${CPS_NCMP_SERVICE_NAME:"cps-and-ncmp-service"} |
| |
| otel: |
| exporter: |
| otlp: |
| traces: |
| protocol: ${ONAP_OTEL_EXPORTER_OTLP_TRACES_PROTOCOL:grpc} |