Giter Site home page Giter Site logo

jhon-murillo / edp-keycloak-operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from epam/edp-keycloak-operator

0.0 0.0 0.0 1.78 MB

It is responsible for establishing a connection to provided Keycloak Server, reconciling realms, and clients according to the created CRs

Home Page: https://epam.github.io/edp-install/

License: Apache License 2.0

Shell 0.04% Groovy 0.04% Go 96.58% Makefile 2.87% Smarty 0.29% Dockerfile 0.18%

edp-keycloak-operator's Introduction

codecov

Keycloak Operator

โ— Please refer to EDP documentation to get the main concepts and guidelines.

Get acquainted with the Keycloak Operator, the installation process, the local development, and the architecture scheme.

Overview

Keycloak Operator is an EDP operator responsible for configuring existing Keycloak instances. The operator runs both on OpenShift and Kubernetes.

NOTE: Operator is platform-independent, which is why there is a unified instruction for deployment.

Prerequisites

  1. Linux machine or Windows Subsystem for Linux instance with Helm 3 installed;
  2. Cluster admin access to the cluster;

Installation Using Helm Chart

To install the Keycloak Operator, follow the steps below:

  1. To add the Helm EPAMEDP Charts for a local client, run "helm repo add":

    helm repo add epamedp https://epam.github.io/edp-helm-charts/stable
  2. Choose the available Helm chart version:

    helm search repo epamedp/keycloak-operator -l
    NAME                           CHART VERSION   APP VERSION     DESCRIPTION
    epamedp/keycloak-operator      1.16.0          1.16.0          A Helm chart for EDP Keycloak Operator
    epamedp/keycloak-operator      1.15.0          1.15.0          A Helm chart for EDP Keycloak Operator

    NOTE: It is highly recommended to use the latest stable version.

  3. Full chart parameters available in deploy-templates/README.md.

  4. Install the operator in the namespace with the helm command; find below the installation command example:

    helm install keycloak-operator epamedp/keycloak-operator --version <chart_version> --namespace <edp-project> --set name=keycloak-operator
  5. Check the namespace containing Deployment with your operator in running status.

Quick Start

  1. Create a User in the Keycloak Master realm, and assign a create-realm role.

  2. Insert newly created user credentials into Kubernetes secret:

    apiVersion: v1
    kind: Secret
    metadata:
      name:  keycloak-access
    type: Opaque
    data:
      username: dXNlcg==   # base64-encoded value of "user"
      password: cGFzcw==   # base64-encoded value of "pass"
  3. Create Custom Resource kind: Keycloak with Keycloak instance URL and secret created on the previous step:

    apiVersion: v1.edp.epam.com/v1
    kind: Keycloak
    metadata:
      name: keycloak-sample
    spec:
      secret: keycloak-access             # Secret name
      url: https://keycloak.example.com   # Keycloak URL

    Wait for the .status field with status.connected: true

  4. Create Keycloak realm and group using Custom Resources:

    apiVersion: v1.edp.epam.com/v1
    kind: KeycloakRealm
    metadata:
     name: keycloakrealm-sample
    spec:
     realmName: realm-sample
     keycloakOwner: keycloak-sample   # the name of `kind: Keycloak`
    apiVersion: v1.edp.epam.com/v1
    kind: KeycloakRealmGroup
    metadata:
      name: argocd-admins
    spec:
      name: ArgoCDAdmins
      realm: keycloakrealm-sample   # the name of `kind: KeycloakRealm`

    Inspect available custom resource and CR templates folder for more examples

Local Development

To develop the operator, first set up a local environment, and refer to the Local Development page.

Development versions are also available from the snapshot helm chart repository page.

Related Articles

edp-keycloak-operator's People

Contributors

mykhailo-b avatar sergk avatar nikolaymarusenko avatar zmotso avatar elluvium avatar aleksandr-morozov avatar artem-zahumonnyi avatar viktor-voronin avatar epmd-edp avatar totalalfie avatar mykysha avatar sugar-pack avatar iryna-churkina avatar orfey95 avatar bronzedeer avatar victormysyk avatar yevheniipokhvalii avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.