[OOM] Fixing k8s resources and limits
[oom.git] / kubernetes / cps / components / cps-core / values.yaml
index ae8bccd..f0ff770 100644 (file)
@@ -1,4 +1,6 @@
-#  Copyright (C) 2021 Pantheon.tech, Orange, Bell Canada.
+# Copyright (C) 2021 Pantheon.tech, Orange, Bell Canada.
+# Modifications Copyright (C) 2022 Bell Canada
+# Modifications Copyright © 2022-2023 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 #################################################################
 secrets:
   - uid: pg-root-pass
-    name: &pgRootPassSecretName '{{ include "common.release" . }}-cps-pg-root-pass'
+    name: &pgRootPassSecretName '{{ include "common.release" . }}-cps-core-pg-root-pass'
     type: password
-    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "cps-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
+    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "cps-core-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
     password: '{{ .Values.postgres.config.pgRootpassword }}'
     policy: generate
   - uid: pg-user-creds
-    name: &pgUserCredsSecretName '{{ include "common.release" . }}-cps-pg-user-creds'
+    name: &pgUserCredsSecretName '{{ include "common.release" . }}-cps-core-pg-user-creds'
     type: basicAuth
-    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "cps-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "cps-core-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
     login: '{{ .Values.postgres.config.pgUserName }}'
     password: '{{ .Values.postgres.config.pgUserPassword }}'
     passwordPolicy: generate
@@ -35,6 +37,12 @@ secrets:
     login: '{{ .Values.config.appUserName }}'
     password: '{{ .Values.config.appUserPassword }}'
     passwordPolicy: generate
+  - uid: dmi-plugin-user-creds
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.config.dmiPluginUserExternalSecret) . }}'
+    login: '{{ .Values.config.dmiPluginUserName }}'
+    password: '{{ .Values.config.dmiPluginUserPassword }}'
+    passwordPolicy: generate
 
 #################################################################
 # Global configuration defaults.
@@ -46,9 +54,23 @@ global:
   ingress:
     virtualhost:
       baseurl: "simpledemo.onap.org"
+  #Service Names of the postgres db to connect to.
+  #Override it to cps-postgres if localCluster is enabled.
+  postgres:
+    localCluster: false
+    service:
+      name: pgset
+      externalPort: 5432
+      name2: tcp-pgset-primary
+      externalPort2: 5432
+      name3: tcp-pgset-replica
+      externalPort3: 5432
+    container:
+      name: postgres
 
-image: onap/cps-and-nf-proxy:1.0.1
+image: onap/cps-and-ncmp:3.2.6
 containerPort: &svc_port 8080
+managementPort: &mgt_port 8081
 
 service:
   type: ClusterIP
@@ -56,6 +78,23 @@ service:
   ports:
     - name: &port http
       port: *svc_port
+    - name: http-management
+      port: *mgt_port
+      targetPort: *mgt_port
+
+prometheus:
+  enabled: false
+
+metrics:
+  serviceMonitor:
+    port: http-management
+      ## specify target port if name is not given to the port in the service definition
+      ##
+    # targetPort: 8080
+    path: /manage/prometheus
+    interval: 60s
+    basicAuth:
+      enabled: false
 
 pullPolicy: Always
 # flag to enable debugging - application support required
@@ -70,18 +109,18 @@ replicaCount: 1
 resources:
   small:
     limits:
-      cpu: 2
-      memory: 2Gi
+      cpu: 999
+      memory: 1.5Gi
     requests:
       cpu: 1
-      memory: 1Gi
+      memory: 1.5Gi
   large:
     limits:
-      cpu: 4
-      memory: 4Gi
+      cpu: 999
+      memory: 3Gi
     requests:
       cpu: 2
-      memory: 2Gi
+      memory: 3Gi
   unlimited: {}
 # probe configuration parameters
 liveness:
@@ -91,18 +130,24 @@ liveness:
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
   path: /manage/health
-  port: *port
+  port: *mgt_port
 
 readiness:
   initialDelaySeconds: 15
   periodSeconds: 15
   path: /manage/health
-  port: *port
+  port: *mgt_port
+
+startup:
+  failureThreshold: 5
+  periodSeconds: 60
+  path: /manage/health
+  port: *mgt_port
 
 ingress:
   enabled: true
   service:
-    - baseaddr: "cps-core"
+    - baseaddr: "cps-core-api"
       path: "/"
       name: "cps-core"
       port: *svc_port
@@ -121,8 +166,7 @@ securityContext:
 #################################################################
 
 config:
-
-  # Set it for pre loading xnfdata, else set to null
+  # Set it for preloading xnfdata, else set to null
   liquibaseLabels: xnf-data-preload
 
   # REST API basic authentication credentials (passsword is generated if not provided)
@@ -130,13 +174,61 @@ config:
   spring:
     profile: helm
   #appUserPassword:
-
+  dmiPluginUserName: dmiuser
 # Any new property can be added in the env by setting in overrides in the format mentioned below
-# All the added properties must be in "key: value" format insead of yaml.
+# All the added properties must be in "key: value" format instead of yaml.
 #  additional:
 #    spring.config.max-size: 200
 #    spring.config.min-size: 10
 
+  additional:
+    notification.enabled: true
+    notification.data-updated.topic: &dataUpdatedTopic cps.data-updated-events
+    notification.data-updated.filters.enabled-dataspaces: ""
+    notification.async.enabled: false
+    notification.async.executor.core-pool-size: 2
+    notification.async.executor.max-pool-size: 10
+    notification.async.executor.queue-capacity: 500
+    notification.async.executor.wait-for-tasks-to-complete-on-shutdown: true
+    notification.async.executor.thread-name-prefix: Async-
+
+# Strimzi KafkaUser and Topic config
+kafkaTopic:
+  - name: &dmiCmEventsTopic dmi-cm-events
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &ncmpAsyncM2MTopic ncmp-async-m2m
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+  - name: &cmAvcSubscriptionTopic cm-avc-subscription
+    retentionMs: 7200000
+    segmentBytes: 1073741824
+
+kafkaUser:
+  authenticationType: scram-sha-512
+  acls:
+    - name: cps-core-group
+      type: group
+      operations: [Read]
+    - name: *dataUpdatedTopic
+      type: topic
+      operations: [Write]
+    - name: *dmiCmEventsTopic
+      type: topic
+      operations: [Read]
+    - name: *ncmpAsyncM2MTopic
+      type: topic
+      operations: [Read]
+    - name: *cmAvcSubscriptionTopic
+      type: topic
+      operations: [Read]
+
+topics:
+  config:
+    app.ncmp.async-m2m.topic: *ncmpAsyncM2MTopic
+    app.ncmp.avc.subscription-topic: *cmAvcSubscriptionTopic
+    app.dmi.cm-events.topic: *dmiCmEventsTopic
+
 logging:
   level: INFO
   path: /tmp
@@ -145,24 +237,46 @@ logging:
 # Postgres overriding defaults in the postgres
 #################################################################
 postgres:
-  nameOverride: &postgresName cps-postgres
+  postgresInit: true
+  nameOverride: &postgresName cps-core-postgres
   service:
     name: *postgresName
-    name2: cps-pg-primary
-    name3: cps-pg-replica
+    externalPort: 5432
+    name2: cps-core-pg-primary
+    externalPort2: 5432
+    name3: cps-core-pg-replica
+    externalPort3: 5432
   container:
     name:
-      primary: cps-pg-primary
-      replica: cps-pg-replica
+      primary: cps-core-pg-primary
+      replica: cps-core-pg-replica
   persistence:
-    mountSubPath: cps/data
-    mountInitPath: cps
+    mountSubPath: cps-core/data
+    mountInitPath: cps-core
   config:
     pgUserName: cps
     pgDatabase: cpsdb
     pgUserExternalSecret: *pgUserCredsSecretName
     pgRootPasswordExternalSecret: *pgRootPassSecretName
 
+postgres-init:
+  nameOverride: cps-postgres-init
+  config:
+    pgUserName: cps
+    pgDatabase: cpsdb
+    pgDataPath: data
+    pgUserExternalSecret: *pgUserCredsSecretName
+
+    # pgPrimaryPassword: password
+    # pgUserPassword: password
+    # pgRootPassword: password
+
 readinessCheck:
   wait_for:
-    - cps-postgres
+    - '{{ ternary .Values.postgres.service.name "postgres" .Values.global.postgres.localCluster }}'
+
+minReadySeconds: 10
+updateStrategy:
+  type: RollingUpdate
+  maxUnavailable: 0
+  maxSurge: 1