// This assembly is included in the following assemblies:
//
// assembly-deployment-configuration.adoc

[id='assembly-customizing-deployments-{context}']
= Customizing deployments

{ProductName} creates several Kubernetes resources, such as `Deployments`, `StatefulSets`, `Pods`, and `Services`, which are managed by Kubernetes operators.
Only the operator that is responsible for managing a particular Kubernetes resource can change that resource.
If you try to manually change an operator-managed Kubernetes resource, the operator will revert your changes back.

However, changing an operator-managed Kubernetes resource can be useful if you want to perform certain tasks, such as:

- Adding custom labels or annotations that control how `Pods` are treated by Istio or other services;
- Managing how `Loadbalancer`-type Services are created by the cluster.

You can make these types of changes using the `template` property in the {ProductName} custom resources.

include::../modules/con-customizing-template-properties.adoc[leveloffset=+1]

include::../modules/con-customizing-labels-and-annotations.adoc[leveloffset=+1]

include::../modules/con-customizing-pods.adoc[leveloffset=+1]

include::../modules/con-customizing-containers.adoc[leveloffset=+1]

include::../modules/con-customizing-external-services.adoc[leveloffset=+1]

include::../modules/con-customizing-image-pull-policy.adoc[leveloffset=+1]

include::../modules/con-customizing-pod-disruption-budgets.adoc[leveloffset=+1]

include::../modules/proc-customizing-deployments.adoc[leveloffset=+1]
