func applyDeploymentPolicy()

in controllers/deployment.go [31:57]


func applyDeploymentPolicy(deployment *v1.Deployment, policy *dsv1alpha1.DeploymentPolicy) {
	if policy == nil {
		return
	}

	if policy.Affinity != nil {
		deployment.Spec.Template.Spec.Affinity = policy.Affinity
	}

	if len(policy.Tolerations) != 0 {
		deployment.Spec.Template.Spec.Tolerations = policy.Tolerations
	}

	mergeLabels(deployment.Labels, policy.Labels)

	if &policy.Resources != nil {
		deployment.Spec.Template.Spec.Containers[0] = containerWithRequirements(deployment.Spec.Template.Spec.Containers[0], policy.Resources)
	}

	if len(policy.Envs) != 0 {
		deployment.Spec.Template.Spec.Containers[0].Env = append(deployment.Spec.Template.Spec.Containers[0].Env, policy.Envs...)
	}

	for key, value := range policy.Annotations {
		deployment.ObjectMeta.Annotations[key] = value
	}
}