in executors/kubernetes/overwrites.go [296:350]
func (o *overwrites) evaluateExplicitServiceResourceOverwrite(
config *common.KubernetesConfig,
serviceName string,
serviceVariables common.JobVariables,
logger buildlogger.Logger,
) (err error) {
cpuRequest := serviceVariables.Value(ServiceCPURequestOverwriteVariableValue)
memoryRequest := serviceVariables.Value(ServiceMemoryRequestOverwriteVariableValue)
ephemeralStorageRequest := serviceVariables.Value(ServiceEphemeralStorageRequestOverwriteVariableValue)
cpuLimit := serviceVariables.Value(ServiceCPULimitOverwriteVariableValue)
memoryLimit := serviceVariables.Value(ServiceMemoryLimitOverwriteVariableValue)
ephemeralStorageLimit := serviceVariables.Value(ServiceEphemeralStorageLimitOverwriteVariableValue)
limitsOverwrites, err := o.evaluateServiceResourceOverwrites(
"Limits",
config,
cpuLimit,
memoryLimit,
ephemeralStorageLimit,
logger,
)
if err != nil {
return fmt.Errorf("invalid service limits specified: %w", err)
}
if limitsOverwrites != nil {
if len(o.explicitServiceLimits) == 0 {
o.explicitServiceLimits = make(map[string]api.ResourceList)
}
o.explicitServiceLimits[serviceName] = limitsOverwrites
}
requestsOverwrites, err := o.evaluateServiceResourceOverwrites(
"Requests",
config,
cpuRequest,
memoryRequest,
ephemeralStorageRequest,
logger,
)
if err != nil {
return fmt.Errorf("invalid service requests specified: %w", err)
}
if requestsOverwrites != nil {
if len(o.explicitServiceRequests) == 0 {
o.explicitServiceRequests = make(map[string]api.ResourceList)
}
o.explicitServiceRequests[serviceName] = requestsOverwrites
}
return nil
}