Enabling the DevOps Plan Keycloak Single Sign On feature

By default, the DevOps Plan Helm Chart comes configured with the Keycloak single sign on feature enabled. You can disable the Keycloak that is installed with the helm chart and use an external Keycloak instance that is installed outside of the helm chart.

Procedure

Enable Keycloak Single Sign on by using external Keycloak running outside of the helm chart:
  • To use an external Keycloak instance to enable the Keycloak Single Sign On feature:
    1. Access the Keycloak Administration URL to create a new client and download the keycloak.json file:
      1. Go to the new client page, click Action and select Download adapter config to download the keycloak.json file.
      2. Edit and add the following line to the keycloak.json file:
        "disable-trust-manager": true
    2. Create a keycloak-json configMap for the keycloak.json file:
      1. Create a new folder named path/to/your/keycloak that contains the keycloak.json file for installing and configuring Keycloak on the devopsplan pod container:
        $ mkdir /path/to/your/keycloak
      2. Add the keycloak.json file from the path/to/your/keycloak folder to the configMap called keycloak-json.
        $ kubectl create cm keycloak-json --from-file /path/to/your/keystore/keycloak.json --namespace [namespace_name]
      3. Ensure that the configMap keycloak-json is created and that it contains the keycloak.json file from the path/to/your/keycloak/ path.
        $ kubectl get cm keycloak-json -o yaml --namespace [namespace_name]
    3. Create a file named keycloak.yaml. Enable the Keycloak and SSO configurations for the devopsplan pod container and keycloak.json file.
      keycloak:
        enabled: true
        service: 
          enabled: false
        urlMapping: [Keycloak_URL]
        username: [Keycloak_Admin_Usename]
        password: [Keycloak_Admin_Password]
        realmName: [Keycloak_Realm_Name]
        dashboardsClientID: [Keycloak_Dashboards_Client_ID]
        dashboardsClientSecret: [Keycloak_Dashboards_Client_Secret]
        jsonFile:
          enabled: true
          configMapName: keycloak-json
    4. Add -f keycloak.yaml to the helm_install or helm_upgrade command.