An Integration describe the application by listing sources, resources, dependencies and by providing configuration options.

type Integration struct {
	Spec   IntegrationSpec   (1)
	Status IntegrationStatus (2)

type IntegrationSpec struct {
	Sources            []SourceSpec           (3)
	Flows              []Flow                 (3)
	Resources          []ResourceSpec         (3)
	Dependencies       []string               (4)
	Repositories       []string               (4)
	Profile            TraitProfile           (5)
	Traits             map[string]TraitSpec   (5)
	Configuration      []ConfigurationSpec    (6)
1 The desired state
2 The status of the object at current time
3 Integration sources and resource files
4 The dependencies required by the integration and related repositories (if needed)
5 The traits configuration
6 The integration configuration (properties, secrets, configmaps)

the full go definition can be found here

life cycle