Red Hat Integration - Service Registry Operator
Note: 
To complete this task, you must be a cluster administrator.
Official Documentation
- Red Hat Integration - Service Registry Operator: https://access.redhat.com/documentation/en-us/red_hat_integration/2023.q1/html/installing_and_deploying_service_registry_on_openshift/pr01
 - ApiCurio: https://www.apicur.io/
 
Install the Red Hat Integration - Service Registry Operator from the OperatorHub
Warning: 
To complete this task a user in the cluster admin role is required.
As a cluster administrator, install the Red Hat Integration - Service Registry Operator from the OperatorHub to the
namespace foundation as follows:
- Navigate in the OpenShift Web Console to the Operators → OperatorHub page
 - Filter by keyword: Service Registry
 - Select the operator: Red Hat Integration - Service Registry Operator provided by Red Hat
 - Read the information about the operator and click Install
 - On the Create Operator Subscription page:
- Select an update channel (if more than one is available)
 - Select option All namespaces on the cluster (default)
 - Select Automatic approval strategy
 - Click Install
 
 - After the subscription's upgrade status is up to date, navigate in the web console to the Operators → Installed Operators page
 
Note: 
See OpenShift documentation on adding operators to a cluster ( OpenShift 4.14) for further information on how to install an operator from the OperatorHub.
Create the Apicurio Registry instance
Create the ApicurioRegistry CRD instance in the namespace foundation as follows:
- Navigate in the OpenShift Web Console to the Operators → Installed Operators page
 - Select the Red Hat Integration - Service Registry Operator
 - Navigate to the Apicurio Registry tab of the Operators → Operator Details page
 - Click Create ApicurioRegistry
- Enter the resource definition ( See Example Apicurio Registry Configuration)
 - Click on Create
 
 - Verify that in the Apicurio Registry tab the newly created 
apicurioCRD instance is displayed. 
Example Apicurio Registry Configuration
apiVersion: registry.apicur.io/v1
kind: ApicurioRegistry
metadata:
  name: apicurio
  namespace: foundation
spec:
  configuration:
    persistence: sql
    security:
      keycloak:
        apiClientId: registry-api
        realm: foundation
        uiClientId: apicurio-registry
        url: 'https://auth.my-openshift-cluster.cloud/auth'
    sql:
      dataSource:
        password: myPassword
        url: >-
          jdbc:postgresql://postgresql.foundation.svc.cluster.local:5432/sampledb
        userName: userJ2T
    ui:
      readOnly: false
  deployment:
    host: schema-registry.my-openshift-cluster.cloud.router-default.my-openshift-cluster.cloudConfigure compatability rule
Please configure the compatability rule in order to avoid a known bug as Apicurio cannot handle event evolution with compatibility rules enabled.
- Login into Apicurio
 - Go to Global rules
 - Set Compatibility rule to None