
[[_operator-extensions]]
=== Installing extensions and themes

You can use the operator to install extensions and themes that you need for your company or organization. The extension or theme can be anything that {project_name} can consume. For example, you can add a metrics extension. You add the extension or theme to the Keycloak custom resource.

.Example YAML file for a Keycloak custom resource
```yaml
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
  name: example-keycloak
  labels:
ifeval::[{project_community}==true]
   app: keycloak
endif::[]  
ifeval::[{project_product}==true]
   app: sso
endif::[]  
spec:
  instances: 1
  extensions:
   - <url_for_extension_or_theme>
  externalAccess:
    enabled: True
```

You can package and deploy themes in the same way as any other extensions. See {developerguide_deploying_themes}[Deploying Themes] manual entry for more information.

.Prerequisites

* You have a YAML file for the Keycloak custom resource.

* You have cluster-admin permission or an equivalent level of permissions granted by an administrator.


.Procedure

. Edit the YAML file for the Keycloak custom resource: `{create_cmd_brief} edit <CR-name>`

. Add a line called `extensions:` after the `instances` line.

. Add a URL to a JAR file for your custom extension or theme.

. Save the file.

The Operator downloads the extension or theme and installs it.

