func()

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
}