:_mod-docs-content-type: ASSEMBLY
[id="operators-overview"]
= Operators overview
include::_attributes/common-attributes.adoc[]
:context: operators-overview

toc::[]

[role="_abstract"]
Operators are the foundational control plane extensions of {product-title}. Operators are the preferred method to package, deploy, and manage services on the control plane, and to support your applications.

Operators integrate with Kubernetes APIs and CLI tools such as `kubectl` and the {oc-first}. They provide the means of monitoring applications, performing health checks, managing over-the-air (OTA) updates, and ensuring that applications remain in your specified state.

Operators are designed specifically for Kubernetes-native applications to implement and automate common Day 1 operations, such as installation and configuration. Operators can also automate Day 2 operations, such as autoscaling up or down and creating backups. All of these activities are directed by a piece of software running on your cluster.

While both follow similar Operator concepts and goals, Operators in {product-title} are managed by two different systems, depending on their purpose:

Cluster Operators:: Managed by the Cluster Version Operator (CVO) and installed by default to perform cluster functions.
Optional add-on Operators:: Managed by Operator Lifecycle Manager (OLM) and can be made accessible for users to run in their applications. Also known as _OLM-based Operators_.

include::modules/operators-overview-tasks.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources
* xref:../operators/admin/olm-managing-custom-catalogs.adoc#olm-managing-custom-catalogs[Manage custom catalogs]
ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
* xref:../machine_management/deleting-machine.adoc#machine-lifecycle-hook-deletion-uses_deleting-machine[Machine deletion lifecycle hook examples for Operator developers]
* xref:../operators/user/olm-installing-operators-in-namespace.adoc#olm-installing-operators-in-namespace[Install and subscribe an Operator to your namespace]
* xref:../operators/admin/olm-creating-policy.adoc#olm-creating-policy[Allow non-cluster administrators to install Operators]
* xref:../operators/user/olm-installing-operators-in-namespace.adoc#olm-installing-operators-in-namespace[Install an Operator from the software catalog]
* xref:../disconnected/using-olm.adoc#olm-restricted-networks[Using Operator Lifecycle Manager in disconnected environments]
* xref:../operators/operator-reference.adoc#operator-reference[Cluster Operators reference]
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
ifdef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
* xref:../operators/admin/olm-adding-operators-to-cluster.adoc#olm-installing-operators-from-software-catalog_olm-adding-operators-to-a-cluster[Install an Operator from the software catalog]
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
* xref:../operators/user/olm-creating-apps-from-installed-operators.adoc#olm-creating-apps-from-installed-operators[Create an application from an installed Operator through the web console]
* xref:../operators/admin/olm-status.adoc#olm-status[View Operator status]
* xref:../operators/admin/olm-managing-operatorconditions.adoc#olm-managing-operatorconditions[Manage Operator conditions]
* xref:../operators/admin/olm-upgrading-operators.adoc#olm-upgrading-operators[Upgrade installed Operators]
* xref:../operators/admin/olm-deleting-operators-from-cluster.adoc#olm-deleting-operators-from-a-cluster[Delete installed Operators]
* xref:../operators/admin/olm-configuring-proxy-support.adoc#olm-configuring-proxy-support[Configure proxy support]
* xref:../operators/understanding/olm-what-operators-are.adoc#olm-what-operators-are[What are Operators?]
