= Gc Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The GC Trait garbage-collects all resources that are no longer necessary upon integration updates.


This trait is available in the following profiles: **Kubernetes, Knative, OpenShift**.

// End of autogenerated code - DO NOT EDIT! (description)
// Start of autogenerated code - DO NOT EDIT! (configuration)
== Configuration

Trait properties can be specified when running any integration with the CLI:
[source,console]
----
$ kamel run --trait gc.[key]=[value] --trait gc.[key2]=[value2] integration.groovy
----
The following configuration options are available:

[cols="2m,1m,5a"]
|===
|Property | Type | Description

| gc.enabled
| bool
| Can be used to enable or disable a trait. All traits share this common property.

| gc.discovery-cache
| github.com/apache/camel-k/pkg/apis/camel/v1/trait.DiscoveryCacheType
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`)

|===

// End of autogenerated code - DO NOT EDIT! (configuration)
