blob: ff7a7d6130609f2f1d3fff113cc56ab87f430809 [file] [log] [blame]
#
# ============LICENSE_START=======================================================
# org.onap.aai
# ================================================================================
# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.
# Copyright (c) 2020-2021 Orange Intellectual Property. All rights reserved.
# ================================================================================
# 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.
# ============LICENSE_END=========================================================
# Default values for resources.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global: # global defaults
nodePortPrefix: 302
cassandra:
#This will instantiate AAI cassandra cluster, default:shared cassandra.
localCluster: false
initContainers:
enabled: true
jobs:
# When enabled, it will create the schema based on oxm and edge rules
createSchema:
enabled: true
#migration using helm hooks
migration:
enabled: false
config:
# Specifies that the cluster connected to a dynamic
# cluster being spinned up by kubernetes deployment
cluster:
cassandra:
dynamic: true
# Specifies if the basic authorization is enabled
basic:
auth:
enabled: true
username: AAI
passwd: AAI
# Notification event specific properties
notification:
eventType: AAI-EVENT
domain: dev
# Schema specific properties that include supported versions of api
schema:
# Specifies if the connection should be one way ssl, two way ssl or no auth
# will be set to no-auth if tls is disabled
service:
client: one-way-ssl
# Specifies which translator to use if it has schema-service, then it will
# make a rest request to schema service
translator:
list: schema-service
source:
# Specifies which folder to take a look at
name: onap
uri:
# Base URI Path of the application
base:
path: /aai
version:
# Current version of the REST API
api:
default: v27
# Specifies which version the depth parameter is configurable
depth: v11
# List of all the supported versions of the API
list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27
# Specifies from which version related link should appear
related:
link: v11
# Specifies from which version the app root change happened
app:
root: v11
# Specifies from which version the xml namespace changed
namespace:
change: v12
# Specifies from which version the edge label appeared in API
edge:
label: v12
# Specifies which clients should always default to realtime graph connection
realtime:
clients: SDNC,-1|MSO,-1|SO,-1|robot-ete,-1
#################################################################
# Certificate configuration
#################################################################
certInitializer:
nameOverride: aai-graphadmin-cert-initializer
aafDeployFqi: deployer@people.osaaf.org
aafDeployPass: demo123456!
# aafDeployCredsExternalSecret: some secret
fqdn: aai
fqi: aai@aai.onap.org
public_fqdn: aai.onap.org
cadi_longitude: "0.0"
cadi_latitude: "0.0"
app_ns: org.osaaf.aaf
credsPath: /opt/app/osaaf/local
fqi_namespace: org.onap.aai
user_id: &user_id 1000
group_id: &group_id 1000
aaf_add_config: |
echo "*** changing them into shell safe ones"
export KEYSTORE_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
export KEYSTORE_JKS_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
export TRUSTSTORE_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
cd {{ .Values.credsPath }}
keytool -storepasswd -new "${KEYSTORE_PLAIN_PASSWORD}" \
-storepass "${cadi_keystore_password_p12}" \
-keystore {{ .Values.fqi_namespace }}.p12
keytool -storepasswd -new "${TRUSTSTORE_PLAIN_PASSWORD}" \
-storepass "${cadi_truststore_password}" \
-keystore {{ .Values.fqi_namespace }}.trust.jks
keytool -storepasswd -new "${KEYSTORE_JKS_PLAIN_PASSWORD}" \
-storepass "${cadi_keystore_password_jks}" \
-keystore {{ .Values.fqi_namespace }}.jks
echo "*** set key password as same password as keystore password"
keytool -keypasswd -new "${KEYSTORE_JKS_PLAIN_PASSWORD}" \
-keystore {{ .Values.fqi_namespace }}.jks \
-keypass "${cadi_keystore_password_jks}" \
-storepass "${KEYSTORE_JKS_PLAIN_PASSWORD}" -alias {{ .Values.fqi }}
echo "*** writing passwords into prop file"
echo "KEYSTORE_PLAIN_PASSWORD=${KEYSTORE_PLAIN_PASSWORD}" > {{ .Values.credsPath }}/mycreds.prop
echo "KEYSTORE_JKS_PLAIN_PASSWORD=${KEYSTORE_JKS_PLAIN_PASSWORD}" >> {{ .Values.credsPath }}/mycreds.prop
echo "TRUSTSTORE_PLAIN_PASSWORD=${TRUSTSTORE_PLAIN_PASSWORD}" >> {{ .Values.credsPath }}/mycreds.prop
echo "*** change ownership of certificates to targeted user"
chown -R {{ .Values.user_id }}:{{ .Values.group_id }} {{ .Values.credsPath }}
# application image
image: onap/aai-graphadmin:1.11.2
pullPolicy: Always
restartPolicy: Always
flavor: small
flavorOverride: small
# default number of instances
replicaCount: 1
# the minimum number of seconds that a newly created Pod should be ready
minReadySeconds: 30
updateStrategy:
type: RollingUpdate
# The number of pods that can be unavailable during the update process
maxUnavailable: 0
# The number of pods that can be created above the desired amount of pods during an update
maxSurge: 1
# Configuration for the graphadmin deployment
config:
# Specify the profiles for the graphadmin microservice
profiles:
# one way ssl profile will be set unless tlsEnabled is set to false or serviceMesh is enabled and
# serviceMesh.tls is set to tru
active: dmaap #,one-way-ssl"
# Specifies the timeout limit for the REST API requests
timeout:
enabled: true
limit: 180000
# Default maximum records to fix for the data grooming and dupeTool
maxFix:
dataGrooming: 150
dupeTool: 25
# Default number of sleep minutes for dataGrooming and dupeTool
sleepMinutes:
dataGrooming: 7
dupeTool: 7
# Cron specific attributes to be triggered for the graphadmin spring cron tasks
cron:
# Specifies that the data grooming tool which runs duplicates should be enabled
dataGrooming:
enabled: true
# Specifies that the data snapshot which takes a graphson snapshot should be enabled
dataSnapshot:
enabled: true
params: JUST_TAKE_SNAPSHOT
# Data cleanup which zips snapshots older than x days and deletes older than y days
dataCleanup:
dataGrooming:
enabled: true
# Zips up the dataGrooming files older than 5 days
ageZip: 5
# Deletes the dataGrooming files older than 30 days
ageDelete: 30
dataSnapshot:
enabled: true
# Zips up the dataSnapshot graphson files older than 5 days
ageZip: 5
# Deletes the dataSnapshot graphson files older than 30 days
ageDelete: 30
# Concurrency lock control flag
aai:
lock:
uri:
enabled: false
nodeSelector: {}
affinity: {}
# probe configuration parameters
liveness:
initialDelaySeconds: 60
periodSeconds: 60
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
enabled: false
readiness:
initialDelaySeconds: 60
periodSeconds: 10
service:
type: ClusterIP
# REST API port for the graphadmin microservice
portName: http
internalPort: 8449
portName2: tcp-5005
internalPort2: 5005
portName3: aai-graphadmin-8448
internalPort3: 8448
terminationGracePeriodSeconds: 120
ingress:
enabled: false
persistence:
enabled: true
## A manually managed Persistent Volume and Claim
## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
volumeReclaimPolicy: Retain
## database data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
accessMode: ReadWriteMany
size: 2Gi
mountPath: /dockerdata-nfs
mountSubPath: aai/aai-graphadmin
mountSubPath1: aai/migration
# To make logback capping values configurable
logback:
logToFileEnabled: true
maxHistory: 7
totalSizeCap: 6GB
queueSize: 1000
accessLogback:
logToFileEnabled: true
maxHistory: 7
totalSizeCap: 6GB
resources:
small:
limits:
cpu: 2
memory: 4Gi
requests:
cpu: 0.5
memory: 1536Mi
large:
limits:
cpu: 4
memory: 8Gi
requests:
cpu: 1
memory: 2Gi
unlimited: {}
metrics:
serviceMonitor:
enabled: false
targetPort: 8448
path: /prometheus
basicAuth:
enabled: false
selector:
app: '{{ include "common.name" . }}'
chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
release: '{{ include "common.release" . }}'
heritage: '{{ .Release.Service }}'
relabelings: []
metricRelabelings: []
# Not fully used for now
securityContext:
user_id: *user_id
group_id: *group_id
#Pods Service Account
serviceAccount:
nameOverride: aai-graphadmin
roles:
- read
#Log configuration
log:
path: /var/log/onap
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'