{ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { "aga": { "type": "object", "properties": { "affinity": { "type": "object" }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "maxReplicas": { "type": "integer" }, "minReplicas": { "type": "integer" }, "targetCPUUtilizationPercentage": { "type": "integer" } } }, "enabled": { "type": "boolean" }, "extraEnvVars": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "fullnameOverride": { "type": "string" }, "license": { "type": "object" }, "image": { "type": "object", "properties": { "name": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" } } }, "ingress": { "type": "object", "properties": { "annotations": { "type": "object" }, "className": { "type": "string" }, "enabled": { "type": "boolean" }, "hosts": { "type": "array", "items": { "type": "object", "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "pathType": { "type": "string" } } } } } } }, "tls": { "type": "array" } } }, "route": { "type": "object", "description": "Values for creating an OCP route", "properties": { "enabled": { "type": "boolean", "description": "Determines if the route should be created" }, "targetPort": { "type": "string", "description": "The port on pods this route points to" }, "tls": { "type": "object", "description": "Values for configuring TLS on an OCP route. More information: https://docs.openshift.com/container-platform/4.9/networking/routes/secured-routes.html", "properties": { "enabled": { "type": "boolean", "description": "Determines if TLS should be enabled" }, "termination": { "type": "string", "description": "Indicates the termination type" }, "insecureEdgeTerminationPolicy": { "type": "string", "description": "Indicates the desired behavior for insecure connections" }, "key": { "type": ["string", "null"], "description": "Key file contents" }, "caCertificate": { "type": ["string", "null"], "description": "Certificate authority certificate contents" }, "certificate": { "type": ["string", "null"], "description": "Certificate contents" }, "destinationCACertificate": { "type": ["string", "null"], "description": "Contents of the CA certificate of the final destination" } } } } }, "livenessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "nameOverride": { "type": "string" }, "nodeSelector": { "type": "object" }, "podAnnotations": { "type": "object" }, "podSecurityContext": { "type": "object" }, "ports": { "type": "object", "properties": { "ui": { "type": "object", "properties": { "port": { "type": "integer" }, "protocol": { "type": "string" } } } } }, "readinessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "replicaCount": { "type": "integer" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "service": { "type": "object", "properties": { "type": { "type": "string" } } }, "serviceAccount": { "type": "object", "properties": { "annotations": { "type": "object" }, "create": { "type": "boolean" }, "name": { "type": "string" } } }, "tolerations": { "type": "array" } } }, "anm": { "type": "object", "required": [ "image", "extraEnvVars" ], "properties": { "affinity": { "type": "object" }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "maxReplicas": { "type": "integer" }, "minReplicas": { "type": "integer" }, "targetCPUUtilizationPercentage": { "type": "integer" } } }, "extraEnvVars": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "fullnameOverride": { "type": "string" }, "license": { "type": "object" }, "image": { "type": "object", "required": [ "repository" ], "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "digest": { "type": "string" } } }, "ingress": { "type": "object", "required": [ "enabled" ], "properties": { "annotations": { "type": "object" }, "className": { "type": "string" }, "enabled": { "type": "boolean" }, "hosts": { "type": "array", "items": { "type": "object", "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "pathType": { "type": "string" } } } } } } }, "tls": { "type": "array" } } }, "route": { "type": "object", "description": "Values for creating an OCP route", "properties": { "enabled": { "type": "boolean", "description": "Determines if the route should be created" }, "targetPort": { "type": "string", "description": "The port on pods this route points to" }, "tls": { "type": "object", "description": "Values for configuring TLS on an OCP route. More information: https://docs.openshift.com/container-platform/4.9/networking/routes/secured-routes.html", "properties": { "enabled": { "type": "boolean", "description": "Determines if TLS should be enabled" }, "termination": { "type": "string", "description": "Indicates the termination type" }, "insecureEdgeTerminationPolicy": { "type": "string", "description": "Indicates the desired behavior for insecure connections" }, "key": { "type": ["string", "null"], "description": "Key file contents" }, "caCertificate": { "type": ["string", "null"], "description": "Certificate authority certificate contents" }, "certificate": { "type": ["string", "null"], "description": "Certificate contents" }, "destinationCACertificate": { "type": ["string", "null"], "description": "Contents of the CA certificate of the final destination" } } } } }, "livenessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "nameOverride": { "type": "string" }, "nodeSelector": { "type": "object" }, "podAnnotations": { "type": "object" }, "podSecurityContext": { "type": "object" }, "ports": { "type": "object", "properties": { "traffic": { "type": "object", "properties": { "port": { "type": "integer" }, "protocol": { "type": "string" } } }, "ui": { "type": "object", "properties": { "port": { "type": "integer" }, "protocol": { "type": "string" } } } } }, "readinessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "replicaCount": { "type": "integer" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "number", "string" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "number", "string" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "service": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ClusterIP", "LoadBalancer", "NodePort", "ExternalName" ] } } }, "serviceAccount": { "type": "object", "required": [ "create" ], "properties": { "annotations": { "type": "object" }, "create": { "type": "boolean" }, "name": { "type": "string" } } }, "tolerations": { "type": "array" }, "updateStrategy": { "type": "object", "properties": { "type": { "type": "string", "description": "Global update strategy for deployments" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer", "description": "The number of pods that can be created above the desired amount of pods during an update" }, "maxUnavailable": { "type": "integer", "description": "The number of pods that can be unavailable during the update process" } } } } } } }, "apimgr": { "required": [ "license" ], "type": "object", "properties": { "affinity": { "type": "object" }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "maxReplicas": { "type": "integer" }, "minReplicas": { "type": "integer" }, "targetCPUUtilizationPercentage": { "type": "integer" } } }, "extraEnvVars": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "fullnameOverride": { "type": "string" }, "license": { "type": "object" }, "image": { "type": "object", "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "digest": { "type": "string" } } }, "ingress": { "type": "object", "properties": { "annotations": { "type": "object" }, "className": { "type": "string" }, "enabled": { "type": "boolean" }, "hosts": { "type": "array", "items": { "type": "object", "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "pathType": { "type": "string" } } } } } } }, "tls": { "type": "array" } } }, "route": { "type": "object", "description": "Values for creating an OCP route", "properties": { "enabled": { "type": "boolean", "description": "Determines if the route should be created" }, "targetPort": { "type": "string", "description": "The port on pods this route points to" }, "tls": { "type": "object", "description": "Values for configuring TLS on an OCP route. More information: https://docs.openshift.com/container-platform/4.9/networking/routes/secured-routes.html", "properties": { "enabled": { "type": "boolean", "description": "Determines if TLS should be enabled" }, "termination": { "type": "string", "description": "Indicates the termination type" }, "insecureEdgeTerminationPolicy": { "type": "string", "description": "Indicates the desired behavior for insecure connections" }, "key": { "type": ["string", "null"], "description": "Key file contents" }, "caCertificate": { "type": ["string", "null"], "description": "Certificate authority certificate contents" }, "certificate": { "type": ["string", "null"], "description": "Certificate contents" }, "destinationCACertificate": { "type": ["string", "null"], "description": "Contents of the CA certificate of the final destination" } } } } }, "livenessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "nameOverride": { "type": "string" }, "nodeSelector": { "type": "object" }, "podAnnotations": { "type": "object" }, "podSecurityContext": { "type": "object" }, "ports": { "type": "object", "properties": { "ui": { "type": "object", "properties": { "port": { "type": "integer" }, "protocol": { "type": "string" } } } } }, "readinessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "replicaCount": { "type": "integer" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "number", "string" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "number", "string" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "service": { "type": "object", "properties": { "type": { "type": "string" } } }, "serviceAccount": { "type": "object", "properties": { "annotations": { "type": "object" }, "create": { "type": "boolean" }, "name": { "type": "string" } } }, "tolerations": { "type": "array" }, "updateStrategy": { "type": "object", "properties": { "type": { "type": "string", "description": "Global update strategy for deployments" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer", "description": "The number of pods that can be created above the desired amount of pods during an update" }, "maxUnavailable": { "type": "integer", "description": "The number of pods that can be unavailable during the update process" } } } } } } }, "apitraffic": { "required": [ "license" ], "type": "object", "properties": { "affinity": { "type": "object" }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "maxReplicas": { "type": "integer" }, "minReplicas": { "type": "integer" }, "targetCPUUtilizationPercentage": { "type": "integer" } } }, "extraEnvVars": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "fullnameOverride": { "type": "string" }, "license": { "type": "object" }, "image": { "type": "object", "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "digest": { "type": "string" } } }, "ingress": { "type": "object", "properties": { "annotations": { "type": "object" }, "className": { "type": "string" }, "enabled": { "type": "boolean" }, "hosts": { "type": "array", "items": { "type": "object", "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "pathType": { "type": "string" } } } } } } }, "tls": { "type": "array" } } }, "route": { "type": "object", "description": "Values for creating an OCP route", "properties": { "enabled": { "type": "boolean", "description": "Determines if the route should be created" }, "targetPort": { "type": "string", "description": "The port on pods this route points to" }, "tls": { "type": "object", "description": "Values for configuring TLS on an OCP route. More information: https://docs.openshift.com/container-platform/4.9/networking/routes/secured-routes.html", "properties": { "enabled": { "type": "boolean", "description": "Determines if TLS should be enabled" }, "termination": { "type": "string", "description": "Indicates the termination type" }, "insecureEdgeTerminationPolicy": { "type": "string", "description": "Indicates the desired behavior for insecure connections" }, "key": { "type": ["string", "null"], "description": "Key file contents" }, "caCertificate": { "type": ["string", "null"], "description": "Certificate authority certificate contents" }, "certificate": { "type": ["string", "null"], "description": "Certificate contents" }, "destinationCACertificate": { "type": ["string", "null"], "description": "Contents of the CA certificate of the final destination" } } } } }, "livenessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "nameOverride": { "type": "string" }, "nodeSelector": { "type": "object" }, "oauth": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "port": { "type": "integer" }, "protocol": { "type": "string" }, "type": { "type": "string" } }, "route": { "type": "object", "description": "Values for creating an OCP route", "properties": { "enabled": { "type": "boolean", "description": "Determines if the route should be created" }, "targetPort": { "type": "string", "description": "The port on pods this route points to" }, "tls": { "type": "object", "description": "Values for configuring TLS on an OCP route. More information: https://docs.openshift.com/container-platform/4.9/networking/routes/secured-routes.html", "properties": { "enabled": { "type": "boolean", "description": "Determines if TLS should be enabled" }, "termination": { "type": "string", "description": "Indicates the termination type" }, "insecureEdgeTerminationPolicy": { "type": "string", "description": "Indicates the desired behavior for insecure connections" }, "key": { "type": ["string", "null"], "description": "Key file contents" }, "caCertificate": { "type": ["string", "null"], "description": "Certificate authority certificate contents" }, "certificate": { "type": ["string", "null"], "description": "Certificate contents" }, "destinationCACertificate": { "type": ["string", "null"], "description": "Contents of the CA certificate of the final destination" } } } } } }, "podAnnotations": { "type": "object" }, "podSecurityContext": { "type": "object" }, "ports": { "type": "object", "properties": { "traffic": { "type": "object", "properties": { "port": { "type": "integer" }, "protocol": { "type": "string" } } } } }, "readinessProbe": { "type": "object", "properties": { "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "properties": { "httpHeaders": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" } } }, "replicaCount": { "type": "integer" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "service": { "type": "object", "properties": { "type": { "type": "string" } } }, "serviceAccount": { "type": "object", "properties": { "annotations": { "type": "object" }, "create": { "type": "boolean" }, "name": { "type": "string" } } }, "tolerations": { "type": "array" }, "updateStrategy": { "type": "object", "properties": { "type": { "type": "string", "description": "Global update strategy for deployments" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer", "description": "The number of pods that can be created above the desired amount of pods during an update" }, "maxUnavailable": { "type": "integer", "description": "The number of pods that can be unavailable during the update process" } } } } } } }, "apiportal": { "type": "object", "properties": { "apache": { "type": "object", "properties": { "sslOn": { "type": "integer", "minimum": 0, "maximum": 1 } } }, "apiManager": { "type": "object", "properties": { "configured": { "type": "integer", "minimum": 0, "maximum": 1 }, "name": { "type": "string" } } }, "enabled": { "type": "boolean" }, "extraEnvVars": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "image": { "type": "object", "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "digest": { "type": "string" } } }, "mysql": { "type": "object", "properties": { "databaseName": { "type": "string" }, "existingSecret": { "type": "object", "description": "Use an existing secrets which already stores your credentials, will ignore apiportal.mysql.password and apiportal.mysql.username", "properties": { "name": { "type": "string" }, "keyMapping": { "type": "object", "properties": { "password": { "type": "string" }, "username": { "type": "string" } } } } }, "username": { "type": "string", "description": "Username" }, "password": { "type": "string", "description": "Password" }, "sslOn": { "type": "integer", "minimum": 0, "maximum": 1 }, "sslVerifyCert": { "type": "integer", "minimum": 0, "maximum": 1 } } }, "redis": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "host": { "type": "string" }, "port": { "type": "integer" }, "cacheTimeout": { "type": "integer" } } }, "replicaCount": { "type": "integer" }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "service": { "type": "object", "properties": { "trafficForcePort": { "type": "integer" }, "trafficPlainPort": { "type": "integer" }, "trafficPort": { "type": "integer" } } }, "storage": { "type": "object", "description": "Storage Options", "properties": { "classes": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "provisioner": { "type": "string" }, "allowVolumeExpansion": { "type": "boolean" }, "mountOptions": { "type": "array", "items": { "type": "string" } }, "parameters": { "type": "object" } } } }, "provisioningType": { "type": "string", "enum": [ "dynamic", "static" ] }, "volumes": { "type": "array", "items": { "type": "object", "required": [ "capacity", "enabled", "name" ], "properties": { "accessModes": { "type": "array", "description": "Access Modes", "minItems": 1, "maxItems": 3, "uniqueItems": true, "items": [ { "type": "string", "enum": [ "ReadOnlyMany", "ReadWriteMany", "ReadWriteOnce" ] } ] }, "capacity": { "type": "string", "description": "Storage Capacity, with unit (example: 5Gi)" }, "claimName": { "type": "string", "description": "Claim name, if empty the name property will be used instead" }, "enabled": { "type": "boolean" }, "mountPath": { "type": "string" }, "name": { "type": "string", "description": "Name of the PVC" }, "persistentVolume": { "type": "object", "properties": { "csiDriver": { "type": "string" }, "reclaimPolicy": { "type": "string", "description": "Reclaim Policy", "enum": [ "Delete", "Retain" ] }, "volumeHandle": { "type": "string", "description": "Volume handle, mostly for AWS EFS. Only set if persistentVolume.create is true" } } }, "storageClassName": { "type": "string", "description": "For dynamic provisioning, the persistent volume will be created based on the storage class specs" }, "usedBy": { "type": "array", "items": [ { "type": "string", "enum": [ "portal" ] } ] } } } } } }, "updateStrategy": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Global update strategy for deployments" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer", "description": "The number of pods that can be created above the desired amount of pods during an update" }, "maxUnavailable": { "type": "integer", "description": "The number of pods that can be unavailable during the update process" } } } } } } }, "discovery-agent": { "type": "object", "properties": { "enabled": { "type": "boolean" } } }, "traceability-agent": { "type": "object", "properties": { "enabled": { "type": "boolean" } } }, "global": { "type": "object", "required": [ "imagePullPolicy", "storage" ], "properties": { "apimVersion": { "type": "string", "description": "Gateway version. If apimVersion is not set, the appVersion in Chart.yaml will be used" }, "domainName": { "type": "string", "description": "Domain Name" }, "domainId": { "type": "string", "description": "Domain Id" }, "defaultRegistry": { "type": "string", "description": "Default image registry" }, "imagePullPolicy": { "type": "string", "description": "Image Pull Policy", "enum": [ "None", "IfNotPresent", "Always" ] }, "imagePullSecrets": { "type": "array" }, "initContainers": { "type": "object", "properties": { "image": { "type": "string", "description": "image used in init containers" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object" } } }, "updateStrategy": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Global update strategy for deployments" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer", "description": "The number of pods that can be created above the desired amount of pods during an update" }, "maxUnavailable": { "type": "integer", "description": "The number of pods that can be unavailable during the update process" } } } } }, "storage": { "type": "object", "description": "Storage Options", "required": [ "classes", "provisioningType", "volumes" ], "properties": { "classes": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "provisioner": { "type": "string" }, "allowVolumeExpansion": { "type": "boolean" }, "mountOptions": { "type": "array", "items": { "type": "string" } }, "parameters": { "type": "object" } } } }, "provisioningType": { "type": "string", "enum": [ "dynamic", "static" ] }, "storageClassName": { "type": "string", "description": "Default storage class name. For dynamic provisioning, persistent volumes will be created based on the storage class specs" }, "volumes": { "type": "array", "items": { "type": "object", "required": [ "capacity", "enabled", "name" ], "properties": { "accessModes": { "type": "array", "description": "Access Modes", "minItems": 1, "maxItems": 3, "uniqueItems": true, "items": [ { "type": "string", "enum": [ "ReadOnlyMany", "ReadWriteMany", "ReadWriteOnce" ] } ] }, "capacity": { "type": "string", "description": "Storage Capacity, with unit (example: 5Gi)" }, "claimName": { "type": "string", "description": "Claim name, if empty the name property will be used instead" }, "enabled": { "type": "boolean" }, "mountPath": { "type": "string" }, "name": { "type": "string", "description": "Name of the PVC" }, "persistentVolume": { "type": "object", "properties": { "csiDriver": { "type": "string" }, "reclaimPolicy": { "type": "string", "description": "Reclaim Policy", "enum": [ "Delete", "Retain" ] }, "volumeHandle": { "type": "string", "description": "Volume handle, mostly for AWS EFS. Only set if persistentVolume.create is true" } } }, "storageClassName": { "type": "string", "description": "For dynamic provisioning, the persistent volume will be created based on the storage class specs" }, "usedBy": { "type": "array", "items": [ { "type": "string", "enum": [ "aga", "anm", "apimgr", "traffic", "portal" ] } ] } } } } } }, "database": { "type": "object", "description": "Mysql Database Instance Options", "properties": { "host": { "type": "string", "description": "Database hostname" }, "port": { "type": "integer", "description": "Database port" }, "metrics": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean" }, "databaseName": { "type": "string" }, "url": { "type": "string", "description": "Metrics DB JDBC URL" }, "useSSL": { "type": "string" }, "verifyServerCertificate": { "type": "boolean" }, "sslMode": { "type": "string", "enum": [ "NONE", "0", "PREFERRED", "1", "REQUIRED", "2", "VERIFY_CA", "3", "VERIFY_IDENTITY", "4" ] }, "existingSecret": { "type": "object", "description": "Use an existing secrets which already stores your credentials, will ignore database.metrics.password and database.metrics.username", "properties": { "name": { "type": "string" }, "keyMapping": { "type": "object", "properties": { "password": { "type": "string" }, "username": { "type": "string" } } } } }, "username": { "type": "string", "description": "Username" }, "password": { "type": "string", "description": "Password" } } } } }, "domainkeypassphrase": { "type": "object", "properties": { "passphrase": { "type": "string" } } }, "cassandra": { "type": "object", "description": "Cassandra Options", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean" }, "existingSecret": { "type": "object", "description": "Use an existing secrets which already stores your password data, will ignore cassandra.password", "properties": { "name": { "type": "string" }, "keyMapping": { "type": "object", "properties": { "password": { "type": "string" } } } } }, "hosts": { "type": "array", "description": "List of Cassandra hostnames, the variable property should match the variables names in the FED", "items": { "type": "object", "properties": { "variable": { "type": "string" }, "hostname": { "type": "string" } } } }, "password": { "type": "string" }, "port": { "type": "integer" }, "keyspace": { "type": "string" }, "tkeyspace": { "type": "string" }, "username": { "type": "string" } } } } }, "tests": { "type": "object", "properties": { "images": { "type": "object", "properties": { "curl": { "type": "object", "properties": { "repository": { "type": "string" }, "tag": { "type": "string" } } } } }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } }, "requests": { "type": "object", "properties": { "cpu": { "type": [ "string", "number" ] }, "memory": { "type": "string" } } } } }, "securityContext": { "type": "object", "properties": { "allowPrivilegeEscalation": { "type": "boolean" }, "readOnlyRootFilesystem": { "type": "boolean" }, "runAsNonRoot": { "type": "boolean" } } }, "serviceAccount": { "type": "object", "properties": { "annotations": { "type": "object" }, "create": { "type": "boolean" }, "name": { "type": "string" } } } } } }, "required": [ "global", "anm", "apimgr", "apitraffic", "aga" ], "title": "Values" }