Merge "[CPS] Service Mesh Compliance for CPS"
[oom.git] / kubernetes / cps / components / cps-core / values.yaml
1 #  Copyright (C) 2021 Pantheon.tech, Orange, Bell Canada.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 #################################################################
16 # Secrets.
17 #################################################################
18 secrets:
19   - uid: pg-root-pass
20     name: &pgRootPassSecretName '{{ include "common.release" . }}-cps-core-pg-root-pass'
21     type: password
22     externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "cps-core-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
23     password: '{{ .Values.postgres.config.pgRootpassword }}'
24     policy: generate
25   - uid: pg-user-creds
26     name: &pgUserCredsSecretName '{{ include "common.release" . }}-cps-core-pg-user-creds'
27     type: basicAuth
28     externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "cps-core-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
29     login: '{{ .Values.postgres.config.pgUserName }}'
30     password: '{{ .Values.postgres.config.pgUserPassword }}'
31     passwordPolicy: generate
32   - uid: app-user-creds
33     type: basicAuth
34     externalSecret: '{{ tpl (default "" .Values.config.appUserExternalSecret) . }}'
35     login: '{{ .Values.config.appUserName }}'
36     password: '{{ .Values.config.appUserPassword }}'
37     passwordPolicy: generate
38   - uid: dmi-plugin-user-creds
39     type: basicAuth
40     externalSecret: '{{ tpl (default "" .Values.config.dmiPluginUserExternalSecret) . }}'
41     login: '{{ .Values.config.dmiPluginUserName }}'
42     password: '{{ .Values.config.dmiPluginUserPassword }}'
43     passwordPolicy: generate
44
45 #################################################################
46 # Global configuration defaults.
47 #################################################################
48
49 # bitnami image doesn't support well single quote in password
50 passwordStrengthOverride: basic
51 global:
52   ingress:
53     virtualhost:
54       baseurl: "simpledemo.onap.org"
55   #Service Names of the postgres db to connect to.
56   #Override it to cps-postgres if localCluster is enabled.
57   postgres:
58     localCluster: false
59     service:
60       name: pgset
61       name2: tcp-pgset-primary
62       name3: tcp-pgset-replica
63     container:
64       name: postgres
65
66 image: onap/cps-and-ncmp:2.0.1
67 containerPort: &svc_port 8080
68 managementPort: &mgt_port 8081
69
70 service:
71   type: ClusterIP
72   name: cps-core
73   ports:
74     - name: &port http
75       port: *svc_port
76     - name: http-management
77       port: *mgt_port
78       targetPort: *mgt_port
79
80 prometheus:
81   enabled: true
82
83 metrics:
84   serviceMonitor:
85     enabled: true
86     port: http-management
87       ## specify target port if name is not given to the port in the service definition
88       ##
89     # targetPort: 8080
90     path: /manage/prometheus
91     interval: 60s
92     basicAuth:
93       enabled: false
94
95 pullPolicy: Always
96 # flag to enable debugging - application support required
97 debugEnabled: false
98 nodeSelector: {}
99 affinity: {}
100 # Resource Limit flavor -By Default using small
101 flavor: small
102 # default number of instances
103 replicaCount: 1
104 # Segregation for Different environment (Small and Large)
105 resources:
106   small:
107     limits:
108       cpu: 2
109       memory: 2Gi
110     requests:
111       cpu: 1
112       memory: 1Gi
113   large:
114     limits:
115       cpu: 4
116       memory: 4Gi
117     requests:
118       cpu: 2
119       memory: 2Gi
120   unlimited: {}
121 # probe configuration parameters
122 liveness:
123   initialDelaySeconds: 20
124   periodSeconds: 20
125   # necessary to disable liveness probe when setting breakpoints
126   # in debugger so K8s doesn't restart unresponsive container
127   enabled: true
128   path: /manage/health
129   port: *mgt_port
130
131 readiness:
132   initialDelaySeconds: 15
133   periodSeconds: 15
134   path: /manage/health
135   port: *mgt_port
136
137 ingress:
138   enabled: true
139   service:
140     - baseaddr: "cps-core"
141       path: "/"
142       name: "cps-core"
143       port: *svc_port
144
145 serviceAccount:
146   nameOverride: cps-core
147   roles:
148     - read
149
150 securityContext:
151   user_id: 100
152   group_id: 655533
153
154 #################################################################
155 # Application configuration defaults.
156 #################################################################
157
158 config:
159
160   # Set it for pre loading xnfdata, else set to null
161   liquibaseLabels: xnf-data-preload
162
163   # REST API basic authentication credentials (passsword is generated if not provided)
164   appUserName: cpsuser
165   spring:
166     profile: helm
167   #appUserPassword:
168   dmiPluginUserName: dmiuser
169 # Any new property can be added in the env by setting in overrides in the format mentioned below
170 # All the added properties must be in "key: value" format insead of yaml.
171 #  additional:
172 #    spring.config.max-size: 200
173 #    spring.config.min-size: 10
174
175   eventPublisher:
176     spring.kafka.bootstrap-servers: message-router-kafka:9092
177     spring.kafka.security.protocol: SASL_PLAINTEXT
178     spring.kafka.properties.sasl.mechanism: PLAIN
179     spring.kafka.properties.sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username=admin password=admin_secret;
180     spring.kafka.producer.client-id: cps-core
181
182   additional:
183     notification.data-updated.enabled: true
184     notification.data-updated.topic: cps.data-updated-events
185     notification.data-updated.filters.enabled-dataspaces: ""
186     notification.async.enabled: false
187     notification.async.executor.core-pool-size: 2
188     notification.async.executor.max-pool-size: 1
189     notification.async.executor.queue-capacity: 500
190     notification.async.executor.wait-for-tasks-to-complete-on-shutdown: true
191     notification.async.executor.thread-name-prefix: Async-
192
193 logging:
194   level: INFO
195   path: /tmp
196
197 #################################################################
198 # Postgres overriding defaults in the postgres
199 #################################################################
200 postgres:
201   nameOverride: &postgresName cps-core-postgres
202   service:
203     name: *postgresName
204     name2: cps-core-pg-primary
205     name3: cps-core-pg-replica
206   container:
207     name:
208       primary: cps-core-pg-primary
209       replica: cps-core-pg-replica
210   persistence:
211     mountSubPath: cps-core/data
212     mountInitPath: cps-core
213   config:
214     pgUserName: cps
215     pgDatabase: cpsdb
216     pgUserExternalSecret: *pgUserCredsSecretName
217     pgRootPasswordExternalSecret: *pgRootPassSecretName
218
219 postgres-init:
220   nameOverride: cps-postgres-init
221   config:
222     pgUserName: cps
223     pgDatabase: cpsdb
224     pgDataPath: data
225     pgUserExternalSecret: *pgUserCredsSecretName
226
227     # pgPrimaryPassword: password
228     # pgUserPassword: password
229     # pgRootPassword: password
230
231 readinessCheck:
232   wait_for:
233     - '{{ ternary .Values.postgres.service.name "postgres" .Values.global.postgres.localCluster }}'
234
235 minReadySeconds: 10
236 updateStrategy:
237   type: RollingUpdate
238   maxUnavailable: 0
239   maxSurge: 1