Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Red Hat build of Keycloak: New enhancements to the OpenShift operator experience

November 17, 2023
Syed M Shaaf
Related topics:
DevSecOpsSecurity
Related products:
Red Hat Single sign-on

Share:

    The first release of the Red Hat build of Keycloak will include the new Operator for Kubernetes. In a 2022 blog post, the Keycloak community described the issues and future of the Operator. The new Operator has been written from scratch using the Java Operator SDK; it brings more flexibility and a better architecture to support our customers' daily operations. 

    For those new to Operators, it encodes operational expertise into software, allowing reliable management of Kubernetes applications. Historically, such knowledge was limited to operations staff or external scripts and tools like Ansible. Operators automate routine Day-1 (setup, configuration) and Day-2 (updates, backups, failovers) tasks directly within the Kubernetes environment, creating Kubernetes-native applications, meaning managing applications as a singular entity rather than disparate elements like Pods or ConfigMaps.

    Operators have different capabilities and levels. The Keycloak operator is a level-4 Operator, meaning that it can do the basic installation and seamless upgrades, manage the lifecycle of the Keycloak server, and provide monitoring and metrics integrations in this case, e.g., with Red Hat OpenShift Container Platform monitoring.

    Red Hat build of Keycloak now includes the following Operator enhancements:

    • A new Operator with CRDs for OpenShift.
    • Improved importing of realms through a custom resource.
    • Support for all databases that the Red Hat build of Keycloak server supports.
    • Close alignment with the configuration of bare metal installations.

    We recommend installing the Keycloak Operator via the Operator lifecycle manager (OLM). It's simple and can be done via the OpenShift console and OperatorHub for a particular namespace.

    Figure 1: Keycloak Operator install page.
    Figure 1: Keycloak Operator install page.

    Custom Keycloak image

    With the latest Operator, it's now possible to provide a custom image for the Keycloak server. Now that the Keycloak server is based on the Quarkus framework, it also brings in certain things to consider that are different from the single sign-on version based on Red Hat JBoss Enterprise Application Platform (JBoss EAP).

    When using the default Keycloak image, the server will perform a re-augmentation every time a Pod starts to ensure all the custom config, code, libs, etc., are applied to that pod. This is by design to include changes made by the end user.

    However, one might want to optimize it. Developers can now provide a custom image with the augmentation built-in from the build time of the image. For example, a pre-built image can now provide build-time configurations and extensions:

    apiVersion: k8s.keycloak.org/v2alpha1
    
    kind: Keycloak
    
    metadata:
    
      name: example-kc
    
    spec:
    
      instances: 1
    
      image: quay.io/my-company/my-keycloak:latest
    
      http:
    
        tlsSecret: example-tls-secret
    
      hostname:
    
        hostname: test.keycloak.org

    More configuration options

    The Keycloak CR includes most commonly used options and is represented similarly to the Keycloak configuration structure. However, there are cases where advanced configuration needs to be provided. Keycloak CR accepts Key,Value pairs for any of the Keycloak configurations under additionalOptions parameter. The values can be expressed as a string or a Kubernetes secret:

    apiVersion: k8s.keycloak.org/v2alpha1
    
    kind: Keycloak
    
    metadata:
    
      name: example-kc
    
    spec:
    
      ...
    
      additionalOptions:
    
        - name: spi-connections-http-client-default-connection-pool-size
    
          secret: # Secret reference
    
            name: http-client-secret # name of the Secret
    
            key: poolSize # name of the Key in the Secret
    
        - name: spi-email-template-mycustomprovider-enabled
    
          value: true # plain text value

    The custom resource (CR) now also supports experimental features under the unsupported tag and the ability to disable certain security features for development usage. 

    Read the following documentation for more in-depth details on using Operators and creating the different CRs and features. 

    Getting support for Keycloak

    Support for Keycloak is available to Red Hat customers through a subscription. Contact a local Red Hat representative or Red Hat Sales for details on how to enjoy world-class support offered by Red Hat and its worldwide partner network. Customers can expect support for Red Hat build of Keycloak and other runtimes according to the Red Hat Product Update and Support Lifecycle.

    Get started

    Ready to get started with Red Hat build of Keycloak? Here are more useful links to get you started:

    • Zip distributions are available through the Customer portal.
    • Container distributions and Operators are available in the Red Hat Container Catalog (RHCC).
    • Product documentation is available on the Red Hat customer portal, including a migration guide to help you migrate your existing Red Hat single sign-on deployments to Red Hat build of Keycloak.

    To find out more about Red Hat build of Keycloak, visit the product page.

    Related Posts

    • How to integrate Spring Boot 3, Spring Security, and Keycloak

    • How to implement single sign-out in Keycloak with Spring Boot

    • Authentication and authorization using the Keycloak REST API

    • Automate your SSO with Ansible and Keycloak

    • API login and JWT token generation using Keycloak

    Recent Posts

    • What's New in OpenShift GitOps 1.18

    • Beyond a single cluster with OpenShift Service Mesh 3

    • Kubernetes MCP server: AI-powered cluster management

    • Unlocking the power of OpenShift Service Mesh 3

    • Run DialoGPT-small on OpenShift AI for internal model testing

    What’s up next?

    E-book: A developer’s guide to setting supply chain security in DevSecOps

    This short guide provides a developer's introduction to software supply chain security, including the key principles, tools, and techniques you need to know to better audit and act on vulnerabilities in open source software components. 

    Get the e-book
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue