in src/com/epam/digital/data/platform/pipelines/stages/impl/dataplatform/DeployProjects.groovy [29:104]
void run() {
context.dataComponents.values().each { dataComponent ->
if (dataComponent.name != DataComponentType.MODEL.getValue())
['anyuid', 'privileged'].each { scc ->
context.platform.addSccToUser(dataComponent.fullName, scc, context.namespace)
}
}
LinkedHashMap parallelDeployment = [:]
context.dataComponents.values().each { dataComponent ->
if (dataComponent.name != DataComponentType.MODEL.getValue())
parallelDeployment["${dataComponent.name}"] = {
context.logger.info("Deploying ${dataComponent.name}")
LinkedHashMap<String, String> parametersMap = [
'namespace' : context.namespace,
'ciProject' : context.namespace,
'dnsWildcard' : context.dnsWildcard,
'image.name' : context.platform.getJsonPathValue("buildconfig",
("${dataComponent.codebaseName}-${dataComponent.codebaseBranch}").replace('.', '-'),
".spec.output.to.name").toString().split(':')[0],
'image.version' : dataComponent.version,
'dockerProxyRegistry': context.dockerRegistry.proxyHost,
'version' : dataComponent.version,
'keycloak.url' : context.keycloak.url + "/auth",
'deployProfile' : context.registryRegulations.getRegistryConfValues(true),
'nexusPullSecret' : context.dockerRegistry.PUSH_SECRET,
'pipelineStageName' : context.platform.getJsonPathValue("configmap", "registry-pipeline-stage-name",
".data.cdPipelineName") + '-' + context.platform.getJsonPathValue("configmap", "registry-pipeline-stage-name",
".data.cdPipelineStageName")
]
LinkedHashMap platformValuesPath = context.script.readYaml file: "${context.getWorkDir()}" +
"/platform-values.yaml"
Boolean disableRequestsLimits = platformValuesPath["global"]["disableRequestsLimits"]
if (disableRequestsLimits != null) {
parametersMap.put("global.disableRequestsLimits", disableRequestsLimits)
}
String deploymentMode = platformValuesPath["global"]["deploymentMode"]
if (deploymentMode != null) {
parametersMap.put("global.deploymentMode", deploymentMode)
}
if (context.keycloakCustomHost != null) {
parametersMap.put("keycloak.customHost", context.keycloakCustomHost)
}
String clusterVersion = platformValuesPath["global"]["clusterVersion"]
if (clusterVersion != null) {
parametersMap.put("global.clusterVersion", clusterVersion)
}
if (dataComponent.name == DataComponentType.SOAP_API.getValue()) {
context.logger.info("Add trembita IPs to SOAP api")
LinkedHashMap registryValues = context.script.readYaml text: context.script.sh(script: """helm get values registry-nodes -a -n ${context.namespace}""", returnStdout: true)
if (registryValues["trembita"]["ipList"])
parametersMap.put("trembita.ipList", "\"{${registryValues["trembita"]["ipList"].join(',')}}\"")
context.logger.info("Parameters: ${parametersMap}")
}
String fileParameters = ""
String dataComponentNameNormalized = dataComponent.name.replace('-','').replace('api',"Api")
if (platformValuesPath.global.registry?."${dataComponentNameNormalized}") {
LinkedHashMap registryProperties = [global: [registry: ["${dataComponentNameNormalized}":
platformValuesPath.global.registry?."${dataComponentNameNormalized}"]]]
String componentValuesFile = "${dataComponent.getWorkDir()}/${dataComponentNameNormalized}.yaml"
context.script.writeYaml file: componentValuesFile, data: registryProperties, overwrite: true
fileParameters = "-f ${componentValuesFile}"
}
context.script.dir(dataComponent.getWorkDir()) {
Helm.upgrade(context, dataComponent.fullName, dataComponent.DEPLOY_TEMPLATES_PATH, parametersMap,
fileParameters, context.namespace)
}
}
}
context.script.parallel parallelDeployment
}