Balakrishnan B
Balakrishnan B
  • 21
  • 65 340
Agentic API introspection and execution with OpenShift AI and Llama 3.1
For more details: Check out: medium.com/@balakrishnan-b/agentic-api-introspection-and-execution-with-llama3-1-on-openshift-ai-cf9791643358
In my recent experiments with CrewAI, OpenShift, and Llama3.1, I explored the capabilities of these technologies in enhancing the introspection and execution of APIs. CrewAI’s agentic workflows allowed for sophisticated orchestration of the workflow, while OpenShift AI provided a robust platform for deploying and managing AI models. Llama3.1, with its advanced natural language processing capabilities, facilitated intuitive interaction with APIs, enabling seamless data retrieval and processing.
มุมมอง: 49

วีดีโอ

Red Hat Developer Hub Frontend Dynamic Wrapper Plugin
มุมมอง 73111 หลายเดือนก่อน
Ever wondered how you could take an existing Backstage plugin and integrate with Red Hat Developer using the dynamic plugin framework?. Here's a quick tutorial, where I show how to do it for a frontend plugin. Checkout the git repository if you'd like to try this out - github.com/bbalakriz/rh1-dynamic-frontend-wrapper/blob/master/README.md
Deploying an application using Openshift Connector for VSCode
มุมมอง 644ปีที่แล้ว
This video shows how developers can easily create, deploy and live debug container applications running on Openshift using Openshift Connector for VSCode.
Getting started with Kogito Serverless Workflow
มุมมอง 5Kปีที่แล้ว
This video demonstrates some of the key capabilities of Kogito Serverless Workflow which is an implementation for the CNCF Serverless Workflow specification
RHPAM/RHDM - Containerise a Red Hat Decision Manager application and deploy to OpenShift
มุมมอง 5353 ปีที่แล้ว
How to wrap a Decision Manager application using SpringBoot, containerise and deploy it to OpenShift
RHPAM/RHDM - Adding external maven dependencies to Decision Manager project on Business Central
มุมมอง 5103 ปีที่แล้ว
How to add and use an external dependency from an external maven repository in a Decision Manager project in Business Central
Deploying Quarkus applications as serverless services to OpenShift
มุมมอง 1633 ปีที่แล้ว
If you are keen to run your applications as serverless services on OpenShift, this video will walk you the details on how you could do that.
Invoking SOAP web-services from jBPM
มุมมอง 7233 ปีที่แล้ว
Ever got stuck with integrating SOAP web-services with jBPM applications? This video will help you to get through that very easily..
User federation with Keycloak/ Red Hat Single Sign on (RHSSO)
มุมมอง 18K4 ปีที่แล้ว
Demonstration of how Keycloak/RHSSO provides a unified way to federate different user account systems. In this video, you'll see how effectively the user accounts from an external LDAP server and a MySQL database (that holds user accounts) could be federated with the help of Keycloak/RHSSO. The reference implementation shown in this video can be found in my github repo here - github.com/bbalakr...
Cloud native business automation with Kogito
มุมมอง 3.3K4 ปีที่แล้ว
A Kogito quick start that demonstrates: 1. Kogito process persistence with Infinispan, 2. Invocation of REST APIs from Kogito 3. Securing endpoints of a Kogito app using an OIDC server 4. Process instance tracking with Kogito management console Are you keen to try this out ? Here's a repository that contains these projects - github.com/bbalakriz/kogito. All details required to set this up on yo...
Code Ready Containers on a remote VM - Ubuntu 18.04
มุมมอง 2.8K4 ปีที่แล้ว
Often times when you are trying to run resource intensive workloads on Code Ready Containers (CRC) set up on a local laptop, the workload deployments would simply fail due to lack of sufficient resources. In this video, we'll see how to setup CRC on a remote VM that is running Ubuntu 18.04
Setting up RHPAM/RHDM on Openshift 4 using operator
มุมมอง 3.1K4 ปีที่แล้ว
This video shows how RHPAM/RHDM can be setup using business automation operator on Openshift 4
Building Decision Models using DMN
มุมมอง 6K5 ปีที่แล้ว
In this video, I've shown how you can create DMN models and execute the decisions that are modeled in a DMN model
Native Supersonic Subatomic Applications with Quarkus
มุมมอง 7025 ปีที่แล้ว
This video shows 1. How to build a native/microservices application using Quarkus 2. Simplified data persistence for your application using Quarkus Panache 3. Faster startup time and lower memory foot print - Quarkus Native vs JVM modes runtime 4. Deploying a Qurakus application into Openshift The source code shown in this video can be found here - github.com/bbalakriz/quarkus-app.git
Handling Technical Service Exceptions
มุมมอง 4.3K5 ปีที่แล้ว
Demonstrates how technical service exceptions can be handled in a more elegant way by using jBPM's RETRY exception handler strategy. The sample project use in this demo can be found here - github.com/bbalakriz/excep-handler
Effectiveness of Global deployment descriptors
มุมมอง 1815 ปีที่แล้ว
Effectiveness of Global deployment descriptors
Code Ready Workspaces - Node.js & Postgres - Multi Machine
มุมมอง 1725 ปีที่แล้ว
Code Ready Workspaces - Node.js & Postgres - Multi Machine
jBPM 7 - LDAP Authentication & authorization
มุมมอง 6K6 ปีที่แล้ว
jBPM 7 - LDAP Authentication & authorization
jBPM 7 - Publishing process audit log to a JMS messaging provider
มุมมอง 9396 ปีที่แล้ว
jBPM 7 - Publishing process audit log to a JMS messaging provider
jBPM 7 - Publish Audit Data to an external database
มุมมอง 2.2K6 ปีที่แล้ว
jBPM 7 - Publish Audit Data to an external database
jBPM 7 - Custom Work Item Handler
มุมมอง 10K6 ปีที่แล้ว
jBPM 7 - Custom Work Item Handler

ความคิดเห็น

  • @iAmNotLegendButDevil
    @iAmNotLegendButDevil 5 หลายเดือนก่อน

    Your pom will be helpful for me.. I was doing the same steps.

    • @balakrishnanb4484
      @balakrishnanb4484 5 หลายเดือนก่อน

      Sorry, I don't have that .pom file handy as this video was created several years ago.

  • @தமிழ்ச்சுவைசெவிச்சுவை
    @தமிழ்ச்சுவைசெவிச்சுவை 7 หลายเดือนก่อน

    Can we retrigger a completed task?

  • @abhirambarik5608
    @abhirambarik5608 9 หลายเดือนก่อน

    Hi, I am trying to execute kogito-example. but I am getting error that , these 2 jars are not found , org.apache.kie.sonataflow:sonataflow-quarkus:jar:999-SNAPSHOT, org.apache.kie.sonataflow:sonataflow-quarkus-devui:jar:999-SNAPSHOT any suggestion here. Also in quarkus extension "kogito-quarkus-serverless-workflow" is in deprecated state.

  • @starcity3541
    @starcity3541 10 หลายเดือนก่อน

    Could you please fix? sound is missing in this video..

    • @balakrishnanb4484
      @balakrishnanb4484 10 หลายเดือนก่อน

      Hi, This recording was done without audio as it is very much self explanatory

  • @ravishankarsrinivasan2254
    @ravishankarsrinivasan2254 10 หลายเดือนก่อน

    good stuff Balakrishnan! Thanks for recording this! Do you have a README or a writeup for this video?

    • @balakrishnanb4484
      @balakrishnanb4484 10 หลายเดือนก่อน

      Thanks for the feedback Ravi. Here's the README for this - github.com/bbalakriz/rh1-dynamic-frontend-wrapper/blob/master/README.md

  • @522mahesh
    @522mahesh 11 หลายเดือนก่อน

    Really helpful video and Demo. Do you have any video for setting up the Kogito business central in local.?

    • @balakrishnanb4484
      @balakrishnanb4484 10 หลายเดือนก่อน

      This should help you out - blog.kie.org/2021/03/integrate-kogito-and-business-central.html

  • @prem767676
    @prem767676 11 หลายเดือนก่อน

    Hi Bala, How can I handle priority in DMN

    • @balakrishnanb4484
      @balakrishnanb4484 10 หลายเดือนก่อน

      Please give an example on what kind of priority are you looking for.

  • @gaidonet
    @gaidonet ปีที่แล้ว

    Hi Balakrishnan. We are approaching an IBM BAMOE 8 implementation on Red Hat OCP, that is taking longer than expected. Is there any chance for taking contact to you? (email?)

  • @gaidonet
    @gaidonet ปีที่แล้ว

    Hello, in our case we are implementing IBM BAMOE (basically, it is the continuity of PAM 7) and we need to integrate with IBM MQ, but we are not managing to install the resource adapter suggested by IBM (wmq.jmsra.rar) which we did manage to configure in our onPremise installation of PAM 7 Any ideas on how to approach it? Thank you in advance.

    • @balakrishnanb4484
      @balakrishnanb4484 ปีที่แล้ว

      In an operator based setup of kie-server, to add additional binaries (wmq.jmsra.rar, in this case), you may extend the base kie-server image. Something like this. ~~~~ FROM ..../ibm-bamoe/bamoe-kieserver-rhel8 USER root COPY wmq.jmsra.rar {JBOSS_HOME}/standalone/deployments // Do all additional configuration and changes required to the config etc., USER 185 ~~~~ Build this Dockerfile and specify it in the operator as the image to be used for kie-server creation.

  • @aiswaryaajith4779
    @aiswaryaajith4779 ปีที่แล้ว

    @balakrishnanb4484 Could you please help me with this

  • @aiswaryaajith4779
    @aiswaryaajith4779 ปีที่แล้ว

    can u help me in uploading the external jars to drools workbench..its not working

    • @balakrishnanb4484
      @balakrishnanb4484 ปีที่แล้ว

      What's the error?

    • @aiswaryaajith4779
      @aiswaryaajith4779 ปีที่แล้ว

      @@balakrishnanb4484 Thanks for your response. I am trying to integrate drools workbench wth elasticsearch. I am having a java code for connecting with elasticsearch. Built and created a jar file. Imported the jar file as dependency also. But I am not able to deploy the same. Can you please assist me

  • @shankargupta578
    @shankargupta578 ปีที่แล้ว

    do we have any ref material to understand How to write a workflow?

    • @balakrishnanb4484
      @balakrishnanb4484 ปีที่แล้ว

      The user guides[1] should provide a good starting point [1] - openshift-knative.github.io/docs/docs/latest/serverless-logic/about.html

  • @ujjawalgupta720
    @ujjawalgupta720 ปีที่แล้ว

    Kindly share your contact details for business Purposes

  • @ujjawalgupta720
    @ujjawalgupta720 ปีที่แล้ว

    kindly share your contact details for business Purposes

  • @madanprabhud
    @madanprabhud ปีที่แล้ว

    Very insightful video. The JPA datasource approach not able to workout in latest leycloak 21. Kindly guide me to implement the same for latest leycloak with quarkus.

    • @balakrishnanb4484
      @balakrishnanb4484 10 หลายเดือนก่อน

      Sorry, I haven't had a chance to try out it with the latest version of Keycloak.

  • @avpatel257
    @avpatel257 ปีที่แล้ว

    Thanks for the detailed explanation. I had lot of trouble finding documentation related to SWF and Kogito. Possible to post a github link with complete details on how to run this on our local?

    • @balakrishnanb4484
      @balakrishnanb4484 ปีที่แล้ว

      Hi @avpatel257, Here's[1] is the Serverless Workflow guides that has good set of tutorials to get started. Also, here[2] is the guided document to help with the local setup of this example.. Hope this helps. [1] - kiegroup.github.io/kogito-docs/serverlessworkflow/latest/ [2] - redhat-scholars.github.io/serverless-workflow/osl/index.html

  • @surendharramaraj3211
    @surendharramaraj3211 ปีที่แล้ว

    Hi Bala, Well explained, and instead of using the JBoss infinispan I am using Redhat Data Grid, have any idea which dependency have to use for the replacement of infinispan in POM.xml?

  • @sathishkumar-wr4jq
    @sathishkumar-wr4jq 2 ปีที่แล้ว

    Can you do a video for mapping of json response to java pojo class.

  • @shankil2975
    @shankil2975 2 ปีที่แล้ว

    Hi Bala - Excellent video. Unique in the sense you covered all logic types in 1 example (context, decision table , function etc.) I have a unique requirement and wondering how to tackle it. The requirement is as follows (generic) given by user in an Excel. Col A(Age) Col B(Income) Col C (FICO) Col D(PrimaryRes) Col E(Red) Col F(Blue) Col G(Green) >30 >3000 >650 Y X X <30 >4500 <650 N X X The rule above must be interpreted as: (Rule #1 for example) IF (Col A = true AND Col B = true) OR( Col C = True OR Cold D = false) AND (Col E = Red OR Col F = Blue) Input data is of the form: {"Age" 35 "Income": 3500, "FICO":720, "PrimaryRes": "Y", "FavColors":["Red", "Orange", "White"] } The above input should satisfy rule 1. Have couple of questions: 1) How do I combine AND/OR in a Decision table (if I go with that Logical expression) 2) How do I check for the input array containing at least 1 element that satifies the "X",s in the rules. "X" in the Excel rule means that color is present in input. All "X".s in a given Excel rule are to be treated as OR condition

  • @miteshpatel5483
    @miteshpatel5483 2 ปีที่แล้ว

    Amazing, this is what I was searching for.. covered all the things with deployment.. 👏🏻

  • @sheetalneralkar-kanthale5390
    @sheetalneralkar-kanthale5390 2 ปีที่แล้ว

    can we use similar method for kafkasendtask wih?

  • @rakee_v
    @rakee_v 2 ปีที่แล้ว

    Hi Sir, So how to handle two outputs from a DMN decision. Lets take ur example.. Consider I have two more DMN decisions(A and B) after Find BMI which gets it input from Find BMI. If the ouput from Find BMI is Overweight the DMN A should get activated or if it is underweight the DMN B should be activated.

    • @balakrishnanb4484
      @balakrishnanb4484 2 ปีที่แล้ว

      To invoke one DMN from the other, please check out this - blog.kie.org/2021/07/reusing-dmn-models.html

  • @rossbrigoli6780
    @rossbrigoli6780 2 ปีที่แล้ว

    very helpful Bala!

  • @rossbrigoli6780
    @rossbrigoli6780 2 ปีที่แล้ว

    the default KieApp config seems to create passthrough routes with invalid certificate. It works when I created a new route with edge termination.

  • @TheDeclancox
    @TheDeclancox 2 ปีที่แล้ว

    Excellent tutorial on this very interesting feature. Thanks 👍

  • @barmasairam6327
    @barmasairam6327 3 ปีที่แล้ว

    hi bala ,please install crc on rhel 8 using aws ec2 instance and upload the video.note: if you face virtualization issued noticed,please suggest to troubleshoot way as well

  • @sasasisi8854
    @sasasisi8854 3 ปีที่แล้ว

    can you make a video about configuring an ldap server

  • @jbpmddatwas4598
    @jbpmddatwas4598 3 ปีที่แล้ว

    Hi

  • @sagardenge1139
    @sagardenge1139 3 ปีที่แล้ว

    hey can you please tell me where we find deployment container and how to build project from that

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      The question is unclear. Not sure what exactly you mean by "find deployment controller and build project from that". Can you elaborate?

    • @sagardenge1139
      @sagardenge1139 3 ปีที่แล้ว

      @@balakrishnanb4484 i created a dmn model as you shown in the video and build it and deploy it too . so where i find all the files related to deployment. such as container which gets created after deployment and please also tell what is default maven repository in which deployment gets pushed or stored and is possible to build kogito project using this deployment.

  • @aceg19688
    @aceg19688 3 ปีที่แล้ว

    awesome! It solve my trouble

  • @MohammadAli-pt6jq
    @MohammadAli-pt6jq 3 ปีที่แล้ว

    This is really very helpful and thanks for that. Couple of queries. Can I configure multiple MySQL data sources. I have two different products using two different databases. I'm implementing such that product-1 user should be able to login to product-2 and vice versa. Another question is since password is encrypted how keycloak will handle with existing password?

  • @davidnfarias
    @davidnfarias 3 ปีที่แล้ว

    Excelent video @Balakrishnan!!!

  • @devarapallivaralaxmi9260
    @devarapallivaralaxmi9260 3 ปีที่แล้ว

    Nice one and easy to understand, Do you have any video on how we can calucate with a Java class and run the rule. I am looking for an example to work with Java class. Any reference or suggestions are appreciated

  • @happysoul8952
    @happysoul8952 3 ปีที่แล้ว

    Hello....How to call subprocess from one workflow to another workflow's subprocess

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      This post (though quite old) should help you out - mswiderski.blogspot.com/2014/02/reuse-your-business-assets-with-jbpm-6.html

  • @ruhult20
    @ruhult20 3 ปีที่แล้ว

    @Balakrishnan B: Can you make a video on multi-tenancy in jBPM

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      Hi @Rahulla Sheik, Could you please clarify as to what exactly do you mean by multi tenancy? jBPM is multi tenant by default, in the sense that, multiple process applications can be deployed into it.

    • @ruhult20
      @ruhult20 3 ปีที่แล้ว

      @@balakrishnanb4484 Let's say, I have a single instance of jBPM but I want to serve multiple customers. I want to design projects specific to customers. Project(s) created for one customer should not be visible to other customers.

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @@ruhult20, From the run time perspective, for such requirements, I would use different kie-server clusters (using different databases) for each customer, so that each customer specific runtime cluster + data would be independent of the other. From design time perspective, Business Central already provides RBAC to control the visibility of the projects and so I would use that.

  • @botteselle
    @botteselle 3 ปีที่แล้ว

    How can I update the profile in spi? What interface do I need to extend? Apparently there is only the addUser method

  • @dspa72
    @dspa72 3 ปีที่แล้ว

    Hello, great video, thanks! One question: where do you save password? In the mysql database? Is it possible to have users managed into a custom database and their passwords managed into keycloak?

  • @kiransadaye4073
    @kiransadaye4073 3 ปีที่แล้ว

    Hii Balakrishan, Thank you for the explaination. I am new to Red Hat SSO. Want some knowledge on how to implement below flow 1) Want to store user details except password in RH SSO DB using SSO APIs. Which I am doing by using SSO API to add and update user.(Is there any bulk option to add and update user) 2) Also using LDAP where user's data is not up to date by source system so using it only for password authentication . Is it possible to configure LDAP in user federation to authenticate user while login and to not override user data which stored using above option Thanks

  • @sasubramanian6893
    @sasubramanian6893 3 ปีที่แล้ว

    Excellent!!!

  • @dineshvasudevan6812
    @dineshvasudevan6812 3 ปีที่แล้ว

    Hi Bala, how to reach out to you?

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @Dinesh Vasudevan, you may post your questions here, if any, about this video.

  • @akhlaqueahmed3500
    @akhlaqueahmed3500 3 ปีที่แล้ว

    HI, I have an issue with Data set - Execution server. I am using PostgreSQl as DB. I want to calculate the difference of two dates column for my report. The query I have used in DB is: Query 1: SELECT end_date as end, start_date as start, processid as pidd, AGE(end_date, start_date) as duration from processinstancelog Query 2: select end_date,start_date,processid, end_date - start_date as duration from processinstancelog Both queries reflecting the correct expected result in Postgres DB. But when I am using the same queries in Data set>Execution server it's not showing the "duration" column. Can you please advise what is issue why the data set is not showing the duration column?

  • @nirajanshrestha7240
    @nirajanshrestha7240 3 ปีที่แล้ว

    Hello BalaKrishnan, Thank you very much for an excellent tutorial. I am using your project to adapt to my requirements. But i am facing a problem since few days and i could not find a solution yet. Hope you could help me with this. After i run my keycloak batch file, it gets stuck at a point and does not load further. I get "[org.hibernate.hql.internal.QueryTranslatorFactoryInitiator] (ServerService Thread Pool --58) HHH000397: Using ASTQueryTranslatorFactory" message. The server does not load further from this point. My standalone.xml : <xa-datasource jndi-name="java:jboss/datasources/UserStoreXADS" pool-name="UserStoreXADS"> <xa-datasource-property name="ServerName"> localhost </xa-datasource-property> <xa-datasource-property name="DatabaseName"> keycloak </xa-datasource-property> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> <driver>mysql</driver> <security> <user-name>root</user-name> <password>root</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/> </validation> </xa-datasource> <drivers> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> <driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver> </drivers> If i use normal datasource without "xa", then the server runs but when i search for users, i get "Unable to get JDBC Connection". Please let me know if you have any ideas on this matter. Thanks alot.

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      The error message that you've shared is insufficient to analyze the issue. Can you share the full log file covering the logs right from the starting of Keycloak?

    • @nirajanshrestha7240
      @nirajanshrestha7240 3 ปีที่แล้ว

      @@balakrishnanb4484 Thank you very much for your reply. I have attached the link to logfile.txt. "drive.google.com/file/d/10gUCK7F8T1qnoImQOtb3Bgm3MSCAM5Cf/view?usp=sharing" The program waits after calling lookup method in "create" method defined in "CustomUserStorageProviderFactory.class" Hope it will help you to find the problem.

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @@nirajanshrestha7240 The log file clearly shows the error 07:41:26,618 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 32) WFLYCTL0013: Operation ("add") failed - address: ([ ("subsystem" => "datasources"), ("jdbc-driver" => "mysql") ]) - failure description: "WFLYJCA0114: Failed to load datasource class: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" This means that datasource class "com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" is not present in the version of the JDBC driver jar you are using. So, you need to find the correct fully qualified class name for MysqlXADataSource in the version of the driver you are using and specify it in the property "<xa-datasource-class" in the standalone.xml. From what I know, the XA datasource class in MySql connector/J version 8 has been changed[1] to "com.mysql.cj.jdbc.MysqlXADataSource". [1] - dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html

    • @nirajanshrestha7240
      @nirajanshrestha7240 3 ปีที่แล้ว

      @@balakrishnanb4484 Thank you very much for your reply. As you have said, the problem was indeed with the "com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" driver. As it has been changed to ""com.mysql.cj.jdbc.MysqlXADataSource". I changed it and it worked perfectly. I really appreciate your help and effort. Thank you once again and keep up your good work :)

    • @bongcoder8553
      @bongcoder8553 2 ปีที่แล้ว

      @@nirajanshrestha7240 bro wich sql connector did you use

  • @ankitgoyal5154
    @ankitgoyal5154 3 ปีที่แล้ว

    Hey Balakrishana, Thanks for the awesome video. I just want to check...in your case you have used remote vm as ubuntu..but in my case i have to use centos 7 as remote VM any reference to do the same type of setup for centos.

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      Code ready containers are already supported[1] on CentOS 7.5 & up. So, if your CentOS version matches that, then no extra steps/configurations are required besides the standard installation procedure[2] [1] - code-ready.github.io/crc/#minimum-system-requirements-operating-system_gsg [2] - code-ready.github.io/crc/#installation_gsg

  • @redskinsthebraves5546
    @redskinsthebraves5546 3 ปีที่แล้ว

    Hi Balakrishnan - very well explained, my only doubt is can keycloak work without having users added or imported into keycloak with SPI implementation. I’m having a MySQL DB which consists of large user base, now I want to integrate that MySQL db into keycloak and I don’t want users to live inside keycloak, is that possible? Your advice would be very valuable

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      Yes, if the interface "org.keycloak.storage.user.UserQueryProvider" is not implemented as a part of the SPI, then the users won't get imported into the keycloak DB. Hope this helps.

    • @redskinsthebraves5546
      @redskinsthebraves5546 3 ปีที่แล้ว

      @@balakrishnanb4484 Thanks for your quick response. So if I don't implement the "org.keycloak.storage.user.UserQueryProvider" then Keycloak won't save any users in Keycloak console and always will try to search for those MySQL db users by making a call to the db everytime right? Is that how it works. Also, you thanks so much for sharing your github code, this code should work for both Keycloak and RHSSO right or does it need any changes for Keycloak?

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @@redskinsthebraves5546 yes, as mentioned earlier, if that interface is not implemented, users won't be created inside keycloak db. My githib code works for both rhsso and keycloak.

    • @redskinsthebraves5546
      @redskinsthebraves5546 3 ปีที่แล้ว

      @@balakrishnanb4484 Thanks alot for your answers Bala. As I'm new to Keycloak and wanted to see how I can implement this in my company, lastly, I wanted to know is can keycloak act as both Identity Provider and Service Provider, just like PingFederate and Okta etc. Or Keycloak can be utilized just as an IDP?

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      ​@@redskinsthebraves5546 Yes, KeyCloak can be - an identity provider (along with federation capabilities) and also a user federation provider. Hope this helps.

  • @vishnum9190
    @vishnum9190 4 ปีที่แล้ว

    Hi, Very nice explanation. Just a quick thing, Can Keycloak act as an middle layer between DB's and Apps. For example, Instead of importing all the users from the ldap or DB's. Can it make a call to DB every time the user tries to request something and then Keycloak searches for the user info from the DB and then authenticate the user? I'm trying to achieve SSO without storing the user acounts in Keycloak. Any advice on this would be greatly appreciated. Thanks!

    • @balakrishnanb4484
      @balakrishnanb4484 4 ปีที่แล้ว

      Yes, the sample user storage SPI implementation that is provided with this video does exactly that - it doesn't import any of the users into KeyCloak DB, rather it just connects to the actual user store DB and does the authentication, search etc., However, if it is required to auto-import the users into Keycloak DB upon successful login, then the user storage SPI implementation has to be modified accordingly to handle it that way. You may take a look at this sample on how to do that - github.com/Smartling/keycloak-user-migration-provider/blob/e2745c4bcaf8e62ba54ac5bfb19de06e2bb796f9/user-migration-federation-provider/src/main/java/com/smartling/keycloak/provider/RemoteUserFederationProvider.java#L101 Hope this helps.

    • @vishnum9190
      @vishnum9190 3 ปีที่แล้ว

      @@balakrishnanb4484 Hi Bala Krishnan, Thank you for the confirmation. One last thing I wanted to know is - Can Keycloak being an free opensource be used in large enterprise for millions of users without interruptions?

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @@vishnum9190 Yes, Keycloak is being used by several organizations that have large user bases. For quick references, the organizations (public facing) that use Keycloak can be found with this search term - www.google.com/search?q=allinurl:+auth+realms+protocol+openid-connect

    • @vishnum9190
      @vishnum9190 3 ปีที่แล้ว

      @@balakrishnanb4484 Hi Bala, Thanks for the detailed explanation again.. I have Keycloak installed in my local windows machine and tried the same LDAP connectivity with Jumpcloud and then the "Test connection" and "Test authentication" both were successful but, when I tried to synchronize users and it says sync was successful and 0 users were imported, but I have 2 users in my LDAP and still it is not able to import those 2 users. Any advice on this would be much appreciated!!!

    • @balakrishnanb4484
      @balakrishnanb4484 3 ปีที่แล้ว

      @@vishnum9190Most likely it would be related to the Ldap DN for group, users configured in Keycloak. You may need to double check it

  • @nmrkmsis2000
    @nmrkmsis2000 4 ปีที่แล้ว

    Bala Krishna if you don't mind can you please share your standalone.xml file with me muralinit@gmail.com. I am getting error while connecting to mysql using XA-DATA-SOURCE if I use DataSource it worked fine. Now I need to use "xa-datasource". Because I want to establish 2 connections in my standalone.xml. We are using MySQL to store our keycloak schema and in SQL Server we have our external customers data. When I tried to include both connections using datasource I got error saying. "ARJUNA012140: Adding multiple last resources is disallowed". Can you please guide me some articles or websites how I can I achieve this.

    • @balakrishnanb4484
      @balakrishnanb4484 4 ปีที่แล้ว

      You can find the standalone.xml here - gist.githubusercontent.com/bbalakriz/974def1b0d286ae5ba8e0c3fca507a80/raw/b41e3c6b878dd5ec72af5fdefcd19110d8905488/keycloak-standalone.xml

    • @nmrkmsis2000
      @nmrkmsis2000 4 ปีที่แล้ว

      @@balakrishnanb4484 Thank you so much Bala I will try and let you know the result.

    • @nmrkmsis2000
      @nmrkmsis2000 4 ปีที่แล้ว

      @@balakrishnanb4484 Any idea why I am getting this error. 16:47:17,332 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 32) WFLYCTL0013: Operation ("add") failed - address: ([ ("subsystem" => "datasources"), ("jdbc-driver" => "mysql") ]) - failure description: "WFLYJCA0114: Failed to load datasource class: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" I copied the mysql jar file in correct location as well. Don't know where I am doing wrong. I followed exactly as you suggested . For your reference this is my standalone.xml file. github.com/muralinit/keycloak-stanalone-configuration/blob/main/standalone-forbhaskarref.xml

    • @balakrishnanb4484
      @balakrishnanb4484 4 ปีที่แล้ว

      @@nmrkmsis2000 Check if the class "com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" is present inside the mysql jar file. MYSQL periodically changes the class names/ package names and your version of mysql connector might have a different package name. For example, mysql connector 8.x has a different xa-datasource class "com.mysql.cj.jdbc.MysqlXADataSource". Easiest would be to open up the jar and look for the correct class name and package name.

  • @nmrkmsis2000
    @nmrkmsis2000 4 ปีที่แล้ว

    Hi Balakrishna, first of all thank you so much for this wonderful video. Because of this I could able to understand how user federation works in Keycloak. I tried to clone your code and tried to deploy the jar file. But found issues connecting to my local mysql instance. I searched for standalone.xml file in the repo as well, but could not able to find it. Basically I am MEAN stack developer. Sat for last 5 days to understand Maven and build process. So, can you please help me out how should I connect to my localhost:3306 mysql connection to test the userfederation on my local machine. Thanks in advance for your help.

    • @balakrishnanb4484
      @balakrishnanb4484 4 ปีที่แล้ว

      Thanks for feedback. standalone.xml will be available as a part of underlying Wildfly/EAP server under the location ${EAP_HOME}/standalone/configuration/standalone.xml. To connect to mysql database, you need to add the required datasource configuration as I shown in the video at th-cam.com/video/3m5aEQFGr6U/w-d-xo.html You may also take a look at this article[1] for additional details on this subject [1] - www.mastertheboss.com/jboss-server/jboss-datasource/how-to-configure-a-datasource-with-jboss-7

    • @nmrkmsis2000
      @nmrkmsis2000 4 ปีที่แล้ว

      @@balakrishnanb4484 Hi Balakrishna, Thank you so much for your reply. Sorry for the delay in my response. I had a lot of struggle to make it work. This article helped me a lot. Sharing it here so that it will be helpful for anyone else who is facing the problems like me. github.com/BookmarksDev/bookmarks.dev/wiki/Keycloak-MySQL-Setup. One more thing which I forgot was creating the userpass table as well. When I tried to login with userid which is in mysql initially it did not allowed me. Then I figuredout that I need to create this table by looking at your github repo link. github.com/bbalakriz/rhsso-custom-user-storage-jpa/blob/master/src/test/resources/UserStoreDDL.sql . After creating the entries in userpass table then I was able to successfully loging to my standalone keycloak server. If anyone needs my standalone.xml please let me know. I am free to share that.

    • @vishnum9190
      @vishnum9190 3 ปีที่แล้ว

      @@nmrkmsis2000 Hi Murali, I'm trying to achieve the same by SPI to connect to MySQL DB so could you please share that standalone.xml with me. Would be much appreciated!!!

    • @ankushgera7890
      @ankushgera7890 3 ปีที่แล้ว

      @@nmrkmsis2000 Could you please share your standlone.xml? I am stuck in a connection setup at my local. Thanks in advance.

    • @bongcoder8553
      @bongcoder8553 2 ปีที่แล้ว

      @@nmrkmsis2000 please share the standalone.xml fiile

  • @tufisii2006
    @tufisii2006 4 ปีที่แล้ว

    Thank you!

  • @jvillavic
    @jvillavic 4 ปีที่แล้ว

    Well, this is why we as developers should earn the big bucks...