
[[_operator]]
== {project_operator}

ifeval::[{project_community}==true]
:tech_feature_name: The {project_name} Operator
:tech_feature_disabled: false
include::templates/techpreview.adoc[]
endif::[]

The {project_operator} automates {project_name} administration in
ifeval::[{project_community}==true]
Kubernetes or
endif::[]
Openshift. You use this Operator to create custom resources (CRs), which automate administrative tasks. For example, instead of creating a client or a user in the {project_name} admin console, you can create custom resources to perform those tasks. A custom resource is a YAML file that defines the parameters for the administrative task.

You can create custom resources to perform the following tasks:

* xref:_keycloak_cr[Install {project_name}]
* xref:_realm-cr[Create realms]
* xref:_client-cr[Create clients]
* xref:_user-cr[Create users]
* xref:_external_database[Connect to an external database]
* xref:_backup-cr[Schedule database backups]
* xref:_operator-extensions[Install extensions and themes]

[NOTE]
After you create custom resources for realms, clients, and users, you can manage them by using the {project_name} admin console or as custom resources using the `{create_cmd_brief}` command.  However, you cannot use both methods, because the Operator performs a one way sync for custom resources that you modify.  For example, if you modify a realm custom resource, the changes show up in the admin console. However, if you modify the realm using the admin console, those changes have no effect on the custom resource.

Begin using the Operator by xref:_installing-operator[Installing the {project_operator} on a cluster].
