in pkg/cmd/promote.go [486:535]
func getIntegrationPatch(baseIt *v1.Integration) *v1.Integration {
patchedTraits := v1.Traits{}
baseTraits := baseIt.Spec.Traits
if baseTraits.Affinity != nil {
patchedTraits.Affinity = baseIt.Spec.Traits.Affinity
}
if baseTraits.Camel != nil && baseTraits.Camel.Properties != nil {
patchedTraits.Camel = &traitv1.CamelTrait{
Properties: baseTraits.Camel.Properties,
}
}
if baseTraits.Container != nil && (baseTraits.Container.RequestCPU != "" || baseTraits.Container.RequestMemory != "" ||
baseTraits.Container.LimitCPU != "" || baseTraits.Container.LimitMemory != "") {
patchedTraits.Container = &traitv1.ContainerTrait{
RequestCPU: baseTraits.Container.RequestCPU,
RequestMemory: baseTraits.Container.RequestMemory,
LimitCPU: baseTraits.Container.LimitCPU,
LimitMemory: baseTraits.Container.LimitMemory,
}
}
if baseTraits.Environment != nil && baseTraits.Environment.Vars != nil {
patchedTraits.Environment = &traitv1.EnvironmentTrait{
Vars: baseTraits.Environment.Vars,
}
}
if baseTraits.JVM != nil && baseTraits.JVM.Options != nil {
patchedTraits.JVM = &traitv1.JVMTrait{
Options: baseTraits.JVM.Options,
}
}
if baseTraits.Mount != nil && (baseTraits.Mount.Configs != nil || baseTraits.Mount.Resources != nil ||
baseTraits.Mount.Volumes != nil || baseTraits.Mount.EmptyDirs != nil) {
patchedTraits.Mount = &traitv1.MountTrait{
Configs: baseTraits.Mount.Configs,
Resources: baseTraits.Mount.Resources,
Volumes: baseTraits.Mount.Volumes,
EmptyDirs: baseTraits.Mount.EmptyDirs,
}
}
if baseTraits.Toleration != nil {
patchedTraits.Toleration = baseIt.Spec.Traits.Toleration
}
patchedIt := v1.NewIntegration("", baseIt.Name)
patchedIt.Spec = v1.IntegrationSpec{
Traits: patchedTraits,
}
return &patchedIt
}