You can use a container as an event source, by creating a `ContainerSource` object. You can configure multiple parameters when creating a `ContainerSource` object.
A `ceOverrides` definition provides overrides that control the CloudEvent's output format and modifications sent to the sink. You can configure multiple fields for the `ceOverrides` definition.
A `ceOverrides` definition supports the following fields:
[cols=3*,options="header"]
|===
|Field
|Description
|Required or optional
|`extensions`
|Specifies which attributes are added or overridden on the outbound event. Each `extensions` key-value pair is set independently on the event as an attribute extension.
|Optional
|===
[NOTE]
====
Only valid `CloudEvent` attribute names are allowed as extensions. You cannot set the spec defined attributes from the extensions override configuration. For example, you can not modify the `type` attribute.
====
.CloudEvent Overrides example
[source,yaml]
----
apiVersion: sources.knative.dev/v1
kind: ContainerSource
metadata:
name: test-heartbeats
spec:
...
ceOverrides:
extensions:
extra: this is an extra attribute
additional: 42
----
This sets the `K_CE_OVERRIDES` environment variable on the `subject`:
.Example output
[source,terminal]
----
{ "extensions": { "extra": "this is an extra attribute", "additional": "42" } }