diff --git a/pkg/apis/camel/v1/integration_types.go b/pkg/apis/camel/v1/integration_types.go index dcb2739e0d..e62710c525 100644 --- a/pkg/apis/camel/v1/integration_types.go +++ b/pkg/apis/camel/v1/integration_types.go @@ -40,22 +40,23 @@ type IntegrationSpec struct { // IntegrationStatus defines the observed state of Integration type IntegrationStatus struct { - Phase IntegrationPhase `json:"phase,omitempty"` - Digest string `json:"digest,omitempty"` - Image string `json:"image,omitempty"` - Dependencies []string `json:"dependencies,omitempty"` - Profile TraitProfile `json:"profile,omitempty"` - Kit string `json:"kit,omitempty"` - Platform string `json:"platform,omitempty"` - GeneratedSources []SourceSpec `json:"generatedSources,omitempty"` - Failure *Failure `json:"failure,omitempty"` - CamelVersion string `json:"camelVersion,omitempty"` - RuntimeVersion string `json:"runtimeVersion,omitempty"` - RuntimeProvider *RuntimeProvider `json:"runtimeProvider,omitempty"` - Configuration []ConfigurationSpec `json:"configuration,omitempty"` - Conditions []IntegrationCondition `json:"conditions,omitempty"` - Version string `json:"version,omitempty"` - Replicas *int32 `json:"replicas,omitempty"` + Phase IntegrationPhase `json:"phase,omitempty"` + Digest string `json:"digest,omitempty"` + Image string `json:"image,omitempty"` + Dependencies []string `json:"dependencies,omitempty"` + Profile TraitProfile `json:"profile,omitempty"` + Kit string `json:"kit,omitempty"` + Platform string `json:"platform,omitempty"` + GeneratedSources []SourceSpec `json:"generatedSources,omitempty"` + GeneratedResources []ResourceSpec `json:"generatedResources,omitempty"` + Failure *Failure `json:"failure,omitempty"` + CamelVersion string `json:"camelVersion,omitempty"` + RuntimeVersion string `json:"runtimeVersion,omitempty"` + RuntimeProvider *RuntimeProvider `json:"runtimeProvider,omitempty"` + Configuration []ConfigurationSpec `json:"configuration,omitempty"` + Conditions []IntegrationCondition `json:"conditions,omitempty"` + Version string `json:"version,omitempty"` + Replicas *int32 `json:"replicas,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/pkg/apis/camel/v1/integration_types_support.go b/pkg/apis/camel/v1/integration_types_support.go index f7238840b5..2b2e61f96f 100644 --- a/pkg/apis/camel/v1/integration_types_support.go +++ b/pkg/apis/camel/v1/integration_types_support.go @@ -50,11 +50,20 @@ func NewIntegrationList() IntegrationList { // Sources return a new slice containing all the sources associated to the integration func (in *Integration) Sources() []SourceSpec { - allSources := make([]SourceSpec, 0, len(in.Spec.Sources)+len(in.Status.GeneratedSources)) - allSources = append(allSources, in.Spec.Sources...) - allSources = append(allSources, in.Status.GeneratedSources...) + sources := make([]SourceSpec, 0, len(in.Spec.Sources)+len(in.Status.GeneratedSources)) + sources = append(sources, in.Spec.Sources...) + sources = append(sources, in.Status.GeneratedSources...) - return allSources + return sources +} + +// Resources return a new slice containing all the resources associated to the integration +func (in *Integration) Resources() []ResourceSpec { + resources := make([]ResourceSpec, 0, len(in.Spec.Resources)+len(in.Status.GeneratedResources)) + resources = append(resources, in.Spec.Resources...) + resources = append(resources, in.Status.GeneratedResources...) + + return resources } // AddSource -- diff --git a/pkg/apis/camel/v1/zz_generated.deepcopy.go b/pkg/apis/camel/v1/zz_generated.deepcopy.go index 74c59ddcf4..0427675970 100644 --- a/pkg/apis/camel/v1/zz_generated.deepcopy.go +++ b/pkg/apis/camel/v1/zz_generated.deepcopy.go @@ -1057,6 +1057,11 @@ func (in *IntegrationStatus) DeepCopyInto(out *IntegrationStatus) { *out = make([]SourceSpec, len(*in)) copy(*out, *in) } + if in.GeneratedResources != nil { + in, out := &in.GeneratedResources, &out.GeneratedResources + *out = make([]ResourceSpec, len(*in)) + copy(*out, *in) + } if in.Failure != nil { in, out := &in.Failure, &out.Failure *out = new(Failure) diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go index f3c8e4bace..166421477b 100644 --- a/pkg/trait/trait_types.go +++ b/pkg/trait/trait_types.go @@ -456,7 +456,7 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c }) } - for i, r := range e.Integration.Spec.Resources { + for i, r := range e.Integration.Resources() { if r.Type != v1.ResourceTypeData { continue }