You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ya...@apache.org on 2025/05/15 21:05:48 UTC

(airavata) 01/09: bump JDK to v17. create devcontainer setup. bump rabbitmq and proto versions. consolidate maven-compiler plugin versions. migrate openjpa to 4.0.1. update javax to jakarta. regenerate certs. fix bugs.

This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch cybershuttle-dev
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit a417d4ac8cd7e46880c53ec2bc9854235222d787
Author: yasith <ya...@gatech.edu>
AuthorDate: Fri Mar 14 02:35:05 2025 -0400

    bump JDK to v17. create devcontainer setup. bump rabbitmq and proto versions. consolidate maven-compiler plugin versions. migrate openjpa to 4.0.1. update javax to jakarta. regenerate certs. fix bugs.
---
 .devcontainer/Dockerfile                           |    8 +
 .devcontainer/devcontainer.json                    |   27 +
 .devcontainer/docker-compose.yml                   |  142 ++
 .gitignore                                         |    1 +
 .vscode/launch.json                                |   26 +
 .../airavata-client-sdks/airavata-cpp-sdk/pom.xml  |    2 +-
 .../airavata-client-sdks/airavata-php-sdk/pom.xml  |    2 +-
 .../iam-admin-services-core/pom.xml                |    6 +
 .../profile-service-commons/pom.xml                |   12 +-
 .../commons/repositories/AbstractRepository.java   |    2 +-
 .../commons/tenant/entities/GatewayEntity.java     |    2 +-
 .../user/entities/CustomizedDashboardEntity.java   |    2 +-
 .../user/entities/NSFDemographicsEntity.java       |    2 +-
 .../commons/user/entities/UserProfileEntity.java   |    2 +-
 .../service/profile/commons/utils/JPAUtils.java    |    4 +-
 .../profile/user/cpi/UserProfileService.java       |    1 +
 .../profile-service/profile-tenant-core/pom.xml    |    2 +-
 .../profile-service/profile-user-core/pom.xml      |    8 +-
 .../resources/keystores => keystores}/airavata.jks |  Bin
 keystores/client_truststore.jks                    |  Bin 0 -> 2351 bytes
 keystores/generate_keystore.sh                     |   14 +
 modules/agent-framework/agent-service/pom.xml      |   69 +-
 .../service/controllers/AgentController.java       |   24 +-
 .../service/controllers/ExperimentController.java  |    8 +-
 .../agent-framework/agent-service/src/main/proto   |    1 -
 .../src/main/resources/application.yml             |    2 +-
 .../resources/distribution/conf/application.yml    |    2 +-
 modules/agent-framework/pom.xml                    |   17 +-
 modules/airavata-helix/agent-api/pom.xml           |    2 +-
 modules/airavata-helix/task-api/pom.xml            |    2 +-
 modules/airavata-helix/task-core/pom.xml           |    2 +-
 modules/airavata-helix/workflow-impl/pom.xml       |    2 +-
 .../metadata-analyzer/pom.xml                      |    6 +-
 .../metascheduler-core/pom.xml                     |   12 +-
 modules/airavata-metascheduler/pom.xml             |    4 +-
 .../process-scheduler/pom.xml                      |   12 +-
 modules/cluster-monitoring/pom.xml                 |    4 +-
 .../airavata/common/utils/ApplicationSettings.java |    3 +
 .../org/apache/airavata/common/utils/JPAUtils.java |    4 +-
 modules/commons/src/test/resources/mykeystore.jks  |  Bin 498 -> 0 bytes
 .../computer-resource-monitoring-service/pom.xml   |    6 +-
 .../credential-store-service/pom.xml               |    8 +
 .../src/test/resources/keystore.jks                |  Bin 2230 -> 0 bytes
 .../src/test/resources/mykeystore.jks              |  Bin 498 -> 0 bytes
 modules/distribution/pom.xml                       |    2 +-
 .../src/main/assembly/controller-bin-assembly.xml  |    2 +-
 .../main/assembly/email-monitor-bin-assembly.xml   |    4 +-
 .../src/main/assembly/parser-wm-bin-assembly.xml   |    2 +-
 .../src/main/assembly/participant-bin-assembly.xml |    2 +-
 .../src/main/assembly/post-wm-bin-assembly.xml     |    2 +-
 .../src/main/assembly/pre-wm-bin-assembly.xml      |    2 +-
 .../src/main/docker/docker-compose.yml             |    2 +-
 modules/file-server/pom.xml                        |    2 +-
 .../{src/main/containers => }/.gitignore           |    0
 modules/ide-integration/README.md                  |   43 +-
 modules/ide-integration/pom.xml                    |    8 +
 .../src/main/containers/docker-compose.yml         |   60 -
 .../main/containers/keycloak/Default-export.json   | 1990 ---------------
 .../containers/keycloak/Default-export.json.bk     | 1507 -----------
 .../src/main/containers/keycloak/keycloak.conf     |   43 +-
 .../main/containers/keycloak/realm-default.json    | 2649 ++++++++++++++++++++
 .../src/main/containers/keycloak/standalone.xml    |  521 ----
 .../airavata-php-gateway/app/config/pga_config.php |    4 +-
 .../app/tests/selenium/pom.xml                     |    8 +-
 .../src/main/resources/airavata-server.properties  |   22 +-
 .../src/main/resources/keystores/airavata_sym.jks  |  Bin 501 -> 0 bytes
 .../main/resources/keystores/client_truststore.jks |  Bin 2282 -> 0 bytes
 .../ide-integration/src/main/resources/log4j2.xml  |    4 +-
 modules/job-monitor/email-monitor/pom.xml          |    9 +-
 .../airavata/monitor/email/EmailBasedMonitor.java  |   25 +-
 .../email/parser/AiravataCustomMailParser.java     |    4 +-
 .../airavata/monitor/email/parser/EmailParser.java |    4 +-
 .../monitor/email/parser/HTCondorEmailParser.java  |    4 +-
 .../monitor/email/parser/LSFEmailParser.java       |    4 +-
 .../monitor/email/parser/PBSEmailParser.java       |    4 +-
 .../monitor/email/parser/SLURMEmailParser.java     |    4 +-
 .../monitor/email/parser/UGEEmailParser.java       |    4 +-
 modules/job-monitor/pom.xml                        |   11 +-
 modules/registry/registry-core/pom.xml             |    8 +-
 .../AiravataWorkflowEntity.java                    |    2 +-
 .../AiravataWorkflowErrorEntity.java               |    2 +-
 .../AiravataWorkflowStatusEntity.java              |    2 +-
 .../ApplicationErrorEntity.java                    |    2 +-
 .../ApplicationStatusEntity.java                   |    2 +-
 .../HandlerErrorEntity.java                        |    2 +-
 .../HandlerInputEntity.java                        |    2 +-
 .../HandlerOutputEntity.java                       |    2 +-
 .../HandlerStatusEntity.java                       |    2 +-
 .../WorkflowApplicationEntity.java                 |    2 +-
 .../WorkflowConnectionEntity.java                  |    2 +-
 .../WorkflowDataBlockEntity.java                   |    2 +-
 .../WorkflowHandlerEntity.java                     |    2 +-
 .../entities/appcatalog/AppEnvironmentEntity.java  |    2 +-
 .../appcatalog/AppModuleMappingEntity.java         |    2 +-
 .../appcatalog/ApplicationDeploymentEntity.java    |    2 +-
 .../appcatalog/ApplicationInputEntity.java         |    2 +-
 .../appcatalog/ApplicationInterfaceEntity.java     |    2 +-
 .../appcatalog/ApplicationModuleEntity.java        |    8 +-
 .../appcatalog/ApplicationOutputEntity.java        |    2 +-
 .../core/entities/appcatalog/BatchQueueEntity.java |    2 +-
 .../appcatalog/BatchQueueResourcePolicyEntity.java |   12 +-
 .../appcatalog/CloudJobSubmissionEntity.java       |    2 +-
 .../entities/appcatalog/ComputeResourceEntity.java |    2 +-
 .../ComputeResourceFileSystemEntity.java           |    2 +-
 .../appcatalog/ComputeResourcePolicyEntity.java    |   18 +-
 .../ComputeResourcePreferenceEntity.java           |    2 +-
 .../ComputeResourceReservationEntity.java          |   22 +-
 .../appcatalog/DataMovementInterfaceEntity.java    |    2 +-
 .../entities/appcatalog/GatewayGroupsEntity.java   |    8 +-
 .../entities/appcatalog/GatewayProfileEntity.java  |    2 +-
 .../appcatalog/GlobusGkEndpointEntity.java         |    2 +-
 .../appcatalog/GlobusSubmissionEntity.java         |    2 +-
 .../appcatalog/GridftpDataMovementEntity.java      |    2 +-
 .../entities/appcatalog/GridftpEndpointEntity.java |    2 +-
 .../appcatalog/GroupComputeResourcePrefEntity.java |   26 +-
 .../appcatalog/GroupResourceProfileEntity.java     |   14 +-
 .../GroupSSHAccountProvisionerConfig.java          |   18 +-
 .../entities/appcatalog/GsisshExportEntity.java    |    2 +-
 .../appcatalog/GsisshPostjobcommandEntity.java     |    2 +-
 .../appcatalog/GsisshPrejobcommandEntity.java      |    2 +-
 .../appcatalog/GsisshSubmissionEntity.java         |    8 +-
 .../appcatalog/JobManagerCommandEntity.java        |    2 +-
 .../appcatalog/JobSubmissionInterfaceEntity.java   |    2 +-
 .../appcatalog/LibraryApendPathEntity.java         |    2 +-
 .../appcatalog/LibraryPrependPathEntity.java       |    2 +-
 .../appcatalog/LocalDataMovementEntity.java        |    8 +-
 .../entities/appcatalog/LocalSubmissionEntity.java |    2 +-
 .../entities/appcatalog/ModuleLoadCmdEntity.java   |    2 +-
 .../appcatalog/ParallelismCommandEntity.java       |    2 +-
 .../entities/appcatalog/ParserConnectorEntity.java |    2 +-
 .../appcatalog/ParserConnectorInputEntity.java     |    2 +-
 .../core/entities/appcatalog/ParserEntity.java     |    2 +-
 .../entities/appcatalog/ParserInputEntity.java     |    2 +-
 .../entities/appcatalog/ParserOutputEntity.java    |    2 +-
 .../entities/appcatalog/ParsingTemplateEntity.java |    2 +-
 .../appcatalog/ParsingTemplateInputEntity.java     |    2 +-
 .../entities/appcatalog/PostjobCommandEntity.java  |    2 +-
 .../entities/appcatalog/PrejobCommandEntity.java   |    2 +-
 .../appcatalog/ResourceJobManagerEntity.java       |    2 +-
 .../SSHAccountProvisionerConfiguration.java        |    2 +-
 .../entities/appcatalog/ScpDataMovementEntity.java |    2 +-
 .../appcatalog/SshJobSubmissionEntity.java         |    2 +-
 .../appcatalog/StorageInterfaceEntity.java         |    2 +-
 .../appcatalog/StoragePreferenceEntity.java        |    2 +-
 .../entities/appcatalog/StorageResourceEntity.java |    2 +-
 .../appcatalog/UnicoreDatamovementEntity.java      |   12 +-
 .../appcatalog/UnicoreSubmissionEntity.java        |    2 +-
 .../UserComputeResourcePreferenceEntity.java       |    2 +-
 .../appcatalog/UserResourceProfileEntity.java      |    2 +-
 .../appcatalog/UserStoragePreferenceEntity.java    |    2 +-
 .../ComputationalResourceSchedulingEntity.java     |    2 +-
 .../core/entities/expcatalog/ExperimentEntity.java |    2 +-
 .../entities/expcatalog/ExperimentErrorEntity.java |    2 +-
 .../entities/expcatalog/ExperimentInputEntity.java |    2 +-
 .../expcatalog/ExperimentOutputEntity.java         |    2 +-
 .../expcatalog/ExperimentStatusEntity.java         |    2 +-
 .../expcatalog/ExperimentSummaryEntity.java        |    2 +-
 .../core/entities/expcatalog/GatewayEntity.java    |    2 +-
 .../GatewayUsageReportingCommandEntity.java        |    2 +-
 .../entities/expcatalog/GatewayWorkerEntity.java   |    2 +-
 .../core/entities/expcatalog/JobEntity.java        |    2 +-
 .../core/entities/expcatalog/JobStatusEntity.java  |    2 +-
 .../entities/expcatalog/NotificationEntity.java    |    2 +-
 .../core/entities/expcatalog/ProcessEntity.java    |    2 +-
 .../entities/expcatalog/ProcessErrorEntity.java    |    2 +-
 .../entities/expcatalog/ProcessInputEntity.java    |    2 +-
 .../entities/expcatalog/ProcessOutputEntity.java   |    2 +-
 .../expcatalog/ProcessResourceScheduleEntity.java  |    2 +-
 .../entities/expcatalog/ProcessStatusEntity.java   |    2 +-
 .../entities/expcatalog/ProcessWorkflowEntity.java |    2 +-
 .../entities/expcatalog/ProcessWorkflowPK.java     |    4 +-
 .../core/entities/expcatalog/ProjectEntity.java    |    2 +-
 .../entities/expcatalog/ProjectUserEntity.java     |    2 +-
 .../entities/expcatalog/QueueStatusEntity.java     |    2 +-
 .../core/entities/expcatalog/TaskEntity.java       |    2 +-
 .../core/entities/expcatalog/TaskErrorEntity.java  |    2 +-
 .../core/entities/expcatalog/TaskStatusEntity.java |    2 +-
 .../expcatalog/UserConfigurationDataEntity.java    |    2 +-
 .../core/entities/expcatalog/UserEntity.java       |    2 +-
 .../registry/core/entities/expcatalog/UserPK.java  |    4 +-
 .../replicacatalog/ConfigurationEntity.java        |    2 +-
 .../entities/replicacatalog/DataProductEntity.java |    2 +-
 .../replicacatalog/DataProductMetadataEntity.java  |    2 +-
 .../replicacatalog/DataReplicaLocationEntity.java  |    2 +-
 .../replicacatalog/DataReplicaMetadataEntity.java  |    2 +-
 .../workflowcatalog/ComponentStatusEntity.java     |    8 +-
 .../core/entities/workflowcatalog/EdgeEntity.java  |    2 +-
 .../core/entities/workflowcatalog/NodeEntity.java  |    2 +-
 .../core/entities/workflowcatalog/PortEntity.java  |    2 +-
 .../entities/workflowcatalog/WorkflowEntity.java   |    2 +-
 .../workflowcatalog/WorkflowInputEntity.java       |    2 +-
 .../workflowcatalog/WorkflowOutputEntity.java      |    2 +-
 .../workflowcatalog/WorkflowStatusEntity.java      |    2 +-
 .../core/repositories/AbstractRepository.java      |    4 +-
 .../appcatalog/AppCatAbstractRepository.java       |    2 +-
 .../appcatalog/ComputeResourceRepository.java      |    2 +-
 .../appcatalog/ResourceJobManagerRepository.java   |    2 +-
 .../expcatalog/ExpCatAbstractRepository.java       |    2 +-
 .../expcatalog/ExperimentSummaryRepository.java    |    2 +-
 .../replicacatalog/RepCatAbstractRepository.java   |    2 +-
 .../WorkflowCatAbstractRepository.java             |    2 +-
 .../core/utils/JPAUtil/AppCatalogJPAUtils.java     |    4 +-
 .../core/utils/JPAUtil/ExpCatalogJPAUtils.java     |    4 +-
 .../core/utils/JPAUtil/RepCatalogJPAUtils.java     |    4 +-
 .../utils/JPAUtil/WorkflowCatalogJPAUtils.java     |    4 +-
 .../src/main/resources/META-INF/persistence.xml    |   16 +
 .../mysql/airavata-server.properties               |    6 +-
 modules/server/pom.xml                             |    7 +-
 .../sharing-registry/sharing-data-migrator/pom.xml |    8 +-
 .../sharing-registry-server/pom.xml                |   32 +-
 .../sharing/registry/db/entities/DomainEntity.java |    2 +-
 .../sharing/registry/db/entities/EntityEntity.java |    2 +-
 .../sharing/registry/db/entities/EntityPK.java     |    4 +-
 .../registry/db/entities/EntityTypeEntity.java     |    2 +-
 .../sharing/registry/db/entities/EntityTypePK.java |    4 +-
 .../registry/db/entities/GroupAdminEntity.java     |    2 +-
 .../sharing/registry/db/entities/GroupAdminPK.java |    4 +-
 .../db/entities/GroupMembershipEntity.java         |    2 +-
 .../registry/db/entities/GroupMembershipPK.java    |    4 +-
 .../registry/db/entities/PermissionTypeEntity.java |    2 +-
 .../registry/db/entities/PermissionTypePK.java     |    4 +-
 .../registry/db/entities/SharingEntity.java        |    2 +-
 .../sharing/registry/db/entities/SharingPK.java    |    4 +-
 .../sharing/registry/db/entities/UserEntity.java   |    2 +-
 .../registry/db/entities/UserGroupEntity.java      |    2 +-
 .../sharing/registry/db/entities/UserGroupPK.java  |    4 +-
 .../sharing/registry/db/entities/UserPK.java       |    4 +-
 .../db/repositories/AbstractRepository.java        |    6 +-
 .../db/repositories/SharingRepository.java         |    2 +-
 .../sharing/registry/db/utils/JPAUtils.java        |    4 +-
 .../src/main/resources/META-INF/persistence.xml    |    4 +
 .../src/main/resources/airavata.jks                |  Bin 1410 -> 0 bytes
 .../src/main/resources/client_truststore.jks       |  Bin 5312 -> 0 bytes
 .../src/test/resources/airavata.jks                |  Bin 1410 -> 0 bytes
 .../src/test/resources/client_truststore.jks       |  Bin 5312 -> 0 bytes
 .../sharing-registry-stubs/pom.xml                 |    5 +-
 pom.xml                                            |   17 +-
 tools/load-client/pom.xml                          |    6 +
 .../src/main/assembly/load-client-bin-assembly.xml |    2 +-
 .../src/main/resources/client_truststore.jks       |  Bin 5312 -> 0 bytes
 240 files changed, 3404 insertions(+), 4580 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000000..79250c290c
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,8 @@
+FROM mcr.microsoft.com/devcontainers/base:debian
+
+USER vscode
+
+RUN curl https://mise.run | sh
+RUN ~/.local/bin/mise install -y java@openjdk-17 maven@3.9.9 python@3.10 golang@1.23; \
+  ~/.local/bin/mise use -g java@openjdk-17 maven@3.9.9 python@3.10 golang@1.23; \
+  ~/.local/bin/mise env >> ~/.bashrc
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000000..05d77d7d5d
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,27 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
+{
+  "name": "Airavata",
+  "dockerComposeFile": "docker-compose.yml",
+  "service": "devcontainer",
+  "features": {},
+  "workspaceFolder": "/workspace",
+  "forwardPorts": [],
+  "customizations": {
+    "vscode": {
+      "extensions": [
+        "esbenp.prettier-vscode",
+        "eamodio.gitlens",
+        "foxundermoon.shell-format",
+        "golang.go",
+        "lkrms.inifmt",
+        "ms-python.python",
+        "ms-python.autopep8",
+        "ms-python.isort",
+        "ms-toolsai.jupyter",
+        "njpwerner.autodocstring",
+        "vscjava.vscode-java-pack",
+      ]
+    },
+  }
+}
\ No newline at end of file
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
new file mode 100644
index 0000000000..0e8e5346a0
--- /dev/null
+++ b/.devcontainer/docker-compose.yml
@@ -0,0 +1,142 @@
+networks:
+  airavata-network:
+    driver: bridge
+    name: airavata.host
+    ipam:
+      config:
+        - subnet: 192.168.100.0/24
+          gateway: 192.168.100.1
+
+volumes:
+  db_data:
+    driver: local
+
+services:
+  devcontainer:
+    build: .
+    volumes:
+      - ..:/workspace:cached
+    command: sleep infinity
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.10
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  keycloak:
+    image: keycloak/keycloak:24.0
+    restart: always
+    environment:
+      KEYCLOAK_ADMIN: admin
+      KEYCLOAK_ADMIN_PASSWORD: admin
+    ports:
+      - "18080:8080"
+      - "8443:8443"
+    volumes:
+      - ../modules/ide-integration/src/main/containers/keycloak/realm-default.json:/opt/keycloak/data/import/realm-default.json
+      - ../modules/ide-integration/src/main/containers/keycloak/keycloak.conf:/opt/keycloak/conf/keycloak.conf
+      - ../keystores/airavata.jks:/opt/keycloak/conf/keystores/airavata.jks
+    command: ["start-dev", "--import-realm"]
+    depends_on:
+      - db
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.11
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  db:
+    image: mariadb:10.4.13
+    restart: always
+    environment:
+      MYSQL_ROOT_PASSWORD: 123456
+      MYSQL_USER: airavata
+      MYSQL_PASSWORD: 123456
+    volumes:
+      - ../modules/ide-integration/src/main/containers/database_scripts/init:/docker-entrypoint-initdb.d
+      - db_data:/var/lib/mysql
+    ports:
+      - "13306:3306"
+    command:
+      [
+        "mysqld",
+        "--character-set-server=utf8mb4",
+        "--collation-server=utf8mb4_unicode_ci",
+        "--sql-mode=NO_ENGINE_SUBSTITUTION",
+      ]
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.12
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  rabbitmq:
+    image: rabbitmq:4.0-management
+    restart: always
+    environment:
+      RABBITMQ_DEFAULT_VHOST: develop
+    ports:
+      - "5672:5672"
+      - "15672:15672"
+    depends_on:
+      - db
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.13
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  zookeeper:
+    image: zookeeper
+    restart: always
+    hostname: zk
+    ports:
+      - "12181:2181"
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.14
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  kafka:
+    image: wurstmeister/kafka:latest
+    restart: always
+    hostname: kafka
+    ports:
+      - "9092:9092"
+    environment:
+      KAFKA_ADVERTISED_HOST_NAME: 192.168.100.15
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+    depends_on:
+      - zookeeper
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.15
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  sshd:
+    image: dimuthuupe/sshd:1.0
+    restart: always
+    volumes:
+      - /tmp:/tmp
+    ports:
+      - "22222:22"
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.16
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
+
+  adminer:
+    image: adminer:latest
+    restart: always
+    ports:
+      - "18088:8080"
+    depends_on:
+      - db
+    networks:
+      airavata-network:
+        ipv4_address: 192.168.100.17
+    extra_hosts:
+      - "airavata.host:192.168.100.1"
diff --git a/.gitignore b/.gitignore
index 31c5ae99db..38e85d00a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,7 @@ com_crashlytics_export_strings.xml
 .DS_Store
 .project
 .vscode
+!.vscode/launch.json
 .settings
 .classpath
 .factorypath
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000000..9a39c30cdc
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,26 @@
+{
+  "configurations": [
+    {
+      "type": "java",
+      "name": "Start API Server",
+      "request": "launch",
+      "cwd": "${workspaceFolder}/modules/ide-integration",
+      "mainClass": "org.apache.airavata.ide.integration.APIServerStarter",
+      "vmArgs": "-javaagent:/home/vscode/.m2/repository/org/apache/openjpa/openjpa/4.0.1/openjpa-4.0.1.jar",
+    },
+    {
+      "type": "java",
+      "name": "Start Job Engine",
+      "request": "launch",
+      "cwd": "${workspaceFolder}/modules/ide-integration",
+      "mainClass": "org.apache.airavata.ide.integration.JobEngineStarter"
+    },
+    {
+      "type": "java",
+      "name": "Start Job Monitor",
+      "request": "launch",
+      "cwd": "${workspaceFolder}/modules/ide-integration",
+      "mainClass": "org.apache.airavata.ide.integration.JobMonitorStarter"
+    }
+  ],
+}
\ No newline at end of file
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
index b4a846e35c..fe7cffd281 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
@@ -43,7 +43,7 @@
                 <executions>
                     <execution>
                         <id>unpack</id>
-                        <phase>compile</phase>
+                        <phase>package</phase>
                         <goals>
                             <goal>unpack</goal>
                         </goals>
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
index b2686aee96..91052cc17b 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
@@ -43,7 +43,7 @@
                 <executions>
                     <execution>
                         <id>unpack</id>
-                        <phase>compile</phase>
+                        <phase>package</phase>
                         <goals>
                             <goal>unpack</goal>
                         </goals>
diff --git a/airavata-services/profile-service/iam-admin-services-core/pom.xml b/airavata-services/profile-service/iam-admin-services-core/pom.xml
index 3c40866258..1d02d39acf 100644
--- a/airavata-services/profile-service/iam-admin-services-core/pom.xml
+++ b/airavata-services/profile-service/iam-admin-services-core/pom.xml
@@ -58,6 +58,12 @@
             <groupId>org.keycloak</groupId>
             <artifactId>keycloak-admin-client</artifactId>
             <version>${keycloak.admin.client.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.angus</groupId>
+                    <artifactId>angus-mail</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
diff --git a/airavata-services/profile-service/profile-service-commons/pom.xml b/airavata-services/profile-service/profile-service-commons/pom.xml
index 370ad62cd9..3394c9aff0 100644
--- a/airavata-services/profile-service/profile-service-commons/pom.xml
+++ b/airavata-services/profile-service/profile-service-commons/pom.xml
@@ -36,7 +36,7 @@
         <derby.version>10.11.1.1</derby.version>
         <surefire.version>2.18.1</surefire.version>
         <skipTests>true</skipTests>
-        <mysql.connector.version>5.1.34</mysql.connector.version>
+        <mysql.connector.version>8.0.31</mysql.connector.version>
     </properties>
 
     <dependencies>
@@ -88,17 +88,17 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.0</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
-                    <!--<source>1.8</source>-->
-                    <!--<target>1.8</target>-->
-                    <release>11</release>
+                    <!--<source>17</source>-->
+                    <!--<target>17</target>-->
+                    <release>17</release>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.openjpa</groupId>
                 <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.version}</version>
+                <version>${openjpa.maven.plugin.version}</version>
                 <configuration>
                     <includes>**/entities/*.class</includes>
                     <excludes>**/entities/XML*.class</excludes>
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/repositories/AbstractRepository.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/repositories/AbstractRepository.java
index 8f9df30cd1..f616a87a0f 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/repositories/AbstractRepository.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/repositories/AbstractRepository.java
@@ -25,7 +25,7 @@ import org.dozer.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.persistence.Query;
+import jakarta.persistence.Query;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
index e9d822d806..b3d76aadea 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/tenant/entities/GatewayEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.service.profile.commons.tenant.entities;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.util.Date;
 import java.util.UUID;
 
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/CustomizedDashboardEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/CustomizedDashboardEntity.java
index 211868cf21..799df4499a 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/CustomizedDashboardEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/CustomizedDashboardEntity.java
@@ -22,7 +22,7 @@
 
 package org.apache.airavata.service.profile.commons.user.entities;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 
 @Entity
 @Table(name = "CUSTOMIZED_DASHBOARD")
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
index bccbe6abcb..8468189d66 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/NSFDemographicsEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.service.profile.commons.user.entities;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.util.List;
 
 @Entity
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
index 2c2f06ac78..d6fac6c512 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/user/entities/UserProfileEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.service.profile.commons.user.entities;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.util.Date;
 import java.util.List;
 
diff --git a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
index effac44064..b89851ca38 100644
--- a/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
+++ b/airavata-services/profile-service/profile-service-commons/src/main/java/org/apache/airavata/service/profile/commons/utils/JPAUtils.java
@@ -19,8 +19,8 @@
  */
 package org.apache.airavata.service.profile.commons.utils;
 
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
 
 import org.apache.airavata.common.utils.JDBCConfig;
 
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
index 8bc718e7eb..f8f018f029 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
@@ -44,6 +44,7 @@ public class UserProfileService {
      * @param authzToken
      * @param userProfile
      */
+    @Deprecated
     public java.lang.String addUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public boolean updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
diff --git a/airavata-services/profile-service/profile-tenant-core/pom.xml b/airavata-services/profile-service/profile-tenant-core/pom.xml
index 464d4eeff1..baeb2f7c7c 100644
--- a/airavata-services/profile-service/profile-tenant-core/pom.xml
+++ b/airavata-services/profile-service/profile-tenant-core/pom.xml
@@ -36,7 +36,7 @@
         <derby.version>10.11.1.1</derby.version>
         <surefire.version>2.18.1</surefire.version>
         <skipTests>false</skipTests>
-        <mysql.connector.version>5.1.34</mysql.connector.version>
+        <mysql.connector.version>8.0.31</mysql.connector.version>
     </properties>
 
     <dependencies>
diff --git a/airavata-services/profile-service/profile-user-core/pom.xml b/airavata-services/profile-service/profile-user-core/pom.xml
index eebf3f3f38..d187dfd8cf 100644
--- a/airavata-services/profile-service/profile-user-core/pom.xml
+++ b/airavata-services/profile-service/profile-user-core/pom.xml
@@ -36,7 +36,7 @@
         <derby.version>10.11.1.1</derby.version>
         <surefire.version>2.18.1</surefire.version>
         <skipTests>false</skipTests>
-        <mysql.connector.version>5.1.34</mysql.connector.version>
+        <mysql.connector.version>8.0.31</mysql.connector.version>
     </properties>
 
     <dependencies>
@@ -52,9 +52,9 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.0</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
-                   <release>11</release>
+                   <release>17</release>
                     <compilerArgs>
                         <arg>--add-opens=java.base/java.lang=ALL-UNNAMED</arg>
                     </compilerArgs>
@@ -64,7 +64,7 @@
             <plugin>
                 <groupId>org.apache.openjpa</groupId>
                 <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.version}</version>
+                <version>${openjpa.maven.plugin.version}</version>
                 <configuration>
                     <includes>**/entities/*.class</includes>
                     <excludes>**/entities/XML*.class</excludes>
diff --git a/modules/ide-integration/src/main/resources/keystores/airavata.jks b/keystores/airavata.jks
similarity index 100%
rename from modules/ide-integration/src/main/resources/keystores/airavata.jks
rename to keystores/airavata.jks
diff --git a/keystores/client_truststore.jks b/keystores/client_truststore.jks
new file mode 100644
index 0000000000..d163c6d4f1
Binary files /dev/null and b/keystores/client_truststore.jks differ
diff --git a/keystores/generate_keystore.sh b/keystores/generate_keystore.sh
new file mode 100755
index 0000000000..dfb46d8f3e
--- /dev/null
+++ b/keystores/generate_keystore.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# Remove existing key stores
+rm -f airavata.jks client_truststore.jks
+
+# Generate a PKCS12 keystore with a self-signed certificate
+keytool -genkey -keyalg RSA -alias selfsigned -keystore airavata.jks -storetype pkcs12 -storepass airavata -validity 360 -keysize 2048 \
+  -dname "CN=airavata.host, OU=airavata.host, O=airavata.host, L=airavata.host, ST=airavata.host, C=airavata.host" \
+  -ext san=dns:airavata.host
+
+# Also generate a JKS keystore with that certificate (for backward-compatibility)
+keytool -importkeystore -noprompt \
+  -srckeystore airavata.jks -srcstoretype pkcs12 -srcstorepass airavata \
+  -destkeystore client_truststore.jks -deststoretype jks -deststorepass airavata
diff --git a/modules/agent-framework/agent-service/pom.xml b/modules/agent-framework/agent-service/pom.xml
index fc0bc8e1d2..638ccb768a 100644
--- a/modules/agent-framework/agent-service/pom.xml
+++ b/modules/agent-framework/agent-service/pom.xml
@@ -12,17 +12,17 @@
     <artifactId>agent-service</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <jul-to-slf4j.version>1.7.0</jul-to-slf4j.version>
         <json.version>20240303</json.version>
         <javax.version>2.0.1.Final</javax.version>
         <apache.commons.lang3.version>3.14.0</apache.commons.lang3.version>
         <mysql.connector.java>8.0.31</mysql.connector.java>
-        <protobuf.version>3.23.4</protobuf.version>
-        <protobuf-plugin.version>0.6.1</protobuf-plugin.version>
-        <grpc.version>1.63.0</grpc.version>
+        <protoc.version>4.30.1</protoc.version>
+        <protobuf-plugin.version>2.12.1</protobuf-plugin.version>
+        <grpc.version>1.71.0</grpc.version>
         <agent.service.dist.name>Agent-Service-0.01</agent.service.dist.name>
     </properties>
 
@@ -90,16 +90,16 @@
             <artifactId>grpc-protobuf</artifactId>
             <version>${grpc.version}</version>
         </dependency>
+        <dependency>
+          <groupId>com.google.protobuf</groupId>
+          <artifactId>protobuf-java</artifactId>
+          <version>${protoc.version}</version>
+        </dependency>
         <dependency>
             <groupId>net.devh</groupId>
             <artifactId>grpc-server-spring-boot-starter</artifactId>
             <version>3.0.0.RELEASE</version>
         </dependency>
-        <dependency>
-            <groupId>javax.validation</groupId>
-            <artifactId>validation-api</artifactId>
-            <version>${javax.version}</version>
-        </dependency>
         <dependency>
             <groupId>javax.annotation</groupId>
             <artifactId>javax.annotation-api</artifactId>
@@ -145,30 +145,35 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.xolstice.maven.plugins</groupId>
-                <artifactId>protobuf-maven-plugin</artifactId>
-                <version>${protobuf-plugin.version}</version>
-                <configuration>
-                    <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
-                    <pluginId>grpc-java</pluginId>
-                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>compile</goal>
-                            <goal>compile-custom</goal>
-                        </goals>
-                    </execution>
-                </executions>
+              <groupId>io.github.ascopes</groupId>
+              <artifactId>protobuf-maven-plugin</artifactId>
+              <version>${protobuf-plugin.version}</version>
+              <configuration>
+                <protocVersion>${protoc.version}</protocVersion>
+                <sourceDirectories>
+                  <sourceDirectory>${project.basedir}/../proto</sourceDirectory>
+                </sourceDirectories>
+              </configuration>
+              <executions>
+                <execution>
+                  <goals>
+                    <goal>generate</goal>
+                  </goals>
+                </execution>
+              </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>14</source>
-                    <target>14</target>
-                </configuration>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-compiler-plugin</artifactId>
+              <version>${maven.compiler.plugin.version}</version>
+              <configuration>
+                <source>17</source>
+                <target>17</target>
+                <generatedSourcesDirectory>${project.build.directory}/generated-sources/protobuf</generatedSourcesDirectory>
+                <includes>
+                  <include>${project.build.directory}/generated-sources/**/*.java</include>
+                </includes>
+              </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
diff --git a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
index bb57d15c69..44f45bf548 100644
--- a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
+++ b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
@@ -1,13 +1,11 @@
 package org.apache.airavata.agent.connection.service.controllers;
 
-import javax.validation.Valid;
-
-import org.apache.airavata.agent.TunnelCreationResponse;
 import org.apache.airavata.agent.connection.service.handlers.AgentConnectionHandler;
 import org.apache.airavata.agent.connection.service.models.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -39,19 +37,19 @@ public class AgentController {
     }
 
     @PostMapping("/setup/tunnel")
-    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Valid @RequestBody AgentTunnelCreateRequest tunnelRequest) {
+    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Validated @RequestBody AgentTunnelCreateRequest tunnelRequest) {
         logger.info("Received tunnel creation request to run on agent {}", tunnelRequest.getAgentId());
         return ResponseEntity.accepted().body(agentConnectionHandler.runTunnelOnAgent(tunnelRequest));
     }
 
     @PostMapping("/terminate/tunnel")
-    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Valid @RequestBody AgentTunnelTerminateRequest terminateRequest) {
+    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Validated @RequestBody AgentTunnelTerminateRequest terminateRequest) {
         logger.info("Received tunnel termination request to run on agent {}", terminateRequest.getAgentId());
         return ResponseEntity.accepted().body(agentConnectionHandler.terminateTunnelOnAgent(terminateRequest));
     }
 
     @PostMapping("/setup/env")
-    public ResponseEntity<AgentEnvSetupAck> runEnvSetupOnAgent(@Valid @RequestBody AgentEnvSetupRequest envSetupRequest) {
+    public ResponseEntity<AgentEnvSetupAck> runEnvSetupOnAgent(@Validated @RequestBody AgentEnvSetupRequest envSetupRequest) {
         logger.info("Received env setup request to run on agent {}", envSetupRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(envSetupRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runEnvSetupOnAgent(envSetupRequest));
@@ -70,7 +68,7 @@ public class AgentController {
     }
 
     @PostMapping("/setup/restart")
-    public ResponseEntity<AgentKernelRestartAck> runKernelRestartOnAgent(@Valid @RequestBody AgentKernelRestartRequest kernelRestartRequest) {
+    public ResponseEntity<AgentKernelRestartAck> runKernelRestartOnAgent(@Validated @RequestBody AgentKernelRestartRequest kernelRestartRequest) {
         logger.info("Received kernel restart request to run on agent {}", kernelRestartRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(kernelRestartRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runKernelRestartOnAgent(kernelRestartRequest));
@@ -89,7 +87,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/shell")
-    public ResponseEntity<AgentCommandExecutionAck> runCommandOnAgent(@Valid @RequestBody AgentCommandExecutionRequest commandRequest) {
+    public ResponseEntity<AgentCommandExecutionAck> runCommandOnAgent(@Validated @RequestBody AgentCommandExecutionRequest commandRequest) {
         logger.info("Received command request to run on agent {}", commandRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(commandRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runCommandOnAgent(commandRequest));
@@ -109,7 +107,7 @@ public class AgentController {
 
 
     @PostMapping("/execute/asyncshell")
-    public ResponseEntity<AgentCommandExecutionAck> runAsyncCommandOnAgent(@Valid @RequestBody AgentAsyncCommandExecutionRequest commandRequest) {
+    public ResponseEntity<AgentCommandExecutionAck> runAsyncCommandOnAgent(@Validated @RequestBody AgentAsyncCommandExecutionRequest commandRequest) {
         logger.info("Received async command request to run on agent {}", commandRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(commandRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runAsyncCommandOnAgent(commandRequest));
@@ -129,7 +127,7 @@ public class AgentController {
 
     @PostMapping("/list/asyncshell")
     public ResponseEntity<AgentCommandExecutionAck> listAsyncCommandOnAgent(
-            @Valid @RequestBody AgentAsyncCommandListRequest commandListRequest) {
+            @Validated @RequestBody AgentAsyncCommandListRequest commandListRequest) {
         logger.info("Received list async command request to run on agent {}", commandListRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(commandListRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runAsyncCommandListOnAgent(commandListRequest));
@@ -149,7 +147,7 @@ public class AgentController {
 
     @PostMapping("/terminate/asyncshell")
     public ResponseEntity<AgentCommandExecutionAck> terminateAsyncCommandOnAgent(
-            @Valid @RequestBody AgentAsyncCommandTerminateRequest commandTerminateRequest) {
+            @Validated @RequestBody AgentAsyncCommandTerminateRequest commandTerminateRequest) {
         logger.info("Received terminate async command request to run on agent {}", commandTerminateRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(commandTerminateRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runAsyncCommandTerminateOnAgent(commandTerminateRequest));
@@ -168,7 +166,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/jupyter")
-    public ResponseEntity<AgentJupyterExecutionAck> runJupyterOnAgent(@Valid @RequestBody AgentJupyterExecutionRequest executionRequest) {
+    public ResponseEntity<AgentJupyterExecutionAck> runJupyterOnAgent(@Validated @RequestBody AgentJupyterExecutionRequest executionRequest) {
         logger.info("Received jupyter execution request to run on agent {}", executionRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(executionRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runJupyterOnAgent(executionRequest));
@@ -187,7 +185,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/python")
-    public ResponseEntity<AgentPythonExecutionAck> runPythonOnAgent(@Valid @RequestBody AgentPythonExecutionRequest pythonRunRequest) {
+    public ResponseEntity<AgentPythonExecutionAck> runPythonOnAgent(@Validated @RequestBody AgentPythonExecutionRequest pythonRunRequest) {
         logger.info("Received python execution request to run on agent {}", pythonRunRequest.getAgentId());
         if (agentConnectionHandler.isAgentUp(pythonRunRequest.getAgentId()).isAgentUp()) {
             return ResponseEntity.accepted().body(agentConnectionHandler.runPythonOnAgent(pythonRunRequest));
diff --git a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
index fcd93327a4..8a2b83e4a0 100644
--- a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
+++ b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
@@ -1,7 +1,5 @@
 package org.apache.airavata.agent.connection.service.controllers;
 
-import javax.validation.Valid;
-
 import org.apache.airavata.agent.connection.service.handlers.AgentManagementHandler;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchRequest;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchResponse;
@@ -21,6 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+import org.springframework.validation.annotation.Validated;
+
 @RestController
 @RequestMapping("/api/v1/exp")
 public class ExperimentController {
@@ -39,13 +39,13 @@ public class ExperimentController {
     }
 
     @PostMapping(value = "/launch", consumes = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<AgentLaunchResponse> createAndLaunchExperiment(@Valid @RequestBody AgentLaunchRequest request) {
+    public ResponseEntity<AgentLaunchResponse> createAndLaunchExperiment(@Validated @RequestBody AgentLaunchRequest request) {
         AgentLaunchResponse agentResponse = agentManagementHandler.createAndLaunchExperiment(request);
         return ResponseEntity.ok(agentResponse);
     }
 
     @PostMapping(value = "/launchoptimize", consumes = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<AgentLaunchResponse> createAndLaunchOptimizedExperiment(@Valid @RequestBody List<AgentLaunchRequest> request) {
+    public ResponseEntity<AgentLaunchResponse> createAndLaunchOptimizedExperiment(@Validated @RequestBody List<AgentLaunchRequest> request) {
         try {
             AgentLaunchRequest agentLaunchRequest = agentManagementHandler.filterOptimumLaunchRequest(request);
             AgentLaunchResponse agentResponse = agentManagementHandler.createAndLaunchExperiment(agentLaunchRequest);
diff --git a/modules/agent-framework/agent-service/src/main/proto b/modules/agent-framework/agent-service/src/main/proto
deleted file mode 120000
index adcd77d7b0..0000000000
--- a/modules/agent-framework/agent-service/src/main/proto
+++ /dev/null
@@ -1 +0,0 @@
-../../../proto
\ No newline at end of file
diff --git a/modules/agent-framework/agent-service/src/main/resources/application.yml b/modules/agent-framework/agent-service/src/main/resources/application.yml
index 4df8c86d07..e1daabe711 100644
--- a/modules/agent-framework/agent-service/src/main/resources/application.yml
+++ b/modules/agent-framework/agent-service/src/main/resources/application.yml
@@ -13,7 +13,7 @@ spring:
       max-file-size: 200MB
       max-request-size: 200MB
   datasource:
-    url: "jdbc:mariadb://localhost:13306/app_catalog"
+    url: "jdbc:mariadb://airavata.host:13306/app_catalog"
     username: "root"
     password: "123456"
     driver-class-name: org.mariadb.jdbc.Driver
diff --git a/modules/agent-framework/agent-service/src/main/resources/distribution/conf/application.yml b/modules/agent-framework/agent-service/src/main/resources/distribution/conf/application.yml
index 59099eea03..6279e3afc1 100644
--- a/modules/agent-framework/agent-service/src/main/resources/distribution/conf/application.yml
+++ b/modules/agent-framework/agent-service/src/main/resources/distribution/conf/application.yml
@@ -12,7 +12,7 @@ spring:
       max-file-size: 200MB
       max-request-size: 200MB
   datasource:
-    url: "jdbc:mariadb://localhost:13306/app_catalog"
+    url: "jdbc:mariadb://airavata.host:13306/app_catalog"
     username: "root"
     password: "123456"
     driver-class-name: org.mariadb.jdbc.Driver
diff --git a/modules/agent-framework/pom.xml b/modules/agent-framework/pom.xml
index 0d19265b9c..71d3b8d32a 100644
--- a/modules/agent-framework/pom.xml
+++ b/modules/agent-framework/pom.xml
@@ -17,9 +17,22 @@
     </modules>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
+    <build>
+      <resources>
+        <resource>
+          <directory>../../keystores</directory>
+          <targetPath>keystores</targetPath>
+          <includes>
+            <include>*.jks</include>
+            <include>*.p12</include>
+          </includes>
+        </resource>
+      </resources>
+    </build>
+
 </project>
\ No newline at end of file
diff --git a/modules/airavata-helix/agent-api/pom.xml b/modules/airavata-helix/agent-api/pom.xml
index 7467f0e658..3011a6eac1 100644
--- a/modules/airavata-helix/agent-api/pom.xml
+++ b/modules/airavata-helix/agent-api/pom.xml
@@ -65,7 +65,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.5.1</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
                     <source>${java.version}</source>
                     <target>${java.version}</target>
diff --git a/modules/airavata-helix/task-api/pom.xml b/modules/airavata-helix/task-api/pom.xml
index 666a1b51da..43801cc8c7 100644
--- a/modules/airavata-helix/task-api/pom.xml
+++ b/modules/airavata-helix/task-api/pom.xml
@@ -63,7 +63,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.5.1</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
                     <source>${java.version}</source>
                     <target>${java.version}</target>
diff --git a/modules/airavata-helix/task-core/pom.xml b/modules/airavata-helix/task-core/pom.xml
index 61fd2811a1..f07c5d41ea 100644
--- a/modules/airavata-helix/task-core/pom.xml
+++ b/modules/airavata-helix/task-core/pom.xml
@@ -59,7 +59,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.5.1</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
                     <source>${java.version}</source>
                     <target>${java.version}</target>
diff --git a/modules/airavata-helix/workflow-impl/pom.xml b/modules/airavata-helix/workflow-impl/pom.xml
index 54a407072e..8baf3a01c2 100644
--- a/modules/airavata-helix/workflow-impl/pom.xml
+++ b/modules/airavata-helix/workflow-impl/pom.xml
@@ -50,7 +50,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.5.1</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
                     <source>${java.version}</source>
                     <target>${java.version}</target>
diff --git a/modules/airavata-metascheduler/metadata-analyzer/pom.xml b/modules/airavata-metascheduler/metadata-analyzer/pom.xml
index 34fcad2e99..7ec6806547 100644
--- a/modules/airavata-metascheduler/metadata-analyzer/pom.xml
+++ b/modules/airavata-metascheduler/metadata-analyzer/pom.xml
@@ -13,8 +13,8 @@
     <artifactId>metadata-analyzer</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -41,7 +41,7 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>2.3.0</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
diff --git a/modules/airavata-metascheduler/metascheduler-core/pom.xml b/modules/airavata-metascheduler/metascheduler-core/pom.xml
index 1c1d20b8e6..9969b9982b 100644
--- a/modules/airavata-metascheduler/metascheduler-core/pom.xml
+++ b/modules/airavata-metascheduler/metascheduler-core/pom.xml
@@ -13,8 +13,8 @@
     <artifactId>metascheduler-core</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
 
@@ -42,19 +42,13 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>2.3.0</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-messaging-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.quartz-scheduler</groupId>
-            <artifactId>quartz</artifactId>
-            <version>2.2.1</version>
-            <scope>compile</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-messaging-core</artifactId>
diff --git a/modules/airavata-metascheduler/pom.xml b/modules/airavata-metascheduler/pom.xml
index f2a93aab50..fb869d410e 100644
--- a/modules/airavata-metascheduler/pom.xml
+++ b/modules/airavata-metascheduler/pom.xml
@@ -13,8 +13,8 @@
     <artifactId>airavata-metascheduler</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
 </project>
\ No newline at end of file
diff --git a/modules/airavata-metascheduler/process-scheduler/pom.xml b/modules/airavata-metascheduler/process-scheduler/pom.xml
index fc5d372094..71aa94c5e1 100644
--- a/modules/airavata-metascheduler/process-scheduler/pom.xml
+++ b/modules/airavata-metascheduler/process-scheduler/pom.xml
@@ -13,8 +13,8 @@
     <artifactId>process-scheduler</artifactId>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
     <dependencies>
@@ -51,7 +51,7 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>2.3.0</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
@@ -59,12 +59,6 @@
             <version>0.21-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
-        <dependency>
-            <groupId>org.quartz-scheduler</groupId>
-            <artifactId>quartz</artifactId>
-            <version>2.3.0</version>
-            <scope>compile</scope>
-        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/modules/cluster-monitoring/pom.xml b/modules/cluster-monitoring/pom.xml
index 0b7aa75259..6c8dd5cdac 100644
--- a/modules/cluster-monitoring/pom.xml
+++ b/modules/cluster-monitoring/pom.xml
@@ -55,12 +55,12 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>2.2.1</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz-jobs</artifactId>
-            <version>2.2.1</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>com.jcraft</groupId>
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
index 88c334dd97..5c0a218357 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
@@ -145,6 +145,7 @@ public class ApplicationSettings {
      * @throws ApplicationSettingsException If an error occurred while reading configurations.
      * @deprecated use #getSetting(String) instead
      */
+    @Deprecated
     public String getAbsoluteSetting(String key) throws ApplicationSettingsException {
 
         String configurationValueWithVariables = ApplicationSettings.getSetting(key);
@@ -290,6 +291,7 @@ public class ApplicationSettings {
      * @deprecated use {{@link #getSetting(String)}}
      * @return
      */
+    @Deprecated
     public Properties getPropertiesImpl() {
         return properties;
     }
@@ -501,6 +503,7 @@ public class ApplicationSettings {
      * @return
      * @throws ApplicationSettingsException 
      */
+    @Deprecated
     public static Properties getProperties() throws ApplicationSettingsException {
         return getInstance().properties;
     }
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
index 6ec2b67177..6d61104f8c 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
@@ -4,8 +4,8 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/modules/commons/src/test/resources/mykeystore.jks b/modules/commons/src/test/resources/mykeystore.jks
deleted file mode 100644
index 335ebf8b52..0000000000
Binary files a/modules/commons/src/test/resources/mykeystore.jks and /dev/null differ
diff --git a/modules/computer-resource-monitoring-service/pom.xml b/modules/computer-resource-monitoring-service/pom.xml
index 6586d367b9..129a93aee5 100644
--- a/modules/computer-resource-monitoring-service/pom.xml
+++ b/modules/computer-resource-monitoring-service/pom.xml
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
-            <version>2.3.0</version>
+            <version>2.3.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
@@ -59,8 +59,8 @@
     </dependencies>
 
     <properties>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
 </project>
\ No newline at end of file
diff --git a/modules/credential-store/credential-store-service/pom.xml b/modules/credential-store/credential-store-service/pom.xml
index 2add9f3b5e..549f441ca1 100644
--- a/modules/credential-store/credential-store-service/pom.xml
+++ b/modules/credential-store/credential-store-service/pom.xml
@@ -170,6 +170,14 @@
             <testResource>
                 <directory>${project.basedir}/src/test/resources</directory>
             </testResource>
+            <testResource>
+                <directory>${project.basedir}/../../../keystores</directory>
+                <targetPath>keystores</targetPath>
+                <includes>
+                  <include>*.jks</include>
+                  <include>*.p12</include>
+                </includes>
+            </testResource>
         </testResources>
     </build>
 </project>
diff --git a/modules/credential-store/credential-store-service/src/test/resources/keystore.jks b/modules/credential-store/credential-store-service/src/test/resources/keystore.jks
deleted file mode 100644
index 14cf02261e..0000000000
Binary files a/modules/credential-store/credential-store-service/src/test/resources/keystore.jks and /dev/null differ
diff --git a/modules/credential-store/credential-store-service/src/test/resources/mykeystore.jks b/modules/credential-store/credential-store-service/src/test/resources/mykeystore.jks
deleted file mode 100644
index 335ebf8b52..0000000000
Binary files a/modules/credential-store/credential-store-service/src/test/resources/mykeystore.jks and /dev/null differ
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index e35292fc44..788eca2aa7 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -445,7 +445,7 @@
                 <executions>
                     <execution>
                         <id>unpack</id>
-                        <phase>compile</phase>
+                        <phase>package</phase>
                         <goals>
                             <goal>unpack</goal>
                         </goals>
diff --git a/modules/distribution/src/main/assembly/controller-bin-assembly.xml b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
index 29f17779cc..767d8360e4 100644
--- a/modules/distribution/src/main/assembly/controller-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
@@ -133,7 +133,7 @@
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
index c0519fbb09..64400e89fb 100644
--- a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
@@ -92,8 +92,8 @@
                 <include>org.apache.airavata:airavata-data-models:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
 
-                <include>javax.mail:javax.mail-api:jar</include>
-                <include>com.sun.mail:javax.mail:jar</include>
+                <include>jakarta.mail:jakarta.mail-api:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>javax.activation:activation:jar</include>
                 <include>org.yaml:snakeyaml:jar</include>
 
diff --git a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
index fb69c836c4..3a30e919e5 100644
--- a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
@@ -138,7 +138,7 @@
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/distribution/src/main/assembly/participant-bin-assembly.xml b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
index 1cc4499a97..5ea4d98327 100644
--- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
@@ -139,7 +139,7 @@
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
index 2d5b00b9ad..6dab1016dd 100644
--- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
@@ -138,8 +138,8 @@
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
                 <include>org.apache.airavata:platform-monitor:jar</include>
diff --git a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
index 75fa397967..d6b0e9ae5e 100644
--- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
@@ -138,7 +138,7 @@
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/distribution/src/main/docker/docker-compose.yml b/modules/distribution/src/main/docker/docker-compose.yml
index 8dbb1d895c..ed6cc60a72 100644
--- a/modules/distribution/src/main/docker/docker-compose.yml
+++ b/modules/distribution/src/main/docker/docker-compose.yml
@@ -173,7 +173,7 @@ services:
       - profile.service.jdbc.password=123456
       - profile.service.jdbc.driver=org.mariadb.jdbc.Driver
       - profile.service.validationQuery=SELECT 1
-      - iam.server.url=https://airavata.host:8443/auth
+      - iam.server.url=https://airavata.host:8443
       - iam.server.super.admin.username=admin
       - iam.server.super.admin.password=admin
       - db_event_manager=org.apache.airavata.db.event.manager.DBEventManagerRunner
diff --git a/modules/file-server/pom.xml b/modules/file-server/pom.xml
index aa58c9281d..4a3fe4363c 100644
--- a/modules/file-server/pom.xml
+++ b/modules/file-server/pom.xml
@@ -53,7 +53,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
                     <compilerArgs>
                         <arg>-parameters</arg>
diff --git a/modules/ide-integration/src/main/containers/.gitignore b/modules/ide-integration/.gitignore
similarity index 100%
rename from modules/ide-integration/src/main/containers/.gitignore
rename to modules/ide-integration/.gitignore
diff --git a/modules/ide-integration/README.md b/modules/ide-integration/README.md
index f07dbd5d45..e31cd62d2f 100644
--- a/modules/ide-integration/README.md
+++ b/modules/ide-integration/README.md
@@ -189,40 +189,21 @@ https://myaccount.google.com/security
 ### NOTE: (Optional) Creating certificates if expired 
   
   * This is required only when the self signed certificate for keycloak is expired
-  * Go to src/main/resources/keystores
+  * Go to <PROJECT_ROOT>/keystores
   * Provide password as airavata for all key stores
 
-  ```  
-  rm airavata.jks
-  
-  rm client_truststore.jks
-  
-  keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass airavata -validity 360 -keysize 2048
-  What is your first and last name?
-    [Unknown]:  airavata.host
-  What is the name of your organizational unit?
-    [Unknown]:  airavata.host
-  What is the name of your organization?
-    [Unknown]:  airavata.host
-  What is the name of your City or Locality?
-    [Unknown]:  airavata.host
-  What is the name of your State or Province?
-    [Unknown]:  airavata.host
-  What is the two-letter country code for this unit?
-    [Unknown]:  airavata.host
-  Is CN=airavata.host, OU=airavata.host, O=airavata.host, L=airavata.host, ST=airavata.host, C=airavata.host correct?
-    [no]:  yes
-
-
-  keytool -importkeystore -srckeystore keystore.jks -destkeystore airavata.jks -deststoretype pkcs12
+    ```sh
 
-  rm keystore.jks
+    # Remove existing key stores
+    rm -f airavata.jks client_truststore.jks
 
-  keytool  -export -alias selfsigned -file root.cer -keystore airavata.jks -storepass airavata
+    # Generate a PKCS12 keystore with a self-signed certificate
+    keytool -genkey -keyalg RSA -alias selfsigned -keystore airavata.jks -storetype pkcs12 -storepass airavata -validity 360 -keysize 2048 \
+      -dname "CN=airavata.host, OU=airavata.host, O=airavata.host, L=airavata.host, ST=airavata.host, C=airavata.host"
 
-  keytool -import -alias mykey -file root.cer -keystore client_truststore.jks -storepass airavata
-
-  rm root.cer
-
-```
+    # Also generate a JKS keystore with that certificate (for backward-compatibility)
+    keytool -importkeystore -noprompt \
+      -srckeystore airavata.jks -srcstoretype pkcs12 -srcstorepass airavata \
+      -destkeystore client_truststore.jks -deststoretype jks -deststorepass airavata
 
+    ```
diff --git a/modules/ide-integration/pom.xml b/modules/ide-integration/pom.xml
index 0f3bec05dc..1b8162b6d5 100644
--- a/modules/ide-integration/pom.xml
+++ b/modules/ide-integration/pom.xml
@@ -83,6 +83,14 @@
                     <exclude>pga/**</exclude>
                 </excludes>
             </resource>
+            <resource>
+              <directory>../../keystores</directory>
+              <targetPath>keystores</targetPath>
+              <includes>
+                <include>*.jks</include>
+                <include>*.p12</include>
+              </includes>
+            </resource>
         </resources>
     </build>
 
diff --git a/modules/ide-integration/src/main/containers/docker-compose.yml b/modules/ide-integration/src/main/containers/docker-compose.yml
deleted file mode 100644
index 4be68e9e0c..0000000000
--- a/modules/ide-integration/src/main/containers/docker-compose.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-version: '3'
-services:
-  keycloak:
-    image: quay.io/keycloak/keycloak:24.0.0
-    environment:
-      - KEYCLOAK_ADMIN=admin
-      - KEYCLOAK_ADMIN_PASSWORD=admin
-    ports:
-      - "18080:8080"
-      - "8443:8443"
-    volumes:
-      - ../resources/keystores/airavata.jks:/opt/keycloak/conf/airavata.jks
-      - ./keycloak/keycloak.conf:/opt/keycloak/conf/keycloak.conf
-    command:
-      - start-dev
-      - "--import-realm"
-      - "--hostname-strict=false"
-  db:
-    image: mariadb:10.4.13
-    environment:
-      - MYSQL_ROOT_PASSWORD=123456
-      - MYSQL_USER=airavata
-      - MYSQL_PASSWORD=123456
-    volumes:
-      - ./database_scripts/init:/docker-entrypoint-initdb.d
-      - database_data:/var/lib/mysql
-    ports:
-      - "13306:3306"
-    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--sql_mode=']
-  rabbitmq:
-    image: rabbitmq
-    environment:
-      - RABBITMQ_DEFAULT_VHOST=develop
-    ports:
-      - "5672:5672"
-      - "15672:15672"
-  zookeeper:
-    image: zookeeper
-    restart: always
-    hostname: zk
-    ports:
-      - "12181:2181"
-  kafka:
-    image: wurstmeister/kafka
-    hostname: kafka
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_ADVERTISED_HOST_NAME: localhost
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-  sshd:
-    image: dimuthuupe/sshd:1.0
-    volumes:
-      - /tmp:/tmp
-    ports:
-      - "22222:22"
-
-volumes:
-  database_data:
-    driver: local
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/keycloak/Default-export.json b/modules/ide-integration/src/main/containers/keycloak/Default-export.json
deleted file mode 100644
index 4b2e775f5d..0000000000
--- a/modules/ide-integration/src/main/containers/keycloak/Default-export.json
+++ /dev/null
@@ -1,1990 +0,0 @@
-{
-  "id": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-  "realm": "default",
-  "displayName": "",
-  "displayNameHtml": "",
-  "notBefore": 0,
-  "defaultSignatureAlgorithm": "RS256",
-  "revokeRefreshToken": false,
-  "refreshTokenMaxReuse": 0,
-  "accessTokenLifespan": 7200,
-  "accessTokenLifespanForImplicitFlow": 3600,
-  "ssoSessionIdleTimeout": 604800,
-  "ssoSessionMaxLifespan": 604800,
-  "ssoSessionIdleTimeoutRememberMe": 0,
-  "ssoSessionMaxLifespanRememberMe": 0,
-  "offlineSessionIdleTimeout": 2592000,
-  "offlineSessionMaxLifespanEnabled": false,
-  "offlineSessionMaxLifespan": 5184000,
-  "clientSessionIdleTimeout": 0,
-  "clientSessionMaxLifespan": 0,
-  "clientOfflineSessionIdleTimeout": 0,
-  "clientOfflineSessionMaxLifespan": 0,
-  "accessCodeLifespan": 60,
-  "accessCodeLifespanUserAction": 300,
-  "accessCodeLifespanLogin": 1800,
-  "actionTokenGeneratedByAdminLifespan": 43200,
-  "actionTokenGeneratedByUserLifespan": 300,
-  "oauth2DeviceCodeLifespan": 600,
-  "oauth2DevicePollingInterval": 5,
-  "enabled": true,
-  "sslRequired": "external",
-  "registrationAllowed": false,
-  "registrationEmailAsUsername": false,
-  "rememberMe": false,
-  "verifyEmail": false,
-  "loginWithEmailAllowed": true,
-  "duplicateEmailsAllowed": false,
-  "resetPasswordAllowed": false,
-  "editUsernameAllowed": false,
-  "bruteForceProtected": false,
-  "permanentLockout": false,
-  "maxTemporaryLockouts": 0,
-  "maxFailureWaitSeconds": 900,
-  "minimumQuickLoginWaitSeconds": 60,
-  "waitIncrementSeconds": 60,
-  "quickLoginCheckMilliSeconds": 1000,
-  "maxDeltaTimeSeconds": 43200,
-  "failureFactor": 30,
-  "roles": {
-    "realm": [
-      {
-        "id": "4cd8497d-db71-41dd-9186-f7df0c22d446",
-        "name": "gateway-provider",
-        "description": "",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "b585e111-f934-43b7-b9c2-cbad0c7dc08a",
-        "name": "default-roles-10000000",
-        "description": "${role_default-roles}",
-        "composite": true,
-        "composites": {
-          "realm": [
-            "offline_access",
-            "uma_authorization"
-          ],
-          "client": {
-            "account": [
-              "view-profile",
-              "manage-account"
-            ]
-          }
-        },
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "420f07dc-c07c-4ea8-bf56-f6adf3f2bbc7",
-        "name": "uma_authorization",
-        "description": "${role_uma_authorization}",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "61fafc5e-96fc-4644-98a9-94f9baf654e6",
-        "name": "admin",
-        "description": "",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "1f03206b-d918-491b-a33f-ee96147b310d",
-        "name": "admin-read-only",
-        "description": "",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "3f7e69dc-75d4-4388-8a34-e82d32071dc9",
-        "name": "offline_access",
-        "description": "${role_offline-access}",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "ebb21957-06c9-4350-9157-576b10cc8761",
-        "name": "user-pending",
-        "description": "",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      },
-      {
-        "id": "a2acdfe6-eb2a-4104-bb6a-be961e380d97",
-        "name": "gateway-user",
-        "description": "",
-        "composite": false,
-        "clientRole": false,
-        "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
-        "attributes": {}
-      }
-    ],
-    "client": {
-      "pga": [
-        {
-          "id": "d8d76309-d081-4159-b2cd-d9ca93eb7d02",
-          "name": "uma_protection",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        },
-        {
-          "id": "f8051cd8-10cb-44e6-8826-d323daa236d1",
-          "name": "gateway-provider",
-          "description": "",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        },
-        {
-          "id": "fb2c5f47-09e2-4f4b-b858-625f3c5442cd",
-          "name": "user-pending",
-          "description": "",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        },
-        {
-          "id": "c7d75283-b7c3-4b93-8804-9ce55bccf74c",
-          "name": "admin",
-          "description": "",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        },
-        {
-          "id": "da796582-cbf2-4b23-a31d-5fc9b4010bb0",
-          "name": "admin-read-only",
-          "description": "",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        },
-        {
-          "id": "42660438-3a37-466f-b748-d25a25ff9082",
-          "name": "gateway-user",
-          "description": "",
-          "composite": false,
-          "clientRole": true,
-          "containerId": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-          "attributes": {}
-        }
-      ]
-    }
-  },
-  "groups": [],
-  "defaultRole": {
-    "id": "b585e111-f934-43b7-b9c2-cbad0c7dc08a",
-    "name": "default-roles-10000000",
-    "description": "${role_default-roles}",
-    "composite": true,
-    "clientRole": false,
-    "containerId": "afc8036c-62c3-462e-ae10-e1727c4bd8f7"
-  },
-  "requiredCredentials": [
-    "password"
-  ],
-  "otpPolicyType": "totp",
-  "otpPolicyAlgorithm": "HmacSHA1",
-  "otpPolicyInitialCounter": 0,
-  "otpPolicyDigits": 6,
-  "otpPolicyLookAheadWindow": 1,
-  "otpPolicyPeriod": 30,
-  "otpPolicyCodeReusable": false,
-  "otpSupportedApplications": [
-    "totpAppFreeOTPName",
-    "totpAppGoogleName",
-    "totpAppMicrosoftAuthenticatorName"
-  ],
-  "webAuthnPolicyRpEntityName": "keycloak",
-  "webAuthnPolicySignatureAlgorithms": [
-    "ES256"
-  ],
-  "webAuthnPolicyRpId": "",
-  "webAuthnPolicyAttestationConveyancePreference": "not specified",
-  "webAuthnPolicyAuthenticatorAttachment": "not specified",
-  "webAuthnPolicyRequireResidentKey": "not specified",
-  "webAuthnPolicyUserVerificationRequirement": "not specified",
-  "webAuthnPolicyCreateTimeout": 0,
-  "webAuthnPolicyAvoidSameAuthenticatorRegister": false,
-  "webAuthnPolicyAcceptableAaguids": [],
-  "webAuthnPolicyExtraOrigins": [],
-  "webAuthnPolicyPasswordlessRpEntityName": "keycloak",
-  "webAuthnPolicyPasswordlessSignatureAlgorithms": [
-    "ES256"
-  ],
-  "webAuthnPolicyPasswordlessRpId": "",
-  "webAuthnPolicyPasswordlessAttestationConveyancePreference": "not specified",
-  "webAuthnPolicyPasswordlessAuthenticatorAttachment": "not specified",
-  "webAuthnPolicyPasswordlessRequireResidentKey": "not specified",
-  "webAuthnPolicyPasswordlessUserVerificationRequirement": "not specified",
-  "webAuthnPolicyPasswordlessCreateTimeout": 0,
-  "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister": false,
-  "webAuthnPolicyPasswordlessAcceptableAaguids": [],
-  "webAuthnPolicyPasswordlessExtraOrigins": [],
-  "users": [
-    {
-      "id": "e9d5a7b9-c093-4916-a331-12fbc9101c70",
-      "username": "service-account-pga",
-      "emailVerified": false,
-      "createdTimestamp": 1726317784923,
-      "enabled": true,
-      "totp": false,
-      "serviceAccountClientId": "pga",
-      "disableableCredentialTypes": [],
-      "requiredActions": [],
-      "realmRoles": [
-        "default-roles-10000000"
-      ],
-      "clientRoles": {
-        "realm-management": [
-          "manage-users"
-        ],
-        "pga": [
-          "uma_protection"
-        ]
-      },
-      "notBefore": 0,
-      "groups": []
-    }
-  ],
-  "scopeMappings": [
-    {
-      "clientScope": "offline_access",
-      "roles": [
-        "offline_access"
-      ]
-    }
-  ],
-  "clientScopeMappings": {
-    "account": [
-      {
-        "client": "account-console",
-        "roles": [
-          "manage-account",
-          "view-groups"
-        ]
-      }
-    ]
-  },
-  "clients": [
-    {
-      "id": "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
-      "clientId": "pga",
-      "name": "Airavata Client",
-      "description": "Client For Airavata Services",
-      "rootUrl": "",
-      "adminUrl": "",
-      "baseUrl": "",
-      "surrogateAuthRequired": false,
-      "enabled": true,
-      "alwaysDisplayInConsole": false,
-      "clientAuthenticatorType": "client-secret",
-      "secret": "9790c8c4-7d9b-4ccc-a820-ca5aac38d2ad",
-      "redirectUris": [
-        "http://airavata.host:8008/callback-url",
-        "http://localhost/callback-url",
-        "https://airavata.host/callback-url",
-        "https://airavata.host/",
-        "https://airavata.host/auth/callback*"
-      ],
-      "webOrigins": [
-        "https://gateway.airavata.host",
-        "*"
-      ],
-      "notBefore": 0,
-      "bearerOnly": false,
-      "consentRequired": false,
-      "standardFlowEnabled": true,
-      "implicitFlowEnabled": false,
-      "directAccessGrantsEnabled": true,
-      "serviceAccountsEnabled": true,
-      "authorizationServicesEnabled": true,
-      "publicClient": false,
-      "frontchannelLogout": true,
-      "protocol": "openid-connect",
-      "attributes": {
-        "oidc.ciba.grant.enabled": "false",
-        "client.secret.creation.time": "1726317784",
-        "backchannel.logout.session.required": "true",
-        "display.on.consent.screen": "false",
-        "oauth2.device.authorization.grant.enabled": "true",
-        "backchannel.logout.revoke.offline.tokens": "false"
-      },
-      "fullScopeAllowed": true,
-      "nodeReRegistrationTimeout": -1,
-      "protocolMappers": [
-        {
-          "id": "f15a7de0-0c1e-40d8-bd05-c1aaf0deb3e1",
-          "name": "Client IP Address",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usersessionmodel-note-mapper",
-          "consentRequired": false,
-          "config": {
-            "user.session.note": "clientAddress",
-            "introspection.token.claim": "true",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "clientAddress",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "a0956d0b-e5c4-4d9a-aebf-89efa6881438",
-          "name": "Client ID",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usersessionmodel-note-mapper",
-          "consentRequired": false,
-          "config": {
-            "user.session.note": "client_id",
-            "introspection.token.claim": "true",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "client_id",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "6863299e-7d4f-43f4-8d0e-fc8cd4a8ceac",
-          "name": "Client Host",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usersessionmodel-note-mapper",
-          "consentRequired": false,
-          "config": {
-            "user.session.note": "clientHost",
-            "introspection.token.claim": "true",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "clientHost",
-            "jsonType.label": "String"
-          }
-        }
-      ],
-      "defaultClientScopes": [
-        "web-origins",
-        "acr",
-        "roles",
-        "profile",
-        "email"
-      ],
-      "optionalClientScopes": [
-        "address",
-        "phone",
-        "offline_access",
-        "preferred_username",
-        "microprofile-jwt"
-      ]
-    }
-  ],
-  "clientScopes": [
-    {
-      "id": "a8292b23-f927-4a5c-a432-2f0ae8867105",
-      "name": "roles",
-      "description": "OpenID Connect scope for add user roles to the access token",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "false",
-        "display.on.consent.screen": "true",
-        "consent.screen.text": "${rolesScopeConsentText}"
-      },
-      "protocolMappers": [
-        {
-          "id": "bfd13362-6c5d-405c-b7c0-bd37063ca9f9",
-          "name": "client roles",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-client-role-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "multivalued": "true",
-            "user.attribute": "foo",
-            "access.token.claim": "true",
-            "claim.name": "resource_access.${client_id}.roles",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "be26563f-80a7-43d7-bf9f-d71205ec53be",
-          "name": "audience resolve",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-audience-resolve-mapper",
-          "consentRequired": false,
-          "config": {
-            "access.token.claim": "true",
-            "introspection.token.claim": "true"
-          }
-        },
-        {
-          "id": "9565b5e4-dfbb-43bc-aa8d-3e845c188669",
-          "name": "realm roles",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-realm-role-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "multivalued": "true",
-            "user.attribute": "foo",
-            "access.token.claim": "true",
-            "claim.name": "realm_access.roles",
-            "jsonType.label": "String"
-          }
-        }
-      ]
-    },
-    {
-      "id": "34779656-fdf3-41c5-a963-d1e2b533b8f0",
-      "name": "phone",
-      "description": "OpenID Connect built-in scope: phone",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "true",
-        "consent.screen.text": "${phoneScopeConsentText}"
-      },
-      "protocolMappers": [
-        {
-          "id": "6d5c53bd-a91a-4066-baba-52de991b5d53",
-          "name": "phone number",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "phoneNumber",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "phone_number",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "a4f0d91a-e59e-4794-b71c-726413ba5be8",
-          "name": "phone number verified",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "phoneNumberVerified",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "phone_number_verified",
-            "jsonType.label": "boolean"
-          }
-        }
-      ]
-    },
-    {
-      "id": "8240c399-c132-49a0-8e41-48266e89b2ce",
-      "name": "address",
-      "description": "OpenID Connect built-in scope: address",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "true",
-        "consent.screen.text": "${addressScopeConsentText}"
-      },
-      "protocolMappers": [
-        {
-          "id": "cbd43ec1-4467-4148-a435-081cd1c0d161",
-          "name": "address",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-address-mapper",
-          "consentRequired": false,
-          "config": {
-            "user.attribute.formatted": "formatted",
-            "user.attribute.country": "country",
-            "introspection.token.claim": "true",
-            "user.attribute.postal_code": "postal_code",
-            "userinfo.token.claim": "true",
-            "user.attribute.street": "street",
-            "id.token.claim": "true",
-            "user.attribute.region": "region",
-            "access.token.claim": "true",
-            "user.attribute.locality": "locality"
-          }
-        }
-      ]
-    },
-    {
-      "id": "7d17e91f-6691-4f1d-9f6c-7a6a7ae0b5ae",
-      "name": "email",
-      "description": "OpenID Connect built-in scope: email",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "true",
-        "consent.screen.text": "${emailScopeConsentText}"
-      },
-      "protocolMappers": [
-        {
-          "id": "c0d4e90d-2c57-4ed5-9e82-01a6d1d16cf0",
-          "name": "email",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "email",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "email",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "c7e78134-c7dd-45a9-a921-cc5dbdc9fc68",
-          "name": "email verified",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-property-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "emailVerified",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "email_verified",
-            "jsonType.label": "boolean"
-          }
-        }
-      ]
-    },
-    {
-      "id": "c0509e2e-01ae-49d6-8d24-0e86628a85aa",
-      "name": "preferred_username",
-      "description": "preferred_username",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "true",
-        "gui.order": "",
-        "consent.screen.text": ""
-      },
-      "protocolMappers": [
-        {
-          "id": "e56aa26c-4614-43bb-a96b-56c1ad959e45",
-          "name": "email",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-property-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "email",
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "claim.name": "email",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "b50ae18b-52e8-44f6-ad4d-ad596de89cfd",
-          "name": "username",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-property-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "username",
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "claim.name": "preferred_username",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "0a93294b-2a7c-4098-af47-4faaa535c8d4",
-          "name": "ClientId",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usersessionmodel-note-mapper",
-          "consentRequired": false,
-          "config": {
-            "user.session.note": "clientId",
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "claim.name": "clientId",
-            "jsonType.label": "String",
-            "access.tokenResponse.claim": "false"
-          }
-        },
-        {
-          "id": "37b8b958-2396-4e2c-871c-f56f6ad393aa",
-          "name": "family name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-property-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "lastName",
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "claim.name": "family_name",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "d779bc1f-5c49-46c6-ae84-1d9e419984ba",
-          "name": "given name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-property-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "firstName",
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "claim.name": "given_name",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "75c6a588-0993-446e-90e0-52046505959e",
-          "name": "full name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-full-name-mapper",
-          "consentRequired": false,
-          "config": {
-            "id.token.claim": "true",
-            "lightweight.claim": "false",
-            "access.token.claim": "true",
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "false"
-          }
-        }
-      ]
-    },
-    {
-      "id": "33b54357-7cdd-494c-9806-6e6d59f6af69",
-      "name": "role_list",
-      "description": "SAML role list",
-      "protocol": "saml",
-      "attributes": {
-        "consent.screen.text": "${samlRoleListScopeConsentText}",
-        "display.on.consent.screen": "true"
-      },
-      "protocolMappers": [
-        {
-          "id": "c56cb073-719d-4f74-8a23-b2105804ee80",
-          "name": "role list",
-          "protocol": "saml",
-          "protocolMapper": "saml-role-list-mapper",
-          "consentRequired": false,
-          "config": {
-            "single": "false",
-            "attribute.nameformat": "Basic",
-            "attribute.name": "Role"
-          }
-        }
-      ]
-    },
-    {
-      "id": "658e931d-3b55-464e-b199-48e9b43f9c3f",
-      "name": "profile",
-      "description": "OpenID Connect built-in scope: profile",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "true",
-        "consent.screen.text": "${profileScopeConsentText}"
-      },
-      "protocolMappers": [
-        {
-          "id": "a352424d-d48b-4e7e-9394-c769f9542605",
-          "name": "website",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "website",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "website",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "3710a2dd-969f-4562-89af-55e31e30f565",
-          "name": "middle name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "middleName",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "middle_name",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "862fa550-a9df-40e5-8fa3-473c45de5e59",
-          "name": "zoneinfo",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "zoneinfo",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "zoneinfo",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "0ae8854b-1589-401c-b0e0-24e423d8e723",
-          "name": "given name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "firstName",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "given_name",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "a72f9f11-04bb-4905-81fe-7b23b7446e20",
-          "name": "gender",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "gender",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "gender",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "eaded814-dc28-450e-95ca-fbd2712e6a40",
-          "name": "profile",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "profile",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "profile",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "652dd31b-d4d8-49e9-8f53-125404b2a1f1",
-          "name": "locale",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "locale",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "locale",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "b20740b4-9fea-4035-b3af-cf0a40852b2f",
-          "name": "birthdate",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "birthdate",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "birthdate",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "7d36aacc-aa67-4ccb-98b0-b02a111c7dea",
-          "name": "username",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "username",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "preferred_username",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "4ed1750d-d48a-4005-8398-2c34f0c6548e",
-          "name": "full name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-full-name-mapper",
-          "consentRequired": false,
-          "config": {
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true"
-          }
-        },
-        {
-          "id": "4b111e20-11ee-4429-be4d-93414b08e506",
-          "name": "updated at",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "updatedAt",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "updated_at",
-            "jsonType.label": "long"
-          }
-        },
-        {
-          "id": "7a7e5200-ae1c-44dc-a5a7-5546391929b5",
-          "name": "family name",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "lastName",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "family_name",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "d353e69e-7d1e-4c41-9fdd-f76a59dacf2b",
-          "name": "picture",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "picture",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "picture",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "a0e4a0a3-1428-46a5-a2a8-66480b1ecf9f",
-          "name": "nickname",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "nickname",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "nickname",
-            "jsonType.label": "String"
-          }
-        }
-      ]
-    },
-    {
-      "id": "af72f98c-7086-4e99-97ad-2cdfe9f46cd4",
-      "name": "offline_access",
-      "description": "OpenID Connect built-in scope: offline_access",
-      "protocol": "openid-connect",
-      "attributes": {
-        "consent.screen.text": "${offlineAccessScopeConsentText}",
-        "display.on.consent.screen": "true"
-      }
-    },
-    {
-      "id": "c98af4d7-e60f-469d-b76b-c8673b3d641c",
-      "name": "acr",
-      "description": "OpenID Connect scope for add acr (authentication context class reference) to the token",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "false",
-        "display.on.consent.screen": "false"
-      },
-      "protocolMappers": [
-        {
-          "id": "d000afcc-348f-414e-8e18-fbf9dd73bec0",
-          "name": "acr loa level",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-acr-mapper",
-          "consentRequired": false,
-          "config": {
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "introspection.token.claim": "true"
-          }
-        }
-      ]
-    },
-    {
-      "id": "9bc461ac-7b67-48ae-af92-03b51bdd2336",
-      "name": "microprofile-jwt",
-      "description": "Microprofile - JWT built-in scope",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "true",
-        "display.on.consent.screen": "false"
-      },
-      "protocolMappers": [
-        {
-          "id": "075ba449-99e1-49c5-8642-755d9fd1ca08",
-          "name": "upn",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-attribute-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "userinfo.token.claim": "true",
-            "user.attribute": "username",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "upn",
-            "jsonType.label": "String"
-          }
-        },
-        {
-          "id": "4d1db13c-a944-4205-95fc-6b9c184e3cc4",
-          "name": "groups",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-usermodel-realm-role-mapper",
-          "consentRequired": false,
-          "config": {
-            "introspection.token.claim": "true",
-            "multivalued": "true",
-            "user.attribute": "foo",
-            "id.token.claim": "true",
-            "access.token.claim": "true",
-            "claim.name": "groups",
-            "jsonType.label": "String"
-          }
-        }
-      ]
-    },
-    {
-      "id": "162a761a-4a0b-4c30-a388-1ee5df06eb8e",
-      "name": "web-origins",
-      "description": "OpenID Connect scope for add allowed web origins to the access token",
-      "protocol": "openid-connect",
-      "attributes": {
-        "include.in.token.scope": "false",
-        "display.on.consent.screen": "false",
-        "consent.screen.text": ""
-      },
-      "protocolMappers": [
-        {
-          "id": "2ecc5181-9142-45b5-b11a-4d7936f9e38e",
-          "name": "allowed web origins",
-          "protocol": "openid-connect",
-          "protocolMapper": "oidc-allowed-origins-mapper",
-          "consentRequired": false,
-          "config": {
-            "access.token.claim": "true",
-            "introspection.token.claim": "true"
-          }
-        }
-      ]
-    }
-  ],
-  "defaultDefaultClientScopes": [
-    "web-origins",
-    "role_list",
-    "profile",
-    "email",
-    "roles",
-    "acr"
-  ],
-  "defaultOptionalClientScopes": [
-    "phone",
-    "address",
-    "microprofile-jwt",
-    "offline_access",
-    "preferred_username"
-  ],
-  "browserSecurityHeaders": {
-    "contentSecurityPolicyReportOnly": "",
-    "xContentTypeOptions": "nosniff",
-    "referrerPolicy": "no-referrer",
-    "xRobotsTag": "none",
-    "xFrameOptions": "SAMEORIGIN",
-    "contentSecurityPolicy": "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
-    "xXSSProtection": "1; mode=block",
-    "strictTransportSecurity": "max-age=31536000; includeSubDomains"
-  },
-  "smtpServer": {},
-  "eventsEnabled": false,
-  "eventsListeners": [
-    "jboss-logging"
-  ],
-  "enabledEventTypes": [],
-  "adminEventsEnabled": false,
-  "adminEventsDetailsEnabled": false,
-  "identityProviders": [
-    {
-      "alias": "oidc",
-      "displayName": "CILogon",
-      "internalId": "f0427047-bcb0-414d-9e9a-dc97b7cddefa",
-      "providerId": "oidc",
-      "enabled": true,
-      "updateProfileFirstLoginMode": "on",
-      "trustEmail": true,
-      "storeToken": true,
-      "addReadTokenRoleOnCreate": true,
-      "authenticateByDefault": false,
-      "linkOnly": false,
-      "firstBrokerLoginFlowAlias": "first broker login",
-      "config": {
-        "acceptsPromptNoneForwardFromClient": "false",
-        "tokenUrl": "https://cilogon.org/oauth2/token",
-        "isAccessTokenJWT": "false",
-        "filteredByClaim": "false",
-        "backchannelSupported": "false",
-        "issuer": "https://cilogon.org",
-        "loginHint": "false",
-        "clientAuthMethod": "client_secret_post",
-        "syncMode": "IMPORT",
-        "clientSecret": "**********",
-        "allowedClockSkew": "0",
-        "defaultScope": "openid profile email org.cilogon.userinfo",
-        "guiOrder": "1",
-        "hideOnLoginPage": "false",
-        "userInfoUrl": "https://cilogon.org/oauth2/userinfo",
-        "validateSignature": "false",
-        "clientId": "cilogon:/client_id/392446d1fe4981d3eab8adb6da2a1952",
-        "uiLocales": "false",
-        "disableNonce": "false",
-        "sendClientIdOnLogout": "false",
-        "pkceEnabled": "false",
-        "forwardParameters": "kc_idp_hint",
-        "authorizationUrl": "https://cilogon.org/authorize",
-        "disableUserInfo": "false",
-        "logoutUrl": "https://cilogon.org/logout",
-        "sendIdTokenOnLogout": "true",
-        "passMaxAge": "false"
-      }
-    }
-  ],
-  "identityProviderMappers": [
-    {
-      "id": "c4c0522a-97a5-4f19-83cd-bf43ddaa164e",
-      "name": "family_name",
-      "identityProviderAlias": "oidc",
-      "identityProviderMapper": "oidc-user-attribute-idp-mapper",
-      "config": {
-        "syncMode": "INHERIT",
-        "claim": "family_name",
-        "user.attribute": "lastName"
-      }
-    },
-    {
-      "id": "c63368b2-6bb7-4dc4-85bc-5ae63147ed9c",
-      "name": "given_name",
-      "identityProviderAlias": "oidc",
-      "identityProviderMapper": "oidc-user-attribute-idp-mapper",
-      "config": {
-        "syncMode": "INHERIT",
-        "claim": "given_name",
-        "user.attribute": "firstName"
-      }
-    }
-  ],
-  "components": {
-    "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [
-      {
-        "id": "d446bfe5-46d7-4b5a-a569-41268f1f0e87",
-        "name": "Trusted Hosts",
-        "providerId": "trusted-hosts",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {
-          "host-sending-registration-request-must-match": [
-            "true"
-          ],
-          "client-uris-must-match": [
-            "true"
-          ]
-        }
-      },
-      {
-        "id": "d6c586ad-07ab-4a3e-8f61-9ee3d4f7e03f",
-        "name": "Max Clients Limit",
-        "providerId": "max-clients",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {
-          "max-clients": [
-            "200"
-          ]
-        }
-      },
-      {
-        "id": "fcf2e8da-427f-4232-8e02-cf08151c0211",
-        "name": "Allowed Protocol Mapper Types",
-        "providerId": "allowed-protocol-mappers",
-        "subType": "authenticated",
-        "subComponents": {},
-        "config": {
-          "allowed-protocol-mapper-types": [
-            "oidc-full-name-mapper",
-            "oidc-usermodel-attribute-mapper",
-            "saml-role-list-mapper",
-            "oidc-sha256-pairwise-sub-mapper",
-            "oidc-usermodel-property-mapper",
-            "oidc-address-mapper",
-            "saml-user-attribute-mapper",
-            "saml-user-property-mapper"
-          ]
-        }
-      },
-      {
-        "id": "9d32bc1e-fa04-4ab7-8911-cb344ff8b5c8",
-        "name": "Consent Required",
-        "providerId": "consent-required",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {}
-      },
-      {
-        "id": "eff493d8-9108-420f-88ca-522e9df73f46",
-        "name": "Allowed Protocol Mapper Types",
-        "providerId": "allowed-protocol-mappers",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {
-          "allowed-protocol-mapper-types": [
-            "oidc-address-mapper",
-            "saml-role-list-mapper",
-            "oidc-usermodel-property-mapper",
-            "saml-user-attribute-mapper",
-            "oidc-usermodel-attribute-mapper",
-            "oidc-full-name-mapper",
-            "oidc-sha256-pairwise-sub-mapper",
-            "saml-user-property-mapper"
-          ]
-        }
-      },
-      {
-        "id": "64e7e77a-3489-45bd-b440-e1c42941b22a",
-        "name": "Allowed Client Scopes",
-        "providerId": "allowed-client-templates",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {
-          "allow-default-scopes": [
-            "true"
-          ]
-        }
-      },
-      {
-        "id": "b3315017-dfb7-4e2f-a682-f9278ae9008a",
-        "name": "Allowed Client Scopes",
-        "providerId": "allowed-client-templates",
-        "subType": "authenticated",
-        "subComponents": {},
-        "config": {
-          "allow-default-scopes": [
-            "true"
-          ]
-        }
-      },
-      {
-        "id": "35fa6e56-7042-4df8-bdda-feeeb6b39c45",
-        "name": "Full Scope Disabled",
-        "providerId": "scope",
-        "subType": "anonymous",
-        "subComponents": {},
-        "config": {}
-      }
-    ],
-    "org.keycloak.keys.KeyProvider": [
-      {
-        "id": "33a8177a-0278-4ce3-abee-a4394ec04aed",
-        "name": "rsa-enc-generated",
-        "providerId": "rsa-enc-generated",
-        "subComponents": {},
-        "config": {
-          "priority": [
-            "100"
-          ],
-          "algorithm": [
-            "RSA-OAEP"
-          ]
-        }
-      },
-      {
-        "id": "a4d499fc-aced-40b4-9102-255159578eec",
-        "name": "hmac-generated-hs512",
-        "providerId": "hmac-generated",
-        "subComponents": {},
-        "config": {
-          "priority": [
-            "100"
-          ],
-          "algorithm": [
-            "HS512"
-          ]
-        }
-      },
-      {
-        "id": "f5dc3169-59a8-4790-a9e5-e0bf3c78805c",
-        "name": "aes-generated",
-        "providerId": "aes-generated",
-        "subComponents": {},
-        "config": {
-          "priority": [
-            "100"
-          ]
-        }
-      },
-      {
-        "id": "762fc122-3966-4253-8ff2-681aef52798a",
-        "name": "rsa-generated",
-        "providerId": "rsa-generated",
-        "subComponents": {},
-        "config": {
-          "priority": [
-            "100"
-          ]
-        }
-      }
-    ]
-  },
-  "internationalizationEnabled": false,
-  "supportedLocales": [],
-  "authenticationFlows": [
-    {
-      "id": "ee04c896-46c6-46e5-8f5f-2c3f5f5e982f",
-      "alias": "Account verification options",
-      "description": "Method with which to verity the existing account",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "idp-email-verification",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "ALTERNATIVE",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "Verify Existing Account by Re-authentication",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "78e019d7-5a2f-44f3-81d0-6fa566f21a32",
-      "alias": "Browser - Conditional OTP",
-      "description": "Flow to determine if the OTP is required for the authentication",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "conditional-user-configured",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "auth-otp-form",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "3482050b-0ea3-4aee-8200-bcc78dfda38d",
-      "alias": "Direct Grant - Conditional OTP",
-      "description": "Flow to determine if the OTP is required for the authentication",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "conditional-user-configured",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "direct-grant-validate-otp",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "64987dfc-4f74-4abe-a9fa-47028f056258",
-      "alias": "First broker login - Conditional OTP",
-      "description": "Flow to determine if the OTP is required for the authentication",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "conditional-user-configured",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "auth-otp-form",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "32144fde-d5b5-4a21-bdd5-fb8d92f3c435",
-      "alias": "Handle Existing Account",
-      "description": "Handle what to do if there is existing account with same email/username like authenticated identity provider",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "idp-confirm-link",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "Account verification options",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "53e1602d-6fb0-4dcb-81a8-e0e549165a2c",
-      "alias": "Reset - Conditional OTP",
-      "description": "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "conditional-user-configured",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "reset-otp",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "4819cc94-f5e5-47ca-99ca-35abb57f80e4",
-      "alias": "User creation or linking",
-      "description": "Flow for the existing/non-existing user alternatives",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticatorConfig": "create unique user config",
-          "authenticator": "idp-create-user-if-unique",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "ALTERNATIVE",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "Handle Existing Account",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "5942a1e4-f029-40cd-ae92-830898bf97dc",
-      "alias": "Verify Existing Account by Re-authentication",
-      "description": "Reauthentication of existing account",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "idp-username-password-form",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "CONDITIONAL",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "First broker login - Conditional OTP",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "92632d82-47d5-4dd6-8a7e-8bf3e0ecd02f",
-      "alias": "browser",
-      "description": "browser based authentication",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "auth-cookie",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "auth-spnego",
-          "authenticatorFlow": false,
-          "requirement": "DISABLED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorConfig": "oidc",
-          "authenticator": "identity-provider-redirector",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 25,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "ALTERNATIVE",
-          "priority": 30,
-          "autheticatorFlow": true,
-          "flowAlias": "forms",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "dfedc4d5-a50e-4622-bba6-7e5ee9b2065c",
-      "alias": "clients",
-      "description": "Base authentication for clients",
-      "providerId": "client-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "client-secret",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "client-jwt",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "client-secret-jwt",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 30,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "client-x509",
-          "authenticatorFlow": false,
-          "requirement": "ALTERNATIVE",
-          "priority": 40,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "25ac344e-2d5e-4c5c-8f86-2b8ba2e3dfde",
-      "alias": "direct grant",
-      "description": "OpenID Connect Resource Owner Grant",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "direct-grant-validate-username",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "direct-grant-validate-password",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "CONDITIONAL",
-          "priority": 30,
-          "autheticatorFlow": true,
-          "flowAlias": "Direct Grant - Conditional OTP",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "fc07ca16-4d7d-4132-a6d6-352a566d19da",
-      "alias": "docker auth",
-      "description": "Used by Docker clients to authenticate against the IDP",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "docker-http-basic-authenticator",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "eb9f31b1-f136-47bc-93d1-9fc8c62de3c5",
-      "alias": "first broker login",
-      "description": "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticatorConfig": "review profile config",
-          "authenticator": "idp-review-profile",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "User creation or linking",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "92f6f1d6-7684-4c3a-8623-1a1643cf1b07",
-      "alias": "forms",
-      "description": "Username, password, otp and other auth forms.",
-      "providerId": "basic-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "auth-username-password-form",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "CONDITIONAL",
-          "priority": 20,
-          "autheticatorFlow": true,
-          "flowAlias": "Browser - Conditional OTP",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "4701b039-0e51-435c-a867-76e602446315",
-      "alias": "registration",
-      "description": "registration flow",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "registration-page-form",
-          "authenticatorFlow": true,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": true,
-          "flowAlias": "registration form",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "4857befc-6fac-45f1-ae13-02830ab04646",
-      "alias": "registration form",
-      "description": "registration form",
-      "providerId": "form-flow",
-      "topLevel": false,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "registration-user-creation",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "registration-password-action",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 50,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "registration-recaptcha-action",
-          "authenticatorFlow": false,
-          "requirement": "DISABLED",
-          "priority": 60,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "registration-terms-and-conditions",
-          "authenticatorFlow": false,
-          "requirement": "DISABLED",
-          "priority": 70,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "72627447-0fbe-4017-96ab-b12eacc75a2d",
-      "alias": "reset credentials",
-      "description": "Reset credentials for a user if they forgot their password or something",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "reset-credentials-choose-user",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "reset-credential-email",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 20,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticator": "reset-password",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 30,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        },
-        {
-          "authenticatorFlow": true,
-          "requirement": "CONDITIONAL",
-          "priority": 40,
-          "autheticatorFlow": true,
-          "flowAlias": "Reset - Conditional OTP",
-          "userSetupAllowed": false
-        }
-      ]
-    },
-    {
-      "id": "d8bec40b-7015-40c9-b069-c1bb1b1cf09e",
-      "alias": "saml ecp",
-      "description": "SAML ECP Profile Authentication Flow",
-      "providerId": "basic-flow",
-      "topLevel": true,
-      "builtIn": true,
-      "authenticationExecutions": [
-        {
-          "authenticator": "http-basic-authenticator",
-          "authenticatorFlow": false,
-          "requirement": "REQUIRED",
-          "priority": 10,
-          "autheticatorFlow": false,
-          "userSetupAllowed": false
-        }
-      ]
-    }
-  ],
-  "authenticatorConfig": [
-    {
-      "id": "6ee3b9e1-c19b-43f5-bc30-4dde2953aa3f",
-      "alias": "create unique user config",
-      "config": {
-        "require.password.update.after.registration": "false"
-      }
-    },
-    {
-      "id": "420707ab-984e-4a95-a679-26cddf145323",
-      "alias": "oidc",
-      "config": {
-        "default.reference.maxAge": "10000",
-        "default.reference.value": "CILogon",
-        "defaultProvider": "oidc"
-      }
-    },
-    {
-      "id": "6bab8c26-0c25-4cf3-a5a7-634cdfcf9f41",
-      "alias": "review profile config",
-      "config": {
-        "update.profile.on.first.login": "missing"
-      }
-    }
-  ],
-  "requiredActions": [
-    {
-      "alias": "CONFIGURE_TOTP",
-      "name": "Configure OTP",
-      "providerId": "CONFIGURE_TOTP",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 10,
-      "config": {}
-    },
-    {
-      "alias": "TERMS_AND_CONDITIONS",
-      "name": "Terms and Conditions",
-      "providerId": "TERMS_AND_CONDITIONS",
-      "enabled": false,
-      "defaultAction": false,
-      "priority": 20,
-      "config": {}
-    },
-    {
-      "alias": "UPDATE_PASSWORD",
-      "name": "Update Password",
-      "providerId": "UPDATE_PASSWORD",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 30,
-      "config": {}
-    },
-    {
-      "alias": "UPDATE_PROFILE",
-      "name": "Update Profile",
-      "providerId": "UPDATE_PROFILE",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 40,
-      "config": {}
-    },
-    {
-      "alias": "VERIFY_EMAIL",
-      "name": "Verify Email",
-      "providerId": "VERIFY_EMAIL",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 50,
-      "config": {}
-    },
-    {
-      "alias": "delete_account",
-      "name": "Delete Account",
-      "providerId": "delete_account",
-      "enabled": false,
-      "defaultAction": false,
-      "priority": 60,
-      "config": {}
-    },
-    {
-      "alias": "webauthn-register",
-      "name": "Webauthn Register",
-      "providerId": "webauthn-register",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 70,
-      "config": {}
-    },
-    {
-      "alias": "webauthn-register-passwordless",
-      "name": "Webauthn Register Passwordless",
-      "providerId": "webauthn-register-passwordless",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 80,
-      "config": {}
-    },
-    {
-      "alias": "VERIFY_PROFILE",
-      "name": "Verify Profile",
-      "providerId": "VERIFY_PROFILE",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 90,
-      "config": {}
-    },
-    {
-      "alias": "update_user_locale",
-      "name": "Update User Locale",
-      "providerId": "update_user_locale",
-      "enabled": true,
-      "defaultAction": false,
-      "priority": 1000,
-      "config": {}
-    }
-  ],
-  "browserFlow": "browser",
-  "registrationFlow": "registration",
-  "directGrantFlow": "direct grant",
-  "resetCredentialsFlow": "reset credentials",
-  "clientAuthenticationFlow": "clients",
-  "dockerAuthenticationFlow": "docker auth",
-  "firstBrokerLoginFlow": "first broker login",
-  "attributes": {
-    "cibaBackchannelTokenDeliveryMode": "poll",
-    "cibaAuthRequestedUserHint": "login_hint",
-    "clientOfflineSessionMaxLifespan": "0",
-    "oauth2DevicePollingInterval": "5",
-    "clientSessionIdleTimeout": "0",
-    "actionTokenGeneratedByUserLifespan.idp-verify-account-via-email": "",
-    "actionTokenGeneratedByUserLifespan.verify-email": "",
-    "clientOfflineSessionIdleTimeout": "0",
-    "actionTokenGeneratedByUserLifespan.execute-actions": "",
-    "cibaInterval": "5",
-    "realmReusableOtpCode": "false",
-    "cibaExpiresIn": "120",
-    "oauth2DeviceCodeLifespan": "600",
-    "parRequestUriLifespan": "60",
-    "clientSessionMaxLifespan": "0",
-    "frontendUrl": "",
-    "acr.loa.map": "{}",
-    "shortVerificationUri": "",
-    "actionTokenGeneratedByUserLifespan.reset-credentials": ""
-  },
-  "keycloakVersion": "24.0.0",
-  "userManagedAccessAllowed": false,
-  "clientProfiles": {
-    "profiles": []
-  },
-  "clientPolicies": {
-    "policies": []
-  }
-}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/keycloak/Default-export.json.bk b/modules/ide-integration/src/main/containers/keycloak/Default-export.json.bk
deleted file mode 100644
index 740eb85634..0000000000
--- a/modules/ide-integration/src/main/containers/keycloak/Default-export.json.bk
+++ /dev/null
@@ -1,1507 +0,0 @@
-{
-  "id" : "default",
-  "realm" : "default",
-  "notBefore" : 0,
-  "revokeRefreshToken" : false,
-  "accessTokenLifespan" : 300,
-  "accessTokenLifespanForImplicitFlow" : 900,
-  "ssoSessionIdleTimeout" : 1800,
-  "ssoSessionMaxLifespan" : 36000,
-  "offlineSessionIdleTimeout" : 2592000,
-  "accessCodeLifespan" : 60,
-  "accessCodeLifespanUserAction" : 300,
-  "accessCodeLifespanLogin" : 1800,
-  "enabled" : true,
-  "sslRequired" : "external",
-  "registrationAllowed" : false,
-  "registrationEmailAsUsername" : false,
-  "rememberMe" : false,
-  "verifyEmail" : false,
-  "loginWithEmailAllowed" : true,
-  "duplicateEmailsAllowed" : false,
-  "resetPasswordAllowed" : false,
-  "editUsernameAllowed" : false,
-  "bruteForceProtected" : false,
-  "maxFailureWaitSeconds" : 900,
-  "minimumQuickLoginWaitSeconds" : 60,
-  "waitIncrementSeconds" : 60,
-  "quickLoginCheckMilliSeconds" : 1000,
-  "maxDeltaTimeSeconds" : 43200,
-  "failureFactor" : 30,
-  "roles" : {
-    "realm" : [ {
-      "id" : "e57cc238-851f-438f-9e3a-fdfe5bf1b01d",
-      "name" : "admin",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "1fc6a378-99fc-4ae4-8cfe-f3e570594fbc",
-      "name" : "gateway-user",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "0058eb76-b61e-4f14-a3de-5377c154e6ce",
-      "name" : "gateway-provider",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "33473891-9fb4-4076-90c3-325b4bdbfe71",
-      "name" : "user-pending",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "4edaec82-9b96-4b04-bbc0-e72b4b028b8f",
-      "name" : "uma_authorization",
-      "description" : "${role_uma_authorization}",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "3bd559a1-cb42-4326-a211-ebe386abedb8",
-      "name" : "admin-read-only",
-      "scopeParamRequired" : false,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    }, {
-      "id" : "c287cd41-2fa9-4af0-adf4-e1cf8eaed0a1",
-      "name" : "offline_access",
-      "description" : "${role_offline-access}",
-      "scopeParamRequired" : true,
-      "composite" : false,
-      "clientRole" : false,
-      "containerId" : "default"
-    } ],
-    "client" : {
-      "realm-management" : [ {
-        "id" : "25eeb575-8f30-4c3c-9025-7c49521168a3",
-        "name" : "view-identity-providers",
-        "description" : "${role_view-identity-providers}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "ae1d8150-4437-4f85-bb2e-a8a12c0be9ef",
-        "name" : "view-users",
-        "description" : "${role_view-users}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "6c48363c-70d1-4f39-a0b5-d7a34be66705",
-        "name" : "create-client",
-        "description" : "${role_create-client}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "97be766a-b5cc-422d-82c6-77ccec6cc721",
-        "name" : "manage-realm",
-        "description" : "${role_manage-realm}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "2425b20b-e233-4b88-9d2d-b487c31a97f2",
-        "name" : "manage-events",
-        "description" : "${role_manage-events}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "5e0ca9e1-9ae6-49a5-a61e-4ebda609752a",
-        "name" : "realm-admin",
-        "description" : "${role_realm-admin}",
-        "scopeParamRequired" : false,
-        "composite" : true,
-        "composites" : {
-          "client" : {
-            "realm-management" : [ "view-users", "view-identity-providers", "create-client", "manage-realm", "manage-events", "view-events", "manage-users", "impersonation", "view-authorization", "view-clients", "manage-identity-providers", "manage-clients", "manage-authorization", "view-realm" ]
-          }
-        },
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "0d64c48f-9309-4ed9-a4e9-c18635d4c31b",
-        "name" : "view-events",
-        "description" : "${role_view-events}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "2a0ec04e-46bf-47e3-9f41-a54c7049bf1c",
-        "name" : "manage-users",
-        "description" : "${role_manage-users}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "ea3213a8-fdcf-4481-9620-68634705206f",
-        "name" : "impersonation",
-        "description" : "${role_impersonation}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "279b6454-4e02-4499-a874-e6efb7c35fc7",
-        "name" : "view-authorization",
-        "description" : "${role_view-authorization}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "7f35f618-9954-4e54-826d-9c8613a6a74d",
-        "name" : "view-clients",
-        "description" : "${role_view-clients}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "bd937a5a-1f13-4d06-a30c-8993e66a6533",
-        "name" : "manage-identity-providers",
-        "description" : "${role_manage-identity-providers}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "72b5f596-1d58-42ef-b4bf-79fec573406e",
-        "name" : "manage-clients",
-        "description" : "${role_manage-clients}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "bc379239-b21b-46fc-8b0b-43c991d825bf",
-        "name" : "manage-authorization",
-        "description" : "${role_manage-authorization}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      }, {
-        "id" : "f6d83939-a100-4f4d-9b32-238bf4688bff",
-        "name" : "view-realm",
-        "description" : "${role_view-realm}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f"
-      } ],
-      "security-admin-console" : [ ],
-      "admin-cli" : [ ],
-      "pga" : [ {
-        "id" : "5b99936c-2625-4824-9a44-0fd70382c46f",
-        "name" : "uma_protection",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "d91304eb-aaa7-4c21-a3bd-7d525a88756f"
-      } ],
-      "broker" : [ {
-        "id" : "3ae3efa0-3a7d-4eac-b13e-eb0a6f018ec9",
-        "name" : "read-token",
-        "description" : "${role_read-token}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "9d167524-4ff0-40d0-9beb-3fd1dd6c61b5"
-      } ],
-      "account" : [ {
-        "id" : "737745c4-d179-414b-b5a3-bfb9bb7e3d13",
-        "name" : "manage-account",
-        "description" : "${role_manage-account}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "6b0b6755-6e5f-4f38-b78a-be79208be58e"
-      }, {
-        "id" : "c918eba7-f2d1-48e3-b3a5-492569936317",
-        "name" : "view-profile",
-        "description" : "${role_view-profile}",
-        "scopeParamRequired" : false,
-        "composite" : false,
-        "clientRole" : true,
-        "containerId" : "6b0b6755-6e5f-4f38-b78a-be79208be58e"
-      } ]
-    }
-  },
-  "groups" : [ ],
-  "defaultRoles" : [ "uma_authorization", "offline_access" ],
-  "requiredCredentials" : [ "password" ],
-  "passwordPolicy" : "hashIterations(20000)",
-  "otpPolicyType" : "totp",
-  "otpPolicyAlgorithm" : "HmacSHA1",
-  "otpPolicyInitialCounter" : 0,
-  "otpPolicyDigits" : 6,
-  "otpPolicyLookAheadWindow" : 1,
-  "otpPolicyPeriod" : 30,
-  "users" : [ {
-    "id" : "dcc21374-79ff-4f9f-b895-a6f6a35554bf",
-    "createdTimestamp" : 1521560049031,
-    "username" : "default-admin",
-    "enabled" : true,
-    "totp" : false,
-    "emailVerified" : true,
-    "firstName" : "dim",
-    "lastName" : "Upe",
-    "email" : "dimuthu.upeksha2@gmail.com",
-    "credentials" : [ {
-      "type" : "password",
-      "hashedSaltedValue" : "z8nHFEg9ZRGRsKAx3EE6yJPnzI7+a8qxVKgMI0pZo+WzFKKkPVR+rIrJv32Ht+dROjaT9DBRUJVe5J01oHo6PQ==",
-      "salt" : "DyQ22650v7+xdd1KxHa96A==",
-      "hashIterations" : 20000,
-      "counter" : 0,
-      "algorithm" : "pbkdf2",
-      "digits" : 0,
-      "period" : 0,
-      "createdDate" : 1521560064798,
-      "config" : { }
-    } ],
-    "disableableCredentialTypes" : [ "password" ],
-    "requiredActions" : [ ],
-    "realmRoles" : [ "admin", "uma_authorization", "offline_access" ],
-    "clientRoles" : {
-      "realm-management" : [ "create-client", "manage-realm", "manage-events", "realm-admin", "manage-users", "impersonation", "manage-identity-providers", "manage-clients", "manage-authorization" ],
-      "account" : [ "view-profile", "manage-account" ]
-    },
-    "groups" : [ ]
-  }, {
-    "id" : "03b635cf-bc43-45c5-9cbf-191a90b1ee87",
-    "createdTimestamp" : 1521559886114,
-    "username" : "service-account-pga",
-    "enabled" : true,
-    "totp" : false,
-    "emailVerified" : false,
-    "email" : "service-account-pga@placeholder.org",
-    "serviceAccountClientId" : "pga",
-    "credentials" : [ ],
-    "disableableCredentialTypes" : [ ],
-    "requiredActions" : [ ],
-    "realmRoles" : [ "uma_authorization", "offline_access" ],
-    "clientRoles" : {
-      "pga" : [ "uma_protection" ],
-      "account" : [ "manage-account", "view-profile" ]
-    },
-    "groups" : [ ]
-  } ],
-  "clientScopeMappings" : {
-    "realm-management" : [ {
-      "client" : "admin-cli",
-      "roles" : [ "realm-admin" ]
-    }, {
-      "client" : "security-admin-console",
-      "roles" : [ "realm-admin" ]
-    } ]
-  },
-  "clients" : [ {
-    "id" : "6b0b6755-6e5f-4f38-b78a-be79208be58e",
-    "clientId" : "account",
-    "name" : "${client_account}",
-    "baseUrl" : "/auth/realms/default/account",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "7c020384-8beb-4b0d-8b6b-13b5fb976349",
-    "defaultRoles" : [ "manage-account", "view-profile" ],
-    "redirectUris" : [ "/auth/realms/default/account/*" ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : false,
-    "consentRequired" : false,
-    "standardFlowEnabled" : true,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : false,
-    "serviceAccountsEnabled" : false,
-    "publicClient" : false,
-    "frontchannelLogout" : false,
-    "attributes" : { },
-    "fullScopeAllowed" : false,
-    "nodeReRegistrationTimeout" : 0,
-    "protocolMappers" : [ {
-      "id" : "acb04784-f725-4707-a0f3-5ef026a0452f",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "9c98c619-0112-4b32-9244-42e62c8b7fd8",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "81028b13-e742-4424-951c-78a360cd135c",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "fa4e2f31-68d2-427a-a650-00b36a507c21",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "66c52b74-a51b-4250-bc51-988af6e8e189",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "7aad501b-e92b-4097-b9ec-6b64394ea98b",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false
-  }, {
-    "id" : "5bbd77f4-a98e-49e6-a97a-09be34fd34dc",
-    "clientId" : "admin-cli",
-    "name" : "${client_admin-cli}",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "384ad67c-1d4c-4952-af98-2a9a9f0bf672",
-    "redirectUris" : [ ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : false,
-    "consentRequired" : false,
-    "standardFlowEnabled" : false,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : true,
-    "serviceAccountsEnabled" : false,
-    "publicClient" : true,
-    "frontchannelLogout" : false,
-    "attributes" : { },
-    "fullScopeAllowed" : false,
-    "nodeReRegistrationTimeout" : 0,
-    "protocolMappers" : [ {
-      "id" : "3df9d992-a422-481a-bc5e-ef52741346e4",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    }, {
-      "id" : "3ea8fbae-2d92-4e1e-bf7e-f8d63b78c665",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "6e13db11-02be-473e-8fda-805a90c07b38",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "a5de4a6a-8835-4924-bf92-457b8afc9ce9",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "43f531b4-1b1d-4663-a7c5-f4140a8699b3",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "64508175-b6b9-4f48-929d-9a7e2a144eed",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false
-  }, {
-    "id" : "9d167524-4ff0-40d0-9beb-3fd1dd6c61b5",
-    "clientId" : "broker",
-    "name" : "${client_broker}",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "a2ca00a3-d2d9-4647-9ad0-e52e59644bef",
-    "redirectUris" : [ ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : false,
-    "consentRequired" : false,
-    "standardFlowEnabled" : true,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : false,
-    "serviceAccountsEnabled" : false,
-    "publicClient" : false,
-    "frontchannelLogout" : false,
-    "attributes" : { },
-    "fullScopeAllowed" : false,
-    "nodeReRegistrationTimeout" : 0,
-    "protocolMappers" : [ {
-      "id" : "dcb271f7-326f-4108-b628-9f328bb6e0ca",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "355de467-08d5-4742-87f4-18d950e2662b",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "8e642aca-e044-40c3-a154-08b41c47f87d",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "c3c3d79c-8b7f-44db-8886-050bfe1be7ce",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "172c3f41-0346-44bb-9149-cdb7af510f54",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    }, {
-      "id" : "acad670c-0565-4c4a-ada8-93b9315cd1e6",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false
-  }, {
-    "id" : "d91304eb-aaa7-4c21-a3bd-7d525a88756f",
-    "clientId" : "pga",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "9790c8c4-7d9b-4ccc-a820-ca5aac38d2ad",
-    "redirectUris" : [ "http://192.168.99.103:8008" ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : false,
-    "consentRequired" : false,
-    "standardFlowEnabled" : true,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : true,
-    "serviceAccountsEnabled" : true,
-    "authorizationServicesEnabled" : true,
-    "publicClient" : false,
-    "frontchannelLogout" : false,
-    "protocol" : "openid-connect",
-    "attributes" : {
-      "saml.assertion.signature" : "false",
-      "saml.force.post.binding" : "false",
-      "saml.multivalued.roles" : "false",
-      "saml.encrypt" : "false",
-      "saml_force_name_id_format" : "false",
-      "saml.client.signature" : "false",
-      "saml.authnstatement" : "false",
-      "saml.server.signature" : "false",
-      "saml.server.signature.keyinfo.ext" : "false"
-    },
-    "fullScopeAllowed" : true,
-    "nodeReRegistrationTimeout" : -1,
-    "protocolMappers" : [ {
-      "id" : "63bfb4d1-6721-4b30-be12-9524f33ca5d6",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "e1563941-e46b-47df-ac80-ad9ebe4b4a1c",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "ea351bc5-0d40-42e8-b915-76bb9146725c",
-      "name" : "Client IP Address",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
-      "consentRequired" : false,
-      "consentText" : "",
-      "config" : {
-        "user.session.note" : "clientAddress",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "clientAddress",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "8e2d75f2-0cbe-40c0-bc64-4e26492d3ddb",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "f0310a3c-718c-4e6a-9a78-b1c78c53c7e8",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "2fa4d469-c87f-4af1-8dfa-94b7389d6d41",
-      "name" : "Client Host",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
-      "consentRequired" : false,
-      "consentText" : "",
-      "config" : {
-        "user.session.note" : "clientHost",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "clientHost",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "b78030a3-90f0-41fe-8490-0b0e94d24019",
-      "name" : "Client ID",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
-      "consentRequired" : false,
-      "consentText" : "",
-      "config" : {
-        "user.session.note" : "clientId",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "clientId",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "adc877a6-20cc-43e4-8716-28210a7579b7",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    }, {
-      "id" : "bce95330-6b57-42a0-92b5-9b20bb826c93",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false,
-    "authorizationSettings" : {
-      "allowRemoteResourceManagement" : false,
-      "policyEnforcementMode" : "ENFORCING",
-      "resources" : [ {
-        "name" : "Default Resource",
-        "uri" : "/*",
-        "type" : "urn:pga:resources:default",
-        "typedScopes" : [ ]
-      } ],
-      "policies" : [ {
-        "name" : "Default Policy",
-        "description" : "A policy that grants access only for users within this realm",
-        "type" : "js",
-        "logic" : "POSITIVE",
-        "decisionStrategy" : "AFFIRMATIVE",
-        "config" : {
-          "code" : "// by default, grants any permission associated with this policy\n$evaluation.grant();\n"
-        }
-      }, {
-        "name" : "Default Permission",
-        "description" : "A permission that applies to the default resource type",
-        "type" : "resource",
-        "logic" : "POSITIVE",
-        "decisionStrategy" : "UNANIMOUS",
-        "config" : {
-          "defaultResourceType" : "urn:pga:resources:default",
-          "applyPolicies" : "[\"Default Policy\"]",
-          "default" : "true"
-        }
-      } ],
-      "scopes" : [ ]
-    }
-  }, {
-    "id" : "444bd287-e88f-4bdf-b806-c1fa1f81de4f",
-    "clientId" : "realm-management",
-    "name" : "${client_realm-management}",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "55353926-9432-4e0c-be9b-cc4a7b07a859",
-    "redirectUris" : [ ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : true,
-    "consentRequired" : false,
-    "standardFlowEnabled" : true,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : false,
-    "serviceAccountsEnabled" : false,
-    "publicClient" : false,
-    "frontchannelLogout" : false,
-    "attributes" : { },
-    "fullScopeAllowed" : false,
-    "nodeReRegistrationTimeout" : 0,
-    "protocolMappers" : [ {
-      "id" : "f3cffafd-897c-45b1-946b-21271bbc4265",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "778385bb-7275-4431-89b5-ad94216345d2",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "51319a83-386d-40df-a706-91f400e1aed9",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    }, {
-      "id" : "e4fe5a3e-3217-4953-8c26-17cf78de3d34",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "396d04c3-47da-4aa0-a7c5-ea88df50ed1f",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "3beafd0d-c620-417e-8b68-22d96c9604c0",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false
-  }, {
-    "id" : "8bdd2a6b-05aa-4512-bbfe-e1f0ea762107",
-    "clientId" : "security-admin-console",
-    "name" : "${client_security-admin-console}",
-    "baseUrl" : "/auth/admin/default/console/index.html",
-    "surrogateAuthRequired" : false,
-    "enabled" : true,
-    "clientAuthenticatorType" : "client-secret",
-    "secret" : "01e0b45c-0dd4-45ef-99a8-4d9d40fcbf50",
-    "redirectUris" : [ "/auth/admin/default/console/*" ],
-    "webOrigins" : [ ],
-    "notBefore" : 0,
-    "bearerOnly" : false,
-    "consentRequired" : false,
-    "standardFlowEnabled" : true,
-    "implicitFlowEnabled" : false,
-    "directAccessGrantsEnabled" : false,
-    "serviceAccountsEnabled" : false,
-    "publicClient" : true,
-    "frontchannelLogout" : false,
-    "attributes" : { },
-    "fullScopeAllowed" : false,
-    "nodeReRegistrationTimeout" : 0,
-    "protocolMappers" : [ {
-      "id" : "438a8794-0eed-4e1e-a2d9-6214d34c6b8a",
-      "name" : "email",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${email}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "email",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "email",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "8617a0a7-e20c-42ea-9291-69d10c99b95e",
-      "name" : "full name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-full-name-mapper",
-      "consentRequired" : true,
-      "consentText" : "${fullName}",
-      "config" : {
-        "id.token.claim" : "true",
-        "access.token.claim" : "true"
-      }
-    }, {
-      "id" : "1568fb0b-0340-4e7b-be46-115e950d7b41",
-      "name" : "role list",
-      "protocol" : "saml",
-      "protocolMapper" : "saml-role-list-mapper",
-      "consentRequired" : false,
-      "config" : {
-        "single" : "false",
-        "attribute.nameformat" : "Basic",
-        "attribute.name" : "Role"
-      }
-    }, {
-      "id" : "e170660c-244f-4eca-bbde-2b62fc9da922",
-      "name" : "family name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${familyName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "lastName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "family_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "40a0c295-03f0-42d9-a1a2-78c0c4aac05b",
-      "name" : "given name",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${givenName}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "firstName",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "given_name",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "a55f9a18-163c-46aa-a51e-9db11e6ebb84",
-      "name" : "username",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-property-mapper",
-      "consentRequired" : true,
-      "consentText" : "${username}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "username",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "preferred_username",
-        "jsonType.label" : "String"
-      }
-    }, {
-      "id" : "a459fa53-bc8b-443e-bc9a-919bc11cfea5",
-      "name" : "locale",
-      "protocol" : "openid-connect",
-      "protocolMapper" : "oidc-usermodel-attribute-mapper",
-      "consentRequired" : false,
-      "consentText" : "${locale}",
-      "config" : {
-        "userinfo.token.claim" : "true",
-        "user.attribute" : "locale",
-        "id.token.claim" : "true",
-        "access.token.claim" : "true",
-        "claim.name" : "locale",
-        "jsonType.label" : "String"
-      }
-    } ],
-    "useTemplateConfig" : false,
-    "useTemplateScope" : false,
-    "useTemplateMappers" : false
-  } ],
-  "clientTemplates" : [ ],
-  "browserSecurityHeaders" : {
-    "xContentTypeOptions" : "nosniff",
-    "xFrameOptions" : "SAMEORIGIN",
-    "contentSecurityPolicy" : "frame-src 'self'"
-  },
-  "smtpServer" : { },
-  "eventsEnabled" : false,
-  "eventsListeners" : [ "jboss-logging" ],
-  "enabledEventTypes" : [ ],
-  "adminEventsEnabled" : false,
-  "adminEventsDetailsEnabled" : false,
-  "components" : {
-    "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
-      "id" : "15cbcc72-a1de-46ed-b3dc-47535293f0da",
-      "name" : "Allowed Protocol Mapper Types",
-      "providerId" : "allowed-protocol-mappers",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : {
-        "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "saml-role-list-mapper", "oidc-sha256-pairwise-sub-mapper" ],
-        "consent-required-for-all-mappers" : [ "true" ]
-      }
-    }, {
-      "id" : "2e27e8d7-80f4-417e-b359-9971614cf7c8",
-      "name" : "Consent Required",
-      "providerId" : "consent-required",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : { }
-    }, {
-      "id" : "30944217-0b40-4d9c-915d-65818a53cc99",
-      "name" : "Allowed Client Templates",
-      "providerId" : "allowed-client-templates",
-      "subType" : "authenticated",
-      "subComponents" : { },
-      "config" : { }
-    }, {
-      "id" : "54fd7c81-ef7f-4329-935b-dba6b309d528",
-      "name" : "Full Scope Disabled",
-      "providerId" : "scope",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : { }
-    }, {
-      "id" : "7ce77be7-0568-4e91-a69a-8335c3c19f62",
-      "name" : "Trusted Hosts",
-      "providerId" : "trusted-hosts",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : {
-        "host-sending-registration-request-must-match" : [ "true" ],
-        "client-uris-must-match" : [ "true" ]
-      }
-    }, {
-      "id" : "92012f2d-f36a-42ec-9ccb-6a18b23bfc47",
-      "name" : "Allowed Client Templates",
-      "providerId" : "allowed-client-templates",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : { }
-    }, {
-      "id" : "ab75f593-8e0e-469a-bf4f-a6993c069b62",
-      "name" : "Allowed Protocol Mapper Types",
-      "providerId" : "allowed-protocol-mappers",
-      "subType" : "authenticated",
-      "subComponents" : { },
-      "config" : {
-        "allowed-protocol-mapper-types" : [ "saml-role-list-mapper", "oidc-usermodel-property-mapper", "saml-user-property-mapper", "oidc-address-mapper", "saml-user-attribute-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper" ],
-        "consent-required-for-all-mappers" : [ "true" ]
-      }
-    }, {
-      "id" : "e0b51b51-51bc-4bf0-8f50-4c60279ed926",
-      "name" : "Max Clients Limit",
-      "providerId" : "max-clients",
-      "subType" : "anonymous",
-      "subComponents" : { },
-      "config" : {
-        "max-clients" : [ "200" ]
-      }
-    } ],
-    "org.keycloak.keys.KeyProvider" : [ {
-      "id" : "c809b9e5-5b4d-406d-99be-5a8542a30131",
-      "name" : "hmac-generated",
-      "providerId" : "hmac-generated",
-      "subComponents" : { },
-      "config" : {
-        "kid" : [ "bdedd233-061c-4042-935b-680b91cd39b8" ],
-        "secret" : [ "Ab8Dw3Si_vOmkkGQqiFo-IPCMziYKk017UfBnEdnOow" ],
-        "priority" : [ "100" ]
-      }
-    }, {
-      "id" : "c93b4a04-cb15-45e2-b8c5-1e8dd240e818",
-      "name" : "rsa-generated",
-      "providerId" : "rsa-generated",
-      "subComponents" : { },
-      "config" : {
-        "privateKey" : [ "MIIEowIBAAKCAQEAuG14Yb94lXVhv213hNnbvLdhj03teLESoIkTS/D8OGFFmzR6bpgLNk63a5ajYt9g+C803hyV27Z2hhwZFjpDi0Csh7vikCpdBwfJuJUZd83mfy9zwufHmAcFXD1f70nfMtdis8bDmplQ+CvToI/8AEdNjR6FEzjoFG9SLo6ON/ccVL/jcMW1geLBhFm15WzFk/l4sopS3kuaEo6qN7ubb1IDvfHKnqk+ZoeZLOFXzUMSRo2r6n3VnNa421e8pxM5twh07V+GEw+otxc2d4ocmoTLNnAmUf9Nu1jb9RcVHe9E+VLwNyQiJ9yolbN2Cbius9tBlmHLvQ8QajrEiHKFxwIDAQABAoIBAQCBE7zpTMTsddcPz2GTDZcJIZ+aWIQXsHbE/KsQv30HSK0az0PRG4DdZYJiPm/jx0tq6D8sJP2NZMrXWdsE/4o+b+lQpmMPW1 [...]
-        "certificate" : [ "MIICnTCCAYUCBgFiRAjgcTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdkZWZhdWx0MB4XDTE4MDMyMDE1MjkxNVoXDTI4MDMyMDE1MzA1NVowEjEQMA4GA1UEAwwHZGVmYXVsdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALhteGG/eJV1Yb9td4TZ27y3YY9N7XixEqCJE0vw/DhhRZs0em6YCzZOt2uWo2LfYPgvNN4cldu2doYcGRY6Q4tArIe74pAqXQcHybiVGXfN5n8vc8Lnx5gHBVw9X+9J3zLXYrPGw5qZUPgr06CP/ABHTY0ehRM46BRvUi6Ojjf3HFS/43DFtYHiwYRZteVsxZP5eLKKUt5LmhKOqje7m29SA73xyp6pPmaHmSzhV81DEkaNq+p91ZzWuNtXvKcTObcIdO1fhhMPqLcXNneKHJqEyzZwJ [...]
-        "priority" : [ "100" ]
-      }
-    } ]
-  },
-  "internationalizationEnabled" : false,
-  "supportedLocales" : [ ],
-  "authenticationFlows" : [ {
-    "id" : "019bcc2f-0262-40cd-80b9-09695025956d",
-    "alias" : "Handle Existing Account",
-    "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
-    "providerId" : "basic-flow",
-    "topLevel" : false,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "idp-confirm-link",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "idp-email-verification",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "requirement" : "ALTERNATIVE",
-      "priority" : 30,
-      "flowAlias" : "Verify Existing Account by Re-authentication",
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : true
-    } ]
-  }, {
-    "id" : "acf385b1-ca2b-4915-a9a7-ebd0d50a773d",
-    "alias" : "Verify Existing Account by Re-authentication",
-    "description" : "Reauthentication of existing account",
-    "providerId" : "basic-flow",
-    "topLevel" : false,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "idp-username-password-form",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "auth-otp-form",
-      "requirement" : "OPTIONAL",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "d0edd344-70c1-4cec-8212-06e9eef11654",
-    "alias" : "browser",
-    "description" : "browser based authentication",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "auth-cookie",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "auth-spnego",
-      "requirement" : "DISABLED",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "identity-provider-redirector",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 25,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "requirement" : "ALTERNATIVE",
-      "priority" : 30,
-      "flowAlias" : "forms",
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : true
-    } ]
-  }, {
-    "id" : "942c0549-21d8-4bc5-8ce5-48e8743b44b8",
-    "alias" : "clients",
-    "description" : "Base authentication for clients",
-    "providerId" : "client-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "client-secret",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "client-jwt",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "bd526764-1c51-436d-b51e-634838675496",
-    "alias" : "direct grant",
-    "description" : "OpenID Connect Resource Owner Grant",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "direct-grant-validate-username",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "direct-grant-validate-password",
-      "requirement" : "REQUIRED",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "direct-grant-validate-otp",
-      "requirement" : "OPTIONAL",
-      "priority" : 30,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "639c578b-98a5-4a0e-91ac-eadd20e22f82",
-    "alias" : "first broker login",
-    "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticatorConfig" : "review profile config",
-      "authenticator" : "idp-review-profile",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticatorConfig" : "create unique user config",
-      "authenticator" : "idp-create-user-if-unique",
-      "requirement" : "ALTERNATIVE",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "requirement" : "ALTERNATIVE",
-      "priority" : 30,
-      "flowAlias" : "Handle Existing Account",
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : true
-    } ]
-  }, {
-    "id" : "d510b177-7e43-41c5-a0ba-524e40564eb1",
-    "alias" : "forms",
-    "description" : "Username, password, otp and other auth forms.",
-    "providerId" : "basic-flow",
-    "topLevel" : false,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "auth-username-password-form",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "auth-otp-form",
-      "requirement" : "OPTIONAL",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "b2a16db2-0538-49ce-8478-5e982e0e428e",
-    "alias" : "registration",
-    "description" : "registration flow",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "registration-page-form",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "flowAlias" : "registration form",
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : true
-    } ]
-  }, {
-    "id" : "cb43a4d3-5513-4341-91c8-f48b490d0325",
-    "alias" : "registration form",
-    "description" : "registration form",
-    "providerId" : "form-flow",
-    "topLevel" : false,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "registration-user-creation",
-      "requirement" : "REQUIRED",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "registration-profile-action",
-      "requirement" : "REQUIRED",
-      "priority" : 40,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "registration-password-action",
-      "requirement" : "REQUIRED",
-      "priority" : 50,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "registration-recaptcha-action",
-      "requirement" : "DISABLED",
-      "priority" : 60,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "230a1ca4-f347-446a-9149-48efac890537",
-    "alias" : "reset credentials",
-    "description" : "Reset credentials for a user if they forgot their password or something",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "reset-credentials-choose-user",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "reset-credential-email",
-      "requirement" : "REQUIRED",
-      "priority" : 20,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "reset-password",
-      "requirement" : "REQUIRED",
-      "priority" : 30,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    }, {
-      "authenticator" : "reset-otp",
-      "requirement" : "OPTIONAL",
-      "priority" : 40,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  }, {
-    "id" : "48904284-dd62-4b0d-8b26-a7edcef5eff0",
-    "alias" : "saml ecp",
-    "description" : "SAML ECP Profile Authentication Flow",
-    "providerId" : "basic-flow",
-    "topLevel" : true,
-    "builtIn" : true,
-    "authenticationExecutions" : [ {
-      "authenticator" : "http-basic-authenticator",
-      "requirement" : "REQUIRED",
-      "priority" : 10,
-      "userSetupAllowed" : false,
-      "autheticatorFlow" : false
-    } ]
-  } ],
-  "authenticatorConfig" : [ {
-    "id" : "e321d1b8-e71c-49ed-9a4f-bcb54d674b46",
-    "alias" : "create unique user config",
-    "config" : {
-      "require.password.update.after.registration" : "false"
-    }
-  }, {
-    "id" : "1d76feba-114d-464e-99cc-8839b3f271d7",
-    "alias" : "review profile config",
-    "config" : {
-      "update.profile.on.first.login" : "missing"
-    }
-  } ],
-  "requiredActions" : [ {
-    "alias" : "CONFIGURE_TOTP",
-    "name" : "Configure OTP",
-    "providerId" : "CONFIGURE_TOTP",
-    "enabled" : true,
-    "defaultAction" : false,
-    "config" : { }
-  }, {
-    "alias" : "UPDATE_PASSWORD",
-    "name" : "Update Password",
-    "providerId" : "UPDATE_PASSWORD",
-    "enabled" : true,
-    "defaultAction" : false,
-    "config" : { }
-  }, {
-    "alias" : "UPDATE_PROFILE",
-    "name" : "Update Profile",
-    "providerId" : "UPDATE_PROFILE",
-    "enabled" : true,
-    "defaultAction" : false,
-    "config" : { }
-  }, {
-    "alias" : "VERIFY_EMAIL",
-    "name" : "Verify Email",
-    "providerId" : "VERIFY_EMAIL",
-    "enabled" : true,
-    "defaultAction" : false,
-    "config" : { }
-  }, {
-    "alias" : "terms_and_conditions",
-    "name" : "Terms and Conditions",
-    "providerId" : "terms_and_conditions",
-    "enabled" : false,
-    "defaultAction" : false,
-    "config" : { }
-  } ],
-  "browserFlow" : "browser",
-  "registrationFlow" : "registration",
-  "directGrantFlow" : "direct grant",
-  "resetCredentialsFlow" : "reset credentials",
-  "clientAuthenticationFlow" : "clients",
-  "attributes" : {
-    "failureFactor" : "30",
-    "_browser_header.xFrameOptions" : "SAMEORIGIN",
-    "quickLoginCheckMilliSeconds" : "1000",
-    "maxDeltaTimeSeconds" : "43200",
-    "_browser_header.xContentTypeOptions" : "nosniff",
-    "bruteForceProtected" : "false",
-    "maxFailureWaitSeconds" : "900",
-    "minimumQuickLoginWaitSeconds" : "60",
-    "_browser_header.contentSecurityPolicy" : "frame-src 'self'",
-    "waitIncrementSeconds" : "60"
-  },
-  "keycloakVersion" : "2.5.4.Final"
-}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/keycloak/keycloak.conf b/modules/ide-integration/src/main/containers/keycloak/keycloak.conf
index 7a1dff512d..93ecbb9206 100644
--- a/modules/ide-integration/src/main/containers/keycloak/keycloak.conf
+++ b/modules/ide-integration/src/main/containers/keycloak/keycloak.conf
@@ -1,37 +1,20 @@
-admin-user=admin
-admin-password=admin
-log-level=INFO
-log-console-output=json
-
-db=dev-file
-db-username=sa
-db-password=sa
-
-
-cache=local
-theme-static-max-age=2592000
-theme-cache-themes=true
-theme-cache-templates=true
-theme-dir=/opt/keycloak/themes
+# Keycloak Configuration File
+db=dev-mem
 
-hostname=0.0.0.0
+# HTTP/HTTPS settings
+http-enabled=true
 http-port=8080
 https-port=8443
+https-key-store-file=${kc.home.dir}/conf/keystores/airavata.jks
+https-key-store-password=airavata
+
+# Hostname configuration
 hostname-strict=false
 hostname-strict-https=false
 
-proxy=edge
-
-features=admin-api,admin-fine-grained-authz,token-exchange
+# Health and metrics
+health-enabled=true
+metrics-enabled=true
 
-transaction-xa-enabled=false
-
-migration-strategy=update
-
-spi-user-cache-provider=default
-spi-realm-cache-provider=default
-
-https-key-store-file=/opt/keycloak/conf/airavata.jks
-https-key-store-password=airavata
-
-quarkus.hibernate-orm.persistence-xml.ignore=true
\ No newline at end of file
+# Logging
+log-level=INFO
diff --git a/modules/ide-integration/src/main/containers/keycloak/realm-default.json b/modules/ide-integration/src/main/containers/keycloak/realm-default.json
new file mode 100644
index 0000000000..3741b867a4
--- /dev/null
+++ b/modules/ide-integration/src/main/containers/keycloak/realm-default.json
@@ -0,0 +1,2649 @@
+{
+  "id" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+  "realm" : "default",
+  "displayName" : "",
+  "displayNameHtml" : "",
+  "notBefore" : 0,
+  "defaultSignatureAlgorithm" : "RS256",
+  "revokeRefreshToken" : false,
+  "refreshTokenMaxReuse" : 0,
+  "accessTokenLifespan" : 7200,
+  "accessTokenLifespanForImplicitFlow" : 3600,
+  "ssoSessionIdleTimeout" : 604800,
+  "ssoSessionMaxLifespan" : 604800,
+  "ssoSessionIdleTimeoutRememberMe" : 0,
+  "ssoSessionMaxLifespanRememberMe" : 0,
+  "offlineSessionIdleTimeout" : 2592000,
+  "offlineSessionMaxLifespanEnabled" : false,
+  "offlineSessionMaxLifespan" : 5184000,
+  "clientSessionIdleTimeout" : 0,
+  "clientSessionMaxLifespan" : 0,
+  "clientOfflineSessionIdleTimeout" : 0,
+  "clientOfflineSessionMaxLifespan" : 0,
+  "accessCodeLifespan" : 60,
+  "accessCodeLifespanUserAction" : 300,
+  "accessCodeLifespanLogin" : 1800,
+  "actionTokenGeneratedByAdminLifespan" : 43200,
+  "actionTokenGeneratedByUserLifespan" : 300,
+  "oauth2DeviceCodeLifespan" : 600,
+  "oauth2DevicePollingInterval" : 5,
+  "enabled" : true,
+  "sslRequired" : "external",
+  "registrationAllowed" : false,
+  "registrationEmailAsUsername" : false,
+  "rememberMe" : false,
+  "verifyEmail" : false,
+  "loginWithEmailAllowed" : true,
+  "duplicateEmailsAllowed" : false,
+  "resetPasswordAllowed" : false,
+  "editUsernameAllowed" : false,
+  "bruteForceProtected" : false,
+  "permanentLockout" : false,
+  "maxTemporaryLockouts" : 0,
+  "maxFailureWaitSeconds" : 900,
+  "minimumQuickLoginWaitSeconds" : 60,
+  "waitIncrementSeconds" : 60,
+  "quickLoginCheckMilliSeconds" : 1000,
+  "maxDeltaTimeSeconds" : 43200,
+  "failureFactor" : 30,
+  "roles" : {
+    "realm" : [ {
+      "id" : "4cd8497d-db71-41dd-9186-f7df0c22d446",
+      "name" : "gateway-provider",
+      "description" : "",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "b585e111-f934-43b7-b9c2-cbad0c7dc08a",
+      "name" : "default-roles-10000000",
+      "description" : "${role_default-roles}",
+      "composite" : true,
+      "composites" : {
+        "realm" : [ "offline_access", "uma_authorization" ],
+        "client" : {
+          "account" : [ "view-profile", "manage-account" ]
+        }
+      },
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "420f07dc-c07c-4ea8-bf56-f6adf3f2bbc7",
+      "name" : "uma_authorization",
+      "description" : "${role_uma_authorization}",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "61fafc5e-96fc-4644-98a9-94f9baf654e6",
+      "name" : "admin",
+      "description" : "",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "1f03206b-d918-491b-a33f-ee96147b310d",
+      "name" : "admin-read-only",
+      "description" : "",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "3f7e69dc-75d4-4388-8a34-e82d32071dc9",
+      "name" : "offline_access",
+      "description" : "${role_offline-access}",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "ebb21957-06c9-4350-9157-576b10cc8761",
+      "name" : "user-pending",
+      "description" : "",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    }, {
+      "id" : "a2acdfe6-eb2a-4104-bb6a-be961e380d97",
+      "name" : "gateway-user",
+      "description" : "",
+      "composite" : false,
+      "clientRole" : false,
+      "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7",
+      "attributes" : { }
+    } ],
+    "client" : {
+      "realm-management" : [ {
+        "id" : "d14d392e-59cf-49fd-8ba9-507ffaa329cc",
+        "name" : "manage-identity-providers",
+        "description" : "${role_manage-identity-providers}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "66a7f387-fd45-4b01-9457-12692a2d5180",
+        "name" : "realm-admin",
+        "description" : "${role_realm-admin}",
+        "composite" : true,
+        "composites" : {
+          "client" : {
+            "realm-management" : [ "manage-identity-providers", "create-client", "manage-authorization", "impersonation", "view-identity-providers", "manage-clients", "manage-users", "query-realms", "query-clients", "query-users", "view-clients", "manage-realm", "view-users", "view-authorization", "view-realm", "query-groups", "manage-events", "view-events" ]
+          }
+        },
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "d5d0c66d-b530-4fa4-af75-bf3b556873b0",
+        "name" : "create-client",
+        "description" : "${role_create-client}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "370cf6dc-2013-4a9b-a726-227edf3b6e04",
+        "name" : "impersonation",
+        "description" : "${role_impersonation}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "2fea86aa-2a95-429f-83c2-c2a9594ce050",
+        "name" : "manage-authorization",
+        "description" : "${role_manage-authorization}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "febffa99-60f8-4933-97c5-fe73d082802c",
+        "name" : "view-identity-providers",
+        "description" : "${role_view-identity-providers}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "658c0ab4-ded5-410a-ad62-f3c4a6a99ff4",
+        "name" : "manage-clients",
+        "description" : "${role_manage-clients}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "1cf0e329-8b88-4e64-95bb-e1a9e3ed2d28",
+        "name" : "manage-users",
+        "description" : "${role_manage-users}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "9ea990ff-0ece-463e-9792-c274aa005b3a",
+        "name" : "query-realms",
+        "description" : "${role_query-realms}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "6c20b3e8-97c4-4028-85c3-33531c8b8ed3",
+        "name" : "query-clients",
+        "description" : "${role_query-clients}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "c6aa40d9-b892-41e3-b59f-8dc332db8724",
+        "name" : "query-users",
+        "description" : "${role_query-users}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "24a3d19f-0d0a-4e33-b913-3166b675f5f6",
+        "name" : "view-clients",
+        "description" : "${role_view-clients}",
+        "composite" : true,
+        "composites" : {
+          "client" : {
+            "realm-management" : [ "query-clients" ]
+          }
+        },
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "65a3c9f0-9d28-43d8-bb95-d34eaf643493",
+        "name" : "manage-realm",
+        "description" : "${role_manage-realm}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "2fc992a6-c78e-4b64-9b44-b7241c993e05",
+        "name" : "view-users",
+        "description" : "${role_view-users}",
+        "composite" : true,
+        "composites" : {
+          "client" : {
+            "realm-management" : [ "query-users", "query-groups" ]
+          }
+        },
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "e0fd87a5-f6fd-4415-b38f-b767ee595812",
+        "name" : "view-authorization",
+        "description" : "${role_view-authorization}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "3ce7f726-99cc-4738-91d0-0d2d5559e013",
+        "name" : "view-realm",
+        "description" : "${role_view-realm}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "43cb7af1-22b5-49f2-a98a-2ac0b8ad887f",
+        "name" : "query-groups",
+        "description" : "${role_query-groups}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "03528436-9a19-41c6-bb7b-29a504fe7fa8",
+        "name" : "manage-events",
+        "description" : "${role_manage-events}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      }, {
+        "id" : "8586e2c7-b3a5-4f64-beb6-5f61617f661e",
+        "name" : "view-events",
+        "description" : "${role_view-events}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+        "attributes" : { }
+      } ],
+      "cybershuttle-agent" : [ ],
+      "cs-jupyterlab" : [ {
+        "id" : "bc3da200-4725-43cc-abdc-efee7c26a748",
+        "name" : "uma_protection",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "ac2469cf-1760-4d47-9079-7306fee96ae4",
+        "attributes" : { }
+      } ],
+      "security-admin-console" : [ ],
+      "admin-cli" : [ ],
+      "account-console" : [ ],
+      "pga" : [ {
+        "id" : "d8d76309-d081-4159-b2cd-d9ca93eb7d02",
+        "name" : "uma_protection",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      }, {
+        "id" : "f8051cd8-10cb-44e6-8826-d323daa236d1",
+        "name" : "gateway-provider",
+        "description" : "",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      }, {
+        "id" : "fb2c5f47-09e2-4f4b-b858-625f3c5442cd",
+        "name" : "user-pending",
+        "description" : "",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      }, {
+        "id" : "c7d75283-b7c3-4b93-8804-9ce55bccf74c",
+        "name" : "admin",
+        "description" : "",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      }, {
+        "id" : "da796582-cbf2-4b23-a31d-5fc9b4010bb0",
+        "name" : "admin-read-only",
+        "description" : "",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      }, {
+        "id" : "42660438-3a37-466f-b748-d25a25ff9082",
+        "name" : "gateway-user",
+        "description" : "",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+        "attributes" : { }
+      } ],
+      "broker" : [ {
+        "id" : "dd71ed3a-bb48-41b6-9dae-e81170c4c445",
+        "name" : "read-token",
+        "description" : "${role_read-token}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "af99dd7f-6d3a-4fec-93c0-8deab50edf0e",
+        "attributes" : { }
+      } ],
+      "account" : [ {
+        "id" : "3fa60a39-7c55-434e-b602-3789dd70ec15",
+        "name" : "view-applications",
+        "description" : "${role_view-applications}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "2f3dc94f-9347-49cf-914e-dc3615e550e1",
+        "name" : "view-profile",
+        "description" : "${role_view-profile}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "501821b9-9fd0-42df-b89d-28375acfcbaa",
+        "name" : "manage-account-links",
+        "description" : "${role_manage-account-links}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "c9752755-7d07-40b7-bf61-da14c3d524f2",
+        "name" : "view-groups",
+        "description" : "${role_view-groups}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "de86f028-34c5-422e-a8a0-0508bd5071ed",
+        "name" : "view-consent",
+        "description" : "${role_view-consent}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "c5b77ca2-7619-4ad9-994d-0bd6ba8e8747",
+        "name" : "manage-account",
+        "description" : "${role_manage-account}",
+        "composite" : true,
+        "composites" : {
+          "client" : {
+            "account" : [ "manage-account-links" ]
+          }
+        },
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "fd21c288-87c3-414c-9152-ea3f5a23b2ca",
+        "name" : "manage-consent",
+        "description" : "${role_manage-consent}",
+        "composite" : true,
+        "composites" : {
+          "client" : {
+            "account" : [ "view-consent" ]
+          }
+        },
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      }, {
+        "id" : "ea81e9c3-3f7b-4cda-901b-4bbe6a30e5e7",
+        "name" : "delete-account",
+        "description" : "${role_delete-account}",
+        "composite" : false,
+        "clientRole" : true,
+        "containerId" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+        "attributes" : { }
+      } ]
+    }
+  },
+  "groups" : [ ],
+  "defaultRole" : {
+    "id" : "b585e111-f934-43b7-b9c2-cbad0c7dc08a",
+    "name" : "default-roles-10000000",
+    "description" : "${role_default-roles}",
+    "composite" : true,
+    "clientRole" : false,
+    "containerId" : "afc8036c-62c3-462e-ae10-e1727c4bd8f7"
+  },
+  "requiredCredentials" : [ "password" ],
+  "otpPolicyType" : "totp",
+  "otpPolicyAlgorithm" : "HmacSHA1",
+  "otpPolicyInitialCounter" : 0,
+  "otpPolicyDigits" : 6,
+  "otpPolicyLookAheadWindow" : 1,
+  "otpPolicyPeriod" : 30,
+  "otpPolicyCodeReusable" : false,
+  "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ],
+  "localizationTexts" : { },
+  "webAuthnPolicyRpEntityName" : "keycloak",
+  "webAuthnPolicySignatureAlgorithms" : [ "ES256" ],
+  "webAuthnPolicyRpId" : "",
+  "webAuthnPolicyAttestationConveyancePreference" : "not specified",
+  "webAuthnPolicyAuthenticatorAttachment" : "not specified",
+  "webAuthnPolicyRequireResidentKey" : "not specified",
+  "webAuthnPolicyUserVerificationRequirement" : "not specified",
+  "webAuthnPolicyCreateTimeout" : 0,
+  "webAuthnPolicyAvoidSameAuthenticatorRegister" : false,
+  "webAuthnPolicyAcceptableAaguids" : [ ],
+  "webAuthnPolicyExtraOrigins" : [ ],
+  "webAuthnPolicyPasswordlessRpEntityName" : "keycloak",
+  "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ],
+  "webAuthnPolicyPasswordlessRpId" : "",
+  "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified",
+  "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified",
+  "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified",
+  "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified",
+  "webAuthnPolicyPasswordlessCreateTimeout" : 0,
+  "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false,
+  "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ],
+  "webAuthnPolicyPasswordlessExtraOrigins" : [ ],
+  "users" : [ {
+    "id" : "33865abf-b336-4f77-b370-c2aaadcefaa8",
+    "username" : "default-admin",
+    "firstName" : "admin",
+    "lastName" : "admin",
+    "email" : "default-admin@default",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741788577569,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ {
+      "id" : "21ba2cc3-1794-4f87-8df4-a7350cc570ca",
+      "type" : "password",
+      "userLabel" : "My password",
+      "createdDate" : 1741788838245,
+      "secretData" : "{\"value\":\"qQ+RHT09vJb1Mv4snElCbOh67CM7cO8r2oFX5UtZunk33EG/uplFAOTIeklRMU5HydfeL1u8gisa9ui+8e2A2g==\",\"salt\":\"tbme6ZolnVOjWqLtWTmzSA==\",\"additionalParameters\":{}}",
+      "credentialData" : "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}"
+    } ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "9a3569d7-7cd6-43d2-89ab-48c3040b8a07",
+    "username" : "dimuthuw@gatech.edu",
+    "firstName" : "Dimuthu",
+    "lastName" : "Wannipurage",
+    "email" : "dimuthuw@gatech.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741869545145,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/194529",
+      "userName" : "dimuthuw@gatech.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "23ea1ee4-22f8-4804-858b-ad9b69f866a3",
+    "username" : "dwannipu@iu.edu",
+    "firstName" : "Dimuthu",
+    "lastName" : "Wannipurage",
+    "email" : "dwannipu@iu.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741871229151,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverA/users/287161",
+      "userName" : "dwannipu@iu.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "3e7d3897-5dbc-486f-b5c6-00135e8fb0a5",
+    "username" : "eroma.abey@gmail.com",
+    "firstName" : "Eroma",
+    "lastName" : "Abey",
+    "email" : "eroma.abey@gmail.com",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741789737864,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/8674",
+      "userName" : "eroma.abey@gmail.com"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "b36672e8-ccb2-40ed-8522-9eec5a2d8662",
+    "username" : "eroma@gatech.edu",
+    "firstName" : "Eroma",
+    "lastName" : "Abeysinghe",
+    "email" : "eroma@gatech.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741787443518,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverF/users/141980",
+      "userName" : "eroma@gatech.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "ac7b156b-564c-4b44-80b4-409114e88510",
+    "username" : "ganning.xu@gatech.edu",
+    "firstName" : "Ganning",
+    "lastName" : "Xu",
+    "email" : "ganning.xu@gatech.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741888661947,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/152691",
+      "userName" : "ganning.xu@gatech.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "455c7d22-6cd2-4b9b-ac91-949307380a5c",
+    "username" : "isralewi@illinois.edu",
+    "firstName" : "Barry",
+    "lastName" : "Isralewitz",
+    "email" : "isralewi@illinois.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741737143337,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverA/users/72206",
+      "userName" : "isralewi@illinois.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "7d66792c-2027-428b-bede-2efb7046d0ae",
+    "username" : "lahiruj.jayathilake@gmail.com",
+    "firstName" : "Lahiru",
+    "lastName" : "Jayathilake",
+    "email" : "lahiruj.jayathilake@gmail.com",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741788322225,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/59623",
+      "userName" : "lahiruj.jayathilake@gmail.com"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "12ae3225-636e-4545-952b-115b22596c98",
+    "username" : "ljayathilake3@gatech.edu",
+    "firstName" : "Lahiru",
+    "lastName" : "Jayathilake",
+    "email" : "ljayathilake3@gatech.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741725237000,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/173020",
+      "userName" : "ljayathilake3@gatech.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "clientConsents" : [ {
+      "clientId" : "cybershuttle-agent",
+      "grantedClientScopes" : [ "roles", "email", "profile" ],
+      "createdDate" : 1741726104600,
+      "lastUpdatedDate" : 1741726104611
+    } ],
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "dfe38185-9db7-4820-97c3-d0712ff35159",
+    "username" : "pamidigs@iu.edu",
+    "firstName" : "Sudhakar",
+    "lastName" : "Pamidighantam",
+    "email" : "pamidigs@iu.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741728655391,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverA/users/20201",
+      "userName" : "pamidigs@iu.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "clientConsents" : [ {
+      "clientId" : "cybershuttle-agent",
+      "grantedClientScopes" : [ "roles", "email", "profile" ],
+      "createdDate" : 1741729390542,
+      "lastUpdatedDate" : 1741729390548
+    } ],
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "e3fb714e-9ed6-4d26-a403-781e71bbb025",
+    "username" : "service-account-cs-jupyterlab",
+    "emailVerified" : false,
+    "createdTimestamp" : 1733075288051,
+    "enabled" : true,
+    "totp" : false,
+    "serviceAccountClientId" : "cs-jupyterlab",
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "cs-jupyterlab" : [ "uma_protection" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "e9d5a7b9-c093-4916-a331-12fbc9101c70",
+    "username" : "service-account-pga",
+    "emailVerified" : false,
+    "createdTimestamp" : 1726317784923,
+    "enabled" : true,
+    "totp" : false,
+    "serviceAccountClientId" : "pga",
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "realm-management" : [ "manage-users" ],
+      "pga" : [ "uma_protection" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "e68c29c2-7f0f-471c-a3e1-dfe1033a8889",
+    "username" : "smarru@gatech.edu",
+    "firstName" : "Suresh",
+    "lastName" : "Marru",
+    "email" : "smarru@gatech.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741871207623,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverE/users/121218",
+      "userName" : "smarru@gatech.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  }, {
+    "id" : "433fd8f3-db52-4bb5-8d7d-2d1b74dea467",
+    "username" : "tenbarge@princeton.edu",
+    "firstName" : "Jason",
+    "lastName" : "TenBarge",
+    "email" : "tenbarge@princeton.edu",
+    "emailVerified" : true,
+    "createdTimestamp" : 1741791838996,
+    "enabled" : true,
+    "totp" : false,
+    "credentials" : [ ],
+    "disableableCredentialTypes" : [ ],
+    "requiredActions" : [ ],
+    "federatedIdentities" : [ {
+      "identityProvider" : "oidc",
+      "userId" : "http://cilogon.org/serverA/users/6168781",
+      "userName" : "tenbarge@princeton.edu"
+    } ],
+    "realmRoles" : [ "default-roles-10000000" ],
+    "clientRoles" : {
+      "broker" : [ "read-token" ]
+    },
+    "notBefore" : 0,
+    "groups" : [ ]
+  } ],
+  "scopeMappings" : [ {
+    "clientScope" : "offline_access",
+    "roles" : [ "offline_access" ]
+  } ],
+  "clientScopeMappings" : {
+    "account" : [ {
+      "client" : "account-console",
+      "roles" : [ "manage-account", "view-groups" ]
+    } ]
+  },
+  "clients" : [ {
+    "id" : "c1602103-6c60-4e27-a7ed-c2c21d7801f2",
+    "clientId" : "account",
+    "name" : "${client_account}",
+    "rootUrl" : "${authBaseUrl}",
+    "baseUrl" : "/realms/default/account/",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ "/realms/default/account/*" ],
+    "webOrigins" : [ ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : true,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "def3d25e-919c-4b1b-b3fd-0a976a33e4b6",
+    "clientId" : "account-console",
+    "name" : "${client_account-console}",
+    "rootUrl" : "${authBaseUrl}",
+    "baseUrl" : "/realms/default/account/",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ "/realms/default/account/*" ],
+    "webOrigins" : [ ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : true,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+",
+      "pkce.code.challenge.method" : "S256"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "protocolMappers" : [ {
+      "id" : "a2d8962f-2ac2-4fa5-b42e-f37990a4d098",
+      "name" : "audience resolve",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-audience-resolve-mapper",
+      "consentRequired" : false,
+      "config" : { }
+    } ],
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "4a5fd0fd-6842-4528-8fea-ca0727dce936",
+    "clientId" : "admin-cli",
+    "name" : "${client_admin-cli}",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ ],
+    "webOrigins" : [ ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : false,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : true,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : true,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "af99dd7f-6d3a-4fec-93c0-8deab50edf0e",
+    "clientId" : "broker",
+    "name" : "${client_broker}",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ ],
+    "webOrigins" : [ ],
+    "notBefore" : 0,
+    "bearerOnly" : true,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : false,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "ac2469cf-1760-4d47-9079-7306fee96ae4",
+    "clientId" : "cs-jupyterlab",
+    "name" : "JupyterLab",
+    "description" : "",
+    "rootUrl" : "",
+    "adminUrl" : "",
+    "baseUrl" : "http://localhost:8080/",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "secret" : "DxeMtfiWU1qkDEmaGHf13RDahCujzhy1",
+    "redirectUris" : [ "", "/*", "https://hub.cybershuttle.org/hub/oauth_callback" ],
+    "webOrigins" : [ "/*" ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : true,
+    "serviceAccountsEnabled" : true,
+    "authorizationServicesEnabled" : true,
+    "publicClient" : false,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "client.secret.creation.time" : "1741725835",
+      "post.logout.redirect.uris" : "+",
+      "oauth2.device.authorization.grant.enabled" : "false",
+      "backchannel.logout.revoke.offline.tokens" : "false",
+      "use.refresh.tokens" : "true",
+      "oidc.ciba.grant.enabled" : "false",
+      "client.use.lightweight.access.token.enabled" : "false",
+      "backchannel.logout.session.required" : "true",
+      "client_credentials.use_refresh_token" : "false",
+      "acr.loa.map" : "{}",
+      "require.pushed.authorization.requests" : "false",
+      "tls.client.certificate.bound.access.tokens" : "false",
+      "display.on.consent.screen" : "false",
+      "token.response.type.bearer.lower-case" : "false"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : true,
+    "nodeReRegistrationTimeout" : -1,
+    "protocolMappers" : [ {
+      "id" : "8674e3d9-f43c-4f89-a290-2666ed0567c1",
+      "name" : "Client IP Address",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "clientAddress",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "clientAddress",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "b0fdec17-a04b-48c7-870b-ba71c0bb6680",
+      "name" : "Client ID",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "client_id",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "client_id",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "f8031842-1fd7-41ac-b5e8-b22330cdcdda",
+      "name" : "Client Host",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "clientHost",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "clientHost",
+        "jsonType.label" : "String"
+      }
+    } ],
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "preferred_username", "microprofile-jwt" ],
+    "authorizationSettings" : {
+      "allowRemoteResourceManagement" : true,
+      "policyEnforcementMode" : "ENFORCING",
+      "resources" : [ ],
+      "policies" : [ ],
+      "scopes" : [ ],
+      "decisionStrategy" : "UNANIMOUS"
+    }
+  }, {
+    "id" : "f4c30fed-2f14-471d-a922-b5ad262273f2",
+    "clientId" : "cybershuttle-agent",
+    "name" : "CyberShuttle Agent",
+    "description" : "",
+    "rootUrl" : "",
+    "adminUrl" : "",
+    "baseUrl" : "https://cybershuttle.org/",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ "/*" ],
+    "webOrigins" : [ "/*" ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : false,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : true,
+    "frontchannelLogout" : true,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+",
+      "oauth2.device.authorization.grant.enabled" : "true",
+      "backchannel.logout.revoke.offline.tokens" : "false",
+      "use.refresh.tokens" : "true",
+      "oidc.ciba.grant.enabled" : "false",
+      "client.use.lightweight.access.token.enabled" : "false",
+      "backchannel.logout.session.required" : "true",
+      "client_credentials.use_refresh_token" : "false",
+      "acr.loa.map" : "{}",
+      "require.pushed.authorization.requests" : "false",
+      "tls.client.certificate.bound.access.tokens" : "false",
+      "display.on.consent.screen" : "false",
+      "token.response.type.bearer.lower-case" : "false"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : true,
+    "nodeReRegistrationTimeout" : -1,
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "5e2398e0-3498-4da3-9262-4f2dcc7448fa",
+    "clientId" : "pga",
+    "name" : "Cybeshuttle Client",
+    "description" : "Client For Cybershuttle Services",
+    "rootUrl" : "",
+    "adminUrl" : "",
+    "baseUrl" : "",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "secret" : "m36BXQIxX3j3VILadeHMK5IvbOeRlCCc",
+    "redirectUris" : [ "https://cybershuttle.org/callback-url", "http://localhost/callback-url", "http://airavata.host:8008/callback-url", "https://cybershuttle.org/", "https://cybershuttle.org/auth/callback*" ],
+    "webOrigins" : [ "https://cybershuttle.org", "*" ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : true,
+    "serviceAccountsEnabled" : true,
+    "authorizationServicesEnabled" : true,
+    "publicClient" : false,
+    "frontchannelLogout" : true,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "oidc.ciba.grant.enabled" : "false",
+      "client.secret.creation.time" : "1741724922",
+      "backchannel.logout.session.required" : "true",
+      "frontchannel.logout.url" : "https://cybershuttle.org/",
+      "post.logout.redirect.uris" : "+##https://cybershuttle.org/",
+      "display.on.consent.screen" : "false",
+      "oauth2.device.authorization.grant.enabled" : "true",
+      "backchannel.logout.revoke.offline.tokens" : "false"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : true,
+    "nodeReRegistrationTimeout" : -1,
+    "protocolMappers" : [ {
+      "id" : "f15a7de0-0c1e-40d8-bd05-c1aaf0deb3e1",
+      "name" : "Client IP Address",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "clientAddress",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "clientAddress",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "a0956d0b-e5c4-4d9a-aebf-89efa6881438",
+      "name" : "Client ID",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "client_id",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "client_id",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "6863299e-7d4f-43f4-8d0e-fc8cd4a8ceac",
+      "name" : "Client Host",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "clientHost",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "clientHost",
+        "jsonType.label" : "String"
+      }
+    } ],
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "preferred_username", "microprofile-jwt" ],
+    "authorizationSettings" : {
+      "allowRemoteResourceManagement" : true,
+      "policyEnforcementMode" : "ENFORCING",
+      "resources" : [ ],
+      "policies" : [ ],
+      "scopes" : [ ],
+      "decisionStrategy" : "UNANIMOUS"
+    }
+  }, {
+    "id" : "be9976ab-8e62-4d5a-8176-b6efaba2e1bf",
+    "clientId" : "realm-management",
+    "name" : "${client_realm-management}",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ ],
+    "webOrigins" : [ ],
+    "notBefore" : 0,
+    "bearerOnly" : true,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : false,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  }, {
+    "id" : "cedda658-7913-4763-89b8-71d1d1794c1c",
+    "clientId" : "security-admin-console",
+    "name" : "${client_security-admin-console}",
+    "rootUrl" : "${authAdminUrl}",
+    "baseUrl" : "/admin/default/console/",
+    "surrogateAuthRequired" : false,
+    "enabled" : true,
+    "alwaysDisplayInConsole" : false,
+    "clientAuthenticatorType" : "client-secret",
+    "redirectUris" : [ "/admin/default/console/*" ],
+    "webOrigins" : [ "+" ],
+    "notBefore" : 0,
+    "bearerOnly" : false,
+    "consentRequired" : false,
+    "standardFlowEnabled" : true,
+    "implicitFlowEnabled" : false,
+    "directAccessGrantsEnabled" : false,
+    "serviceAccountsEnabled" : false,
+    "publicClient" : true,
+    "frontchannelLogout" : false,
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "post.logout.redirect.uris" : "+",
+      "pkce.code.challenge.method" : "S256"
+    },
+    "authenticationFlowBindingOverrides" : { },
+    "fullScopeAllowed" : false,
+    "nodeReRegistrationTimeout" : 0,
+    "protocolMappers" : [ {
+      "id" : "f8a3200c-fed5-4d3e-9fc7-80c23c458056",
+      "name" : "locale",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "locale",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "locale",
+        "jsonType.label" : "String"
+      }
+    } ],
+    "defaultClientScopes" : [ "web-origins", "acr", "roles", "profile", "email" ],
+    "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ]
+  } ],
+  "clientScopes" : [ {
+    "id" : "a8292b23-f927-4a5c-a432-2f0ae8867105",
+    "name" : "roles",
+    "description" : "OpenID Connect scope for add user roles to the access token",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "false",
+      "display.on.consent.screen" : "false",
+      "gui.order" : "",
+      "consent.screen.text" : "${rolesScopeConsentText}"
+    },
+    "protocolMappers" : [ {
+      "id" : "bfd13362-6c5d-405c-b7c0-bd37063ca9f9",
+      "name" : "client roles",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-client-role-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "multivalued" : "true",
+        "user.attribute" : "foo",
+        "access.token.claim" : "true",
+        "claim.name" : "resource_access.${client_id}.roles",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "be26563f-80a7-43d7-bf9f-d71205ec53be",
+      "name" : "audience resolve",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-audience-resolve-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "access.token.claim" : "true",
+        "introspection.token.claim" : "true"
+      }
+    }, {
+      "id" : "9565b5e4-dfbb-43bc-aa8d-3e845c188669",
+      "name" : "realm roles",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "multivalued" : "true",
+        "user.attribute" : "foo",
+        "access.token.claim" : "true",
+        "claim.name" : "realm_access.roles",
+        "jsonType.label" : "String"
+      }
+    } ]
+  }, {
+    "id" : "34779656-fdf3-41c5-a963-d1e2b533b8f0",
+    "name" : "phone",
+    "description" : "OpenID Connect built-in scope: phone",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "true",
+      "consent.screen.text" : "${phoneScopeConsentText}"
+    },
+    "protocolMappers" : [ {
+      "id" : "6d5c53bd-a91a-4066-baba-52de991b5d53",
+      "name" : "phone number",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "phoneNumber",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "phone_number",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "a4f0d91a-e59e-4794-b71c-726413ba5be8",
+      "name" : "phone number verified",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "phoneNumberVerified",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "phone_number_verified",
+        "jsonType.label" : "boolean"
+      }
+    } ]
+  }, {
+    "id" : "8240c399-c132-49a0-8e41-48266e89b2ce",
+    "name" : "address",
+    "description" : "OpenID Connect built-in scope: address",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "true",
+      "consent.screen.text" : "${addressScopeConsentText}"
+    },
+    "protocolMappers" : [ {
+      "id" : "cbd43ec1-4467-4148-a435-081cd1c0d161",
+      "name" : "address",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-address-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.attribute.formatted" : "formatted",
+        "user.attribute.country" : "country",
+        "introspection.token.claim" : "true",
+        "user.attribute.postal_code" : "postal_code",
+        "userinfo.token.claim" : "true",
+        "user.attribute.street" : "street",
+        "id.token.claim" : "true",
+        "user.attribute.region" : "region",
+        "access.token.claim" : "true",
+        "user.attribute.locality" : "locality"
+      }
+    } ]
+  }, {
+    "id" : "7d17e91f-6691-4f1d-9f6c-7a6a7ae0b5ae",
+    "name" : "email",
+    "description" : "OpenID Connect built-in scope: email",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "false",
+      "gui.order" : "",
+      "consent.screen.text" : "${emailScopeConsentText}"
+    },
+    "protocolMappers" : [ {
+      "id" : "c0d4e90d-2c57-4ed5-9e82-01a6d1d16cf0",
+      "name" : "email",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "email",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "email",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "c7e78134-c7dd-45a9-a921-cc5dbdc9fc68",
+      "name" : "email verified",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-property-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "emailVerified",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "email_verified",
+        "jsonType.label" : "boolean"
+      }
+    } ]
+  }, {
+    "id" : "c0509e2e-01ae-49d6-8d24-0e86628a85aa",
+    "name" : "preferred_username",
+    "description" : "preferred_username",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "true",
+      "gui.order" : "",
+      "consent.screen.text" : ""
+    },
+    "protocolMappers" : [ {
+      "id" : "e56aa26c-4614-43bb-a96b-56c1ad959e45",
+      "name" : "email",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-property-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "email",
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "claim.name" : "email",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "b50ae18b-52e8-44f6-ad4d-ad596de89cfd",
+      "name" : "username",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-property-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "username",
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "claim.name" : "preferred_username",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "0a93294b-2a7c-4098-af47-4faaa535c8d4",
+      "name" : "ClientId",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usersessionmodel-note-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "user.session.note" : "clientId",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "claim.name" : "clientId",
+        "jsonType.label" : "String",
+        "access.tokenResponse.claim" : "false"
+      }
+    }, {
+      "id" : "37b8b958-2396-4e2c-871c-f56f6ad393aa",
+      "name" : "family name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-property-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "lastName",
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "claim.name" : "family_name",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "d779bc1f-5c49-46c6-ae84-1d9e419984ba",
+      "name" : "given name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-property-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "firstName",
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "claim.name" : "given_name",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "75c6a588-0993-446e-90e0-52046505959e",
+      "name" : "full name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-full-name-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "id.token.claim" : "true",
+        "lightweight.claim" : "false",
+        "access.token.claim" : "true",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "false"
+      }
+    } ]
+  }, {
+    "id" : "33b54357-7cdd-494c-9806-6e6d59f6af69",
+    "name" : "role_list",
+    "description" : "SAML role list",
+    "protocol" : "saml",
+    "attributes" : {
+      "consent.screen.text" : "${samlRoleListScopeConsentText}",
+      "display.on.consent.screen" : "true"
+    },
+    "protocolMappers" : [ {
+      "id" : "c56cb073-719d-4f74-8a23-b2105804ee80",
+      "name" : "role list",
+      "protocol" : "saml",
+      "protocolMapper" : "saml-role-list-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "single" : "false",
+        "attribute.nameformat" : "Basic",
+        "attribute.name" : "Role"
+      }
+    } ]
+  }, {
+    "id" : "658e931d-3b55-464e-b199-48e9b43f9c3f",
+    "name" : "profile",
+    "description" : "OpenID Connect built-in scope: profile",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "false",
+      "gui.order" : "",
+      "consent.screen.text" : "${profileScopeConsentText}"
+    },
+    "protocolMappers" : [ {
+      "id" : "a352424d-d48b-4e7e-9394-c769f9542605",
+      "name" : "website",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "website",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "website",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "3710a2dd-969f-4562-89af-55e31e30f565",
+      "name" : "middle name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "middleName",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "middle_name",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "862fa550-a9df-40e5-8fa3-473c45de5e59",
+      "name" : "zoneinfo",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "zoneinfo",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "zoneinfo",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "0ae8854b-1589-401c-b0e0-24e423d8e723",
+      "name" : "given name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "firstName",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "given_name",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "a72f9f11-04bb-4905-81fe-7b23b7446e20",
+      "name" : "gender",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "gender",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "gender",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "eaded814-dc28-450e-95ca-fbd2712e6a40",
+      "name" : "profile",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "profile",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "profile",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "652dd31b-d4d8-49e9-8f53-125404b2a1f1",
+      "name" : "locale",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "locale",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "locale",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "b20740b4-9fea-4035-b3af-cf0a40852b2f",
+      "name" : "birthdate",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "birthdate",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "birthdate",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "7d36aacc-aa67-4ccb-98b0-b02a111c7dea",
+      "name" : "username",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "username",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "preferred_username",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "4ed1750d-d48a-4005-8398-2c34f0c6548e",
+      "name" : "full name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-full-name-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true"
+      }
+    }, {
+      "id" : "4b111e20-11ee-4429-be4d-93414b08e506",
+      "name" : "updated at",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "updatedAt",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "updated_at",
+        "jsonType.label" : "long"
+      }
+    }, {
+      "id" : "7a7e5200-ae1c-44dc-a5a7-5546391929b5",
+      "name" : "family name",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "lastName",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "family_name",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "d353e69e-7d1e-4c41-9fdd-f76a59dacf2b",
+      "name" : "picture",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "picture",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "picture",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "a0e4a0a3-1428-46a5-a2a8-66480b1ecf9f",
+      "name" : "nickname",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "nickname",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "nickname",
+        "jsonType.label" : "String"
+      }
+    } ]
+  }, {
+    "id" : "af72f98c-7086-4e99-97ad-2cdfe9f46cd4",
+    "name" : "offline_access",
+    "description" : "OpenID Connect built-in scope: offline_access",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "consent.screen.text" : "${offlineAccessScopeConsentText}",
+      "display.on.consent.screen" : "true"
+    }
+  }, {
+    "id" : "c98af4d7-e60f-469d-b76b-c8673b3d641c",
+    "name" : "acr",
+    "description" : "OpenID Connect scope for add acr (authentication context class reference) to the token",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "false",
+      "display.on.consent.screen" : "false"
+    },
+    "protocolMappers" : [ {
+      "id" : "d000afcc-348f-414e-8e18-fbf9dd73bec0",
+      "name" : "acr loa level",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-acr-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true"
+      }
+    } ]
+  }, {
+    "id" : "9bc461ac-7b67-48ae-af92-03b51bdd2336",
+    "name" : "microprofile-jwt",
+    "description" : "Microprofile - JWT built-in scope",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "true",
+      "display.on.consent.screen" : "false"
+    },
+    "protocolMappers" : [ {
+      "id" : "075ba449-99e1-49c5-8642-755d9fd1ca08",
+      "name" : "upn",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-attribute-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "username",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "upn",
+        "jsonType.label" : "String"
+      }
+    }, {
+      "id" : "4d1db13c-a944-4205-95fc-6b9c184e3cc4",
+      "name" : "groups",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-usermodel-realm-role-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "introspection.token.claim" : "true",
+        "multivalued" : "true",
+        "userinfo.token.claim" : "true",
+        "user.attribute" : "foo",
+        "id.token.claim" : "true",
+        "access.token.claim" : "true",
+        "claim.name" : "groups",
+        "jsonType.label" : "String"
+      }
+    } ]
+  }, {
+    "id" : "162a761a-4a0b-4c30-a388-1ee5df06eb8e",
+    "name" : "web-origins",
+    "description" : "OpenID Connect scope for add allowed web origins to the access token",
+    "protocol" : "openid-connect",
+    "attributes" : {
+      "include.in.token.scope" : "false",
+      "display.on.consent.screen" : "false",
+      "consent.screen.text" : ""
+    },
+    "protocolMappers" : [ {
+      "id" : "2ecc5181-9142-45b5-b11a-4d7936f9e38e",
+      "name" : "allowed web origins",
+      "protocol" : "openid-connect",
+      "protocolMapper" : "oidc-allowed-origins-mapper",
+      "consentRequired" : false,
+      "config" : {
+        "access.token.claim" : "true",
+        "introspection.token.claim" : "true"
+      }
+    } ]
+  } ],
+  "defaultDefaultClientScopes" : [ "web-origins", "role_list", "profile", "email", "roles", "acr" ],
+  "defaultOptionalClientScopes" : [ "phone", "address", "microprofile-jwt", "offline_access", "preferred_username" ],
+  "browserSecurityHeaders" : {
+    "contentSecurityPolicyReportOnly" : "",
+    "xContentTypeOptions" : "nosniff",
+    "referrerPolicy" : "no-referrer",
+    "xRobotsTag" : "none",
+    "xFrameOptions" : "SAMEORIGIN",
+    "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
+    "xXSSProtection" : "1; mode=block",
+    "strictTransportSecurity" : "max-age=31536000; includeSubDomains"
+  },
+  "smtpServer" : { },
+  "loginTheme" : "custom-theme",
+  "accountTheme" : "",
+  "adminTheme" : "",
+  "emailTheme" : "",
+  "eventsEnabled" : false,
+  "eventsListeners" : [ "jboss-logging" ],
+  "enabledEventTypes" : [ ],
+  "adminEventsEnabled" : false,
+  "adminEventsDetailsEnabled" : false,
+  "identityProviders" : [ {
+    "alias" : "oidc",
+    "displayName" : "CILogon",
+    "internalId" : "f0427047-bcb0-414d-9e9a-dc97b7cddefa",
+    "providerId" : "oidc",
+    "enabled" : true,
+    "updateProfileFirstLoginMode" : "on",
+    "trustEmail" : true,
+    "storeToken" : true,
+    "addReadTokenRoleOnCreate" : true,
+    "authenticateByDefault" : false,
+    "linkOnly" : false,
+    "firstBrokerLoginFlowAlias" : "first broker login",
+    "config" : {
+      "acceptsPromptNoneForwardFromClient" : "false",
+      "tokenUrl" : "https://cilogon.org/oauth2/token",
+      "isAccessTokenJWT" : "false",
+      "filteredByClaim" : "false",
+      "backchannelSupported" : "false",
+      "issuer" : "https://cilogon.org",
+      "loginHint" : "false",
+      "clientAuthMethod" : "client_secret_post",
+      "syncMode" : "IMPORT",
+      "clientSecret" : "xNgIF3suP5NFRiBnyDdBnJRP5XG3D5fgCfg5jxdkMlBUOe735UDXayX3OpOh2ra-zXY1VZKV4uou2qYw4WvAOg",
+      "allowedClockSkew" : "0",
+      "defaultScope" : "openid profile email org.cilogon.userinfo",
+      "guiOrder" : "1",
+      "hideOnLoginPage" : "false",
+      "userInfoUrl" : "https://cilogon.org/oauth2/userinfo",
+      "validateSignature" : "false",
+      "clientId" : "cilogon:/client_id/392446d1fe4981d3eab8adb6da2a1952",
+      "uiLocales" : "false",
+      "disableNonce" : "false",
+      "sendClientIdOnLogout" : "false",
+      "pkceEnabled" : "false",
+      "forwardParameters" : "kc_idp_hint",
+      "authorizationUrl" : "https://cilogon.org/authorize",
+      "disableUserInfo" : "false",
+      "logoutUrl" : "https://cybershuttle.org/",
+      "sendIdTokenOnLogout" : "true",
+      "passMaxAge" : "false"
+    }
+  } ],
+  "identityProviderMappers" : [ {
+    "id" : "59cabb48-742d-471c-9bb5-8741c98675ad",
+    "name" : "family_name",
+    "identityProviderAlias" : "oidc",
+    "identityProviderMapper" : "oidc-user-attribute-idp-mapper",
+    "config" : {
+      "syncMode" : "INHERIT",
+      "claim" : "family_name",
+      "user.attribute" : "lastName"
+    }
+  }, {
+    "id" : "6d5651e9-75cd-4c70-9bbc-6f2acc5496ab",
+    "name" : "given_name",
+    "identityProviderAlias" : "oidc",
+    "identityProviderMapper" : "oidc-user-attribute-idp-mapper",
+    "config" : {
+      "syncMode" : "INHERIT",
+      "claim" : "given_name",
+      "user.attribute" : "firstName"
+    }
+  } ],
+  "components" : {
+    "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
+      "id" : "d446bfe5-46d7-4b5a-a569-41268f1f0e87",
+      "name" : "Trusted Hosts",
+      "providerId" : "trusted-hosts",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : {
+        "host-sending-registration-request-must-match" : [ "true" ],
+        "client-uris-must-match" : [ "true" ]
+      }
+    }, {
+      "id" : "d6c586ad-07ab-4a3e-8f61-9ee3d4f7e03f",
+      "name" : "Max Clients Limit",
+      "providerId" : "max-clients",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : {
+        "max-clients" : [ "200" ]
+      }
+    }, {
+      "id" : "fcf2e8da-427f-4232-8e02-cf08151c0211",
+      "name" : "Allowed Protocol Mapper Types",
+      "providerId" : "allowed-protocol-mappers",
+      "subType" : "authenticated",
+      "subComponents" : { },
+      "config" : {
+        "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper" ]
+      }
+    }, {
+      "id" : "9d32bc1e-fa04-4ab7-8911-cb344ff8b5c8",
+      "name" : "Consent Required",
+      "providerId" : "consent-required",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : { }
+    }, {
+      "id" : "eff493d8-9108-420f-88ca-522e9df73f46",
+      "name" : "Allowed Protocol Mapper Types",
+      "providerId" : "allowed-protocol-mappers",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : {
+        "allowed-protocol-mapper-types" : [ "saml-role-list-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper" ]
+      }
+    }, {
+      "id" : "64e7e77a-3489-45bd-b440-e1c42941b22a",
+      "name" : "Allowed Client Scopes",
+      "providerId" : "allowed-client-templates",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : {
+        "allow-default-scopes" : [ "true" ]
+      }
+    }, {
+      "id" : "b3315017-dfb7-4e2f-a682-f9278ae9008a",
+      "name" : "Allowed Client Scopes",
+      "providerId" : "allowed-client-templates",
+      "subType" : "authenticated",
+      "subComponents" : { },
+      "config" : {
+        "allow-default-scopes" : [ "true" ]
+      }
+    }, {
+      "id" : "35fa6e56-7042-4df8-bdda-feeeb6b39c45",
+      "name" : "Full Scope Disabled",
+      "providerId" : "scope",
+      "subType" : "anonymous",
+      "subComponents" : { },
+      "config" : { }
+    } ],
+    "org.keycloak.keys.KeyProvider" : [ {
+      "id" : "33a8177a-0278-4ce3-abee-a4394ec04aed",
+      "name" : "rsa-enc-generated",
+      "providerId" : "rsa-enc-generated",
+      "subComponents" : { },
+      "config" : {
+        "privateKey" : [ "MIIEowIBAAKCAQEArMNxvbCXCLZBiqnNEcZ+XpGJVvKXnGVOvc6P4CT4IDDqjuSUWbpGAECPiygYjlUDRkNw5qY0Z8Foo4g0/wBOBvEMotkBEW8JiT9ND1JZAFcqlVksSMdE9YvmrZSoteSs5wSKHxvh0903cLEtRUmwlq1AVt6Eux90ime5iuBbLmwskk882SUcxgRsDp4iocrBZ99bl6oq10D+7h6JyNS0k7fh9o7q5F4fsqENjXvoPASRk1R0Q3pJPT7Uih/wetm4iv9S+jqmoFccYjBnamy7U/NRF2XauTLr0Xj/S2WRPb+eDF59onPyz13Cr/jZC5YzaKqjFGBReW+c3YJ5ETDdWQIDAQABAoIBAAkRpGec/LyuFpAxHCz18r3DnYZFK0zAK6s+i+JsBmNoNfPkz13Lb6/FM9PN+cYE8+xND4DoEiGtLzFAbenB6hamsi9dPVddMQ [...]
+        "certificate" : [ "MIICnTCCAYUCBgGVhuGg5jANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdkZWZhdWx0MB4XDTI1MDMxMTIwMjMwOFoXDTM1MDMxMTIwMjQ0OFowEjEQMA4GA1UEAwwHZGVmYXVsdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKzDcb2wlwi2QYqpzRHGfl6RiVbyl5xlTr3Oj+Ak+CAw6o7klFm6RgBAj4soGI5VA0ZDcOamNGfBaKOINP8ATgbxDKLZARFvCYk/TQ9SWQBXKpVZLEjHRPWL5q2UqLXkrOcEih8b4dPdN3CxLUVJsJatQFbehLsfdIpnuYrgWy5sLJJPPNklHMYEbA6eIqHKwWffW5eqKtdA/u4eicjUtJO34faO6uReH7KhDY176DwEkZNUdEN6ST0+1Iof8HrZuIr/Uvo6pqBXHGIwZ2psu1PzURdl2 [...]
+        "priority" : [ "100" ],
+        "algorithm" : [ "RSA-OAEP" ]
+      }
+    }, {
+      "id" : "a4d499fc-aced-40b4-9102-255159578eec",
+      "name" : "hmac-generated-hs512",
+      "providerId" : "hmac-generated",
+      "subComponents" : { },
+      "config" : {
+        "kid" : [ "097e5e0b-731e-4051-8125-e6f2a95d85dd" ],
+        "secret" : [ "C5PmVP-PUiEhOvaR8pO91VirtTrFqejyQGJRJDiauQLTiK7M064pqVxeRhuTuPnlJwmykGD0LVHP1Hfk315rt9zR-cyBL3JaVgZsfeU4jHwcwJixFWtmXN0XjG5Ql-UpdMUoVWucvI_TUMNffWuSI2beLHU3ik2NkMUjAXwQ_eM" ],
+        "priority" : [ "100" ],
+        "algorithm" : [ "HS512" ]
+      }
+    }, {
+      "id" : "f5dc3169-59a8-4790-a9e5-e0bf3c78805c",
+      "name" : "aes-generated",
+      "providerId" : "aes-generated",
+      "subComponents" : { },
+      "config" : {
+        "kid" : [ "a6afd833-da03-4f08-a7f7-c4b8eb2a375f" ],
+        "secret" : [ "aOC5gC8wSuQzdQfwtHqH1w" ],
+        "priority" : [ "100" ]
+      }
+    }, {
+      "id" : "762fc122-3966-4253-8ff2-681aef52798a",
+      "name" : "rsa-generated",
+      "providerId" : "rsa-generated",
+      "subComponents" : { },
+      "config" : {
+        "privateKey" : [ "MIIEpAIBAAKCAQEAsXBlZ1S+NSOWhZ9nGebBTh7TjGPxl0LbcFgKnB8uLnQa7VSAWjmicCB+3bVXIP29l0MtstKJx6tZhGaiIazHGgjtK44hagr0NJwf+B+LwilmzgwcDyrOY4NUMkoFDkoaf4fTN75UKTW+ELKlIkm85mu7X1WySeQg23QvX3tCzPaUoUBP6HnWQwdcc0LeuPRd3rp2LAKPDug2ZWP7VzAWsLbimykd+C8BSJzTYDC0hn2B5t10VHhzOPgpZRbcHPY/xOLKN31oAymLfPH+OxAe7Px0mGZFuH4O6CcQEErsqIFRjsfByMBofjmQJbgOcse9EHLdPZh4vp3GBIdzfwyedQIDAQABAoIBACxBlmkxb8edOrvVSEfjkC9F7QnFG8rYeBcLPoo2FLStbNHpE6JtYaCJ2lq+Eh8+an1B2jIR5R+SE1+8oY+4omhR9aW5a4ghd0 [...]
+        "certificate" : [ "MIICnTCCAYUCBgGVhuGkdTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdkZWZhdWx0MB4XDTI1MDMxMTIwMjMwOVoXDTM1MDMxMTIwMjQ0OVowEjEQMA4GA1UEAwwHZGVmYXVsdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALFwZWdUvjUjloWfZxnmwU4e04xj8ZdC23BYCpwfLi50Gu1UgFo5onAgft21VyD9vZdDLbLSicerWYRmoiGsxxoI7SuOIWoK9DScH/gfi8IpZs4MHA8qzmODVDJKBQ5KGn+H0ze+VCk1vhCypSJJvOZru19VsknkINt0L197Qsz2lKFAT+h51kMHXHNC3rj0Xd66diwCjw7oNmVj+1cwFrC24pspHfgvAUic02AwtIZ9gebddFR4czj4KWUW3Bz2P8Tiyjd9aAMpi3zx/jsQHuz8dJhmR [...]
+        "priority" : [ "100" ]
+      }
+    } ]
+  },
+  "internationalizationEnabled" : false,
+  "supportedLocales" : [ ],
+  "authenticationFlows" : [ {
+    "id" : "ee04c896-46c6-46e5-8f5f-2c3f5f5e982f",
+    "alias" : "Account verification options",
+    "description" : "Method with which to verity the existing account",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "idp-email-verification",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Verify Existing Account by Re-authentication",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "78e019d7-5a2f-44f3-81d0-6fa566f21a32",
+    "alias" : "Browser - Conditional OTP",
+    "description" : "Flow to determine if the OTP is required for the authentication",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "conditional-user-configured",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "auth-otp-form",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "3482050b-0ea3-4aee-8200-bcc78dfda38d",
+    "alias" : "Direct Grant - Conditional OTP",
+    "description" : "Flow to determine if the OTP is required for the authentication",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "conditional-user-configured",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "direct-grant-validate-otp",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "64987dfc-4f74-4abe-a9fa-47028f056258",
+    "alias" : "First broker login - Conditional OTP",
+    "description" : "Flow to determine if the OTP is required for the authentication",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "conditional-user-configured",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "auth-otp-form",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "32144fde-d5b5-4a21-bdd5-fb8d92f3c435",
+    "alias" : "Handle Existing Account",
+    "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "idp-confirm-link",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Account verification options",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "53e1602d-6fb0-4dcb-81a8-e0e549165a2c",
+    "alias" : "Reset - Conditional OTP",
+    "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "conditional-user-configured",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "reset-otp",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "4819cc94-f5e5-47ca-99ca-35abb57f80e4",
+    "alias" : "User creation or linking",
+    "description" : "Flow for the existing/non-existing user alternatives",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticatorConfig" : "create unique user config",
+      "authenticator" : "idp-create-user-if-unique",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Handle Existing Account",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "5942a1e4-f029-40cd-ae92-830898bf97dc",
+    "alias" : "Verify Existing Account by Re-authentication",
+    "description" : "Reauthentication of existing account",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "idp-username-password-form",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "CONDITIONAL",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "First broker login - Conditional OTP",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "92632d82-47d5-4dd6-8a7e-8bf3e0ecd02f",
+    "alias" : "browser",
+    "description" : "browser based authentication",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "auth-cookie",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "auth-spnego",
+      "authenticatorFlow" : false,
+      "requirement" : "DISABLED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorConfig" : "oidc",
+      "authenticator" : "identity-provider-redirector",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 25,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 30,
+      "autheticatorFlow" : true,
+      "flowAlias" : "forms",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "dfedc4d5-a50e-4622-bba6-7e5ee9b2065c",
+    "alias" : "clients",
+    "description" : "Base authentication for clients",
+    "providerId" : "client-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "client-secret",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "client-jwt",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "client-secret-jwt",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 30,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "client-x509",
+      "authenticatorFlow" : false,
+      "requirement" : "ALTERNATIVE",
+      "priority" : 40,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "25ac344e-2d5e-4c5c-8f86-2b8ba2e3dfde",
+    "alias" : "direct grant",
+    "description" : "OpenID Connect Resource Owner Grant",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "direct-grant-validate-username",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "direct-grant-validate-password",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "CONDITIONAL",
+      "priority" : 30,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Direct Grant - Conditional OTP",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "fc07ca16-4d7d-4132-a6d6-352a566d19da",
+    "alias" : "docker auth",
+    "description" : "Used by Docker clients to authenticate against the IDP",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "docker-http-basic-authenticator",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "eb9f31b1-f136-47bc-93d1-9fc8c62de3c5",
+    "alias" : "first broker login",
+    "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticatorConfig" : "review profile config",
+      "authenticator" : "idp-review-profile",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "User creation or linking",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "92f6f1d6-7684-4c3a-8623-1a1643cf1b07",
+    "alias" : "forms",
+    "description" : "Username, password, otp and other auth forms.",
+    "providerId" : "basic-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "auth-username-password-form",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "CONDITIONAL",
+      "priority" : 20,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Browser - Conditional OTP",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "4701b039-0e51-435c-a867-76e602446315",
+    "alias" : "registration",
+    "description" : "registration flow",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "registration-page-form",
+      "authenticatorFlow" : true,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : true,
+      "flowAlias" : "registration form",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "4857befc-6fac-45f1-ae13-02830ab04646",
+    "alias" : "registration form",
+    "description" : "registration form",
+    "providerId" : "form-flow",
+    "topLevel" : false,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "registration-user-creation",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "registration-password-action",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 50,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "registration-recaptcha-action",
+      "authenticatorFlow" : false,
+      "requirement" : "DISABLED",
+      "priority" : 60,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "registration-terms-and-conditions",
+      "authenticatorFlow" : false,
+      "requirement" : "DISABLED",
+      "priority" : 70,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "72627447-0fbe-4017-96ab-b12eacc75a2d",
+    "alias" : "reset credentials",
+    "description" : "Reset credentials for a user if they forgot their password or something",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "reset-credentials-choose-user",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "reset-credential-email",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 20,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticator" : "reset-password",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 30,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    }, {
+      "authenticatorFlow" : true,
+      "requirement" : "CONDITIONAL",
+      "priority" : 40,
+      "autheticatorFlow" : true,
+      "flowAlias" : "Reset - Conditional OTP",
+      "userSetupAllowed" : false
+    } ]
+  }, {
+    "id" : "d8bec40b-7015-40c9-b069-c1bb1b1cf09e",
+    "alias" : "saml ecp",
+    "description" : "SAML ECP Profile Authentication Flow",
+    "providerId" : "basic-flow",
+    "topLevel" : true,
+    "builtIn" : true,
+    "authenticationExecutions" : [ {
+      "authenticator" : "http-basic-authenticator",
+      "authenticatorFlow" : false,
+      "requirement" : "REQUIRED",
+      "priority" : 10,
+      "autheticatorFlow" : false,
+      "userSetupAllowed" : false
+    } ]
+  } ],
+  "authenticatorConfig" : [ {
+    "id" : "6ee3b9e1-c19b-43f5-bc30-4dde2953aa3f",
+    "alias" : "create unique user config",
+    "config" : {
+      "require.password.update.after.registration" : "false"
+    }
+  }, {
+    "id" : "420707ab-984e-4a95-a679-26cddf145323",
+    "alias" : "oidc",
+    "config" : {
+      "default.reference.maxAge" : "10000",
+      "default.reference.value" : "CILogon",
+      "defaultProvider" : "oidc"
+    }
+  }, {
+    "id" : "6bab8c26-0c25-4cf3-a5a7-634cdfcf9f41",
+    "alias" : "review profile config",
+    "config" : {
+      "update.profile.on.first.login" : "missing"
+    }
+  } ],
+  "requiredActions" : [ {
+    "alias" : "CONFIGURE_TOTP",
+    "name" : "Configure OTP",
+    "providerId" : "CONFIGURE_TOTP",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 10,
+    "config" : { }
+  }, {
+    "alias" : "TERMS_AND_CONDITIONS",
+    "name" : "Terms and Conditions",
+    "providerId" : "TERMS_AND_CONDITIONS",
+    "enabled" : false,
+    "defaultAction" : false,
+    "priority" : 20,
+    "config" : { }
+  }, {
+    "alias" : "UPDATE_PASSWORD",
+    "name" : "Update Password",
+    "providerId" : "UPDATE_PASSWORD",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 30,
+    "config" : { }
+  }, {
+    "alias" : "UPDATE_PROFILE",
+    "name" : "Update Profile",
+    "providerId" : "UPDATE_PROFILE",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 40,
+    "config" : { }
+  }, {
+    "alias" : "VERIFY_EMAIL",
+    "name" : "Verify Email",
+    "providerId" : "VERIFY_EMAIL",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 50,
+    "config" : { }
+  }, {
+    "alias" : "delete_account",
+    "name" : "Delete Account",
+    "providerId" : "delete_account",
+    "enabled" : false,
+    "defaultAction" : false,
+    "priority" : 60,
+    "config" : { }
+  }, {
+    "alias" : "webauthn-register",
+    "name" : "Webauthn Register",
+    "providerId" : "webauthn-register",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 70,
+    "config" : { }
+  }, {
+    "alias" : "webauthn-register-passwordless",
+    "name" : "Webauthn Register Passwordless",
+    "providerId" : "webauthn-register-passwordless",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 80,
+    "config" : { }
+  }, {
+    "alias" : "VERIFY_PROFILE",
+    "name" : "Verify Profile",
+    "providerId" : "VERIFY_PROFILE",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 90,
+    "config" : { }
+  }, {
+    "alias" : "update_user_locale",
+    "name" : "Update User Locale",
+    "providerId" : "update_user_locale",
+    "enabled" : true,
+    "defaultAction" : false,
+    "priority" : 1000,
+    "config" : { }
+  } ],
+  "browserFlow" : "browser",
+  "registrationFlow" : "registration",
+  "directGrantFlow" : "direct grant",
+  "resetCredentialsFlow" : "reset credentials",
+  "clientAuthenticationFlow" : "clients",
+  "dockerAuthenticationFlow" : "docker auth",
+  "firstBrokerLoginFlow" : "first broker login",
+  "attributes" : {
+    "cibaBackchannelTokenDeliveryMode" : "poll",
+    "cibaAuthRequestedUserHint" : "login_hint",
+    "clientOfflineSessionMaxLifespan" : "0",
+    "oauth2DevicePollingInterval" : "5",
+    "clientSessionIdleTimeout" : "0",
+    "actionTokenGeneratedByUserLifespan.idp-verify-account-via-email" : "",
+    "actionTokenGeneratedByUserLifespan.verify-email" : "",
+    "clientOfflineSessionIdleTimeout" : "0",
+    "actionTokenGeneratedByUserLifespan.execute-actions" : "",
+    "cibaInterval" : "5",
+    "realmReusableOtpCode" : "false",
+    "cibaExpiresIn" : "120",
+    "oauth2DeviceCodeLifespan" : "600",
+    "parRequestUriLifespan" : "60",
+    "clientSessionMaxLifespan" : "0",
+    "frontendUrl" : "",
+    "acr.loa.map" : "{}",
+    "shortVerificationUri" : "",
+    "actionTokenGeneratedByUserLifespan.reset-credentials" : ""
+  },
+  "keycloakVersion" : "24.0.0",
+  "userManagedAccessAllowed" : false,
+  "clientProfiles" : {
+    "profiles" : [ ]
+  },
+  "clientPolicies" : {
+    "policies" : [ ]
+  }
+}
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/keycloak/standalone.xml b/modules/ide-integration/src/main/containers/keycloak/standalone.xml
deleted file mode 100644
index f3eaea9db2..0000000000
--- a/modules/ide-integration/src/main/containers/keycloak/standalone.xml
+++ /dev/null
@@ -1,521 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server xmlns="urn:jboss:domain:4.0">
-    <extensions>
-        <extension module="org.jboss.as.clustering.infinispan"/>
-        <extension module="org.jboss.as.connector"/>
-        <extension module="org.jboss.as.deployment-scanner"/>
-        <extension module="org.jboss.as.ee"/>
-        <extension module="org.jboss.as.ejb3"/>
-        <extension module="org.jboss.as.jaxrs"/>
-        <extension module="org.jboss.as.jdr"/>
-        <extension module="org.jboss.as.jmx"/>
-        <extension module="org.jboss.as.jpa"/>
-        <extension module="org.jboss.as.jsf"/>
-        <extension module="org.jboss.as.logging"/>
-        <extension module="org.jboss.as.mail"/>
-        <extension module="org.jboss.as.naming"/>
-        <extension module="org.jboss.as.remoting"/>
-        <extension module="org.jboss.as.security"/>
-        <extension module="org.jboss.as.transactions"/>
-        <extension module="org.keycloak.keycloak-server-subsystem"/>
-        <extension module="org.wildfly.extension.bean-validation"/>
-        <extension module="org.wildfly.extension.io"/>
-        <extension module="org.wildfly.extension.request-controller"/>
-        <extension module="org.wildfly.extension.security.manager"/>
-        <extension module="org.wildfly.extension.undertow"/>
-    </extensions>
-    <management>
-        <security-realms>
-            <security-realm name="ManagementRealm">
-                <authentication>
-                    <local default-user="$local" skip-group-loading="true"/>
-                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
-                </authentication>
-                <authorization map-groups-to-roles="false">
-                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
-                </authorization>
-            </security-realm>
-            <security-realm name="ApplicationRealm">
-                <authentication>
-                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
-                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
-                </authentication>
-                <authorization>
-                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
-                </authorization>
-            </security-realm>
-            <security-realm name="UndertowRealm">
-                <server-identities>
-                    <ssl>
-                        <keystore path="keystores/airavata.jks" relative-to="jboss.server.config.dir" keystore-password="airavata" />
-                    </ssl>
-                </server-identities>
-            </security-realm>
-        </security-realms>
-        <audit-log>
-            <formatters>
-                <json-formatter name="json-formatter"/>
-            </formatters>
-            <handlers>
-                <file-handler name="file" formatter="json-formatter" relative-to="jboss.server.data.dir"
-                              path="audit-log.log"/>
-            </handlers>
-            <logger log-boot="true" log-read-only="false" enabled="false">
-                <handlers>
-                    <handler name="file"/>
-                </handlers>
-            </logger>
-        </audit-log>
-        <management-interfaces>
-            <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
-                <socket-binding http="management-http"/>
-            </http-interface>
-        </management-interfaces>
-        <access-control provider="simple">
-            <role-mapping>
-                <role name="SuperUser">
-                    <include>
-                        <user name="$local"/>
-                    </include>
-                </role>
-            </role-mapping>
-        </access-control>
-    </management>
-    <profile>
-        <subsystem xmlns="urn:jboss:domain:logging:3.0">
-            <console-handler name="CONSOLE">
-                <level name="INFO"/>
-                <formatter>
-                    <named-formatter name="COLOR-PATTERN"/>
-                </formatter>
-            </console-handler>
-            <periodic-rotating-file-handler name="FILE" autoflush="true">
-                <formatter>
-                    <named-formatter name="PATTERN"/>
-                </formatter>
-                <file relative-to="jboss.server.log.dir" path="server.log"/>
-                <suffix value=".yyyy-MM-dd"/>
-                <append value="true"/>
-            </periodic-rotating-file-handler>
-            <logger category="com.arjuna">
-                <level name="WARN"/>
-            </logger>
-            <logger category="org.jboss.as.config">
-                <level name="DEBUG"/>
-            </logger>
-            <logger category="sun.rmi">
-                <level name="WARN"/>
-            </logger>
-            <root-logger>
-                <level name="INFO"/>
-                <handlers>
-                    <handler name="CONSOLE"/>
-                    <handler name="FILE"/>
-                </handlers>
-            </root-logger>
-            <formatter name="PATTERN">
-                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
-            </formatter>
-            <formatter name="COLOR-PATTERN">
-                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
-            </formatter>
-            <log:logger xmlns:log="urn:jboss:domain:logging:3.0" xmlns="" category="org.keycloak">
-                <log:level name="${env.KEYCLOAK_LOGLEVEL:INFO}"/>
-            </log:logger>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
-            <datasources>
-                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS"
-                            enabled="true"
-                            use-java-context="true">
-                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
-                    <driver>h2</driver>
-                    <security>
-                        <user-name>sa</user-name>
-                        <password>sa</password>
-                    </security>
-                </datasource>
-                <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS"
-                            enabled="true"
-                            use-java-context="true">
-                    <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
-                    <driver>h2</driver>
-                    <security>
-                        <user-name>sa</user-name>
-                        <password>sa</password>
-                    </security>
-                </datasource>
-                <drivers>
-                    <driver name="h2" module="com.h2database.h2">
-                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
-                    </driver>
-                </drivers>
-            </datasources>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
-            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"
-                                runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:ee:4.0">
-            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
-            <concurrent>
-                <context-services>
-                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default"
-                                     use-transaction-setup-provider="true"/>
-                </context-services>
-                <managed-thread-factories>
-                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default"
-                                            context-service="default"/>
-                </managed-thread-factories>
-                <managed-executor-services>
-                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default"
-                                              context-service="default"
-                                              hung-task-threshold="60000"
-                                              keepalive-time="5000"/>
-                </managed-executor-services>
-                <managed-scheduled-executor-services>
-                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default"
-                                                        context-service="default"
-                                                        hung-task-threshold="60000"
-                                                        keepalive-time="3000"/>
-                </managed-scheduled-executor-services>
-            </concurrent>
-            <default-bindings context-service="java:jboss/ee/concurrency/context/default"
-                              datasource="java:jboss/datasources/ExampleDS"
-                              managed-executor-service="java:jboss/ee/concurrency/executor/default"
-                              managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default"
-                              managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
-            <session-bean>
-                <stateless>
-                    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
-                </stateless>
-                <stateful default-access-timeout="5000" cache-ref="simple"
-                          passivation-disabled-cache-ref="simple"/>
-                <singleton default-access-timeout="5000"/>
-            </session-bean>
-            <pools>
-                <bean-instance-pools>
-                    <!-- Automatically configure pools. Alternatively, max-pool-size can be set to a specific value -->
-                    <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools"
-                                     instance-acquisition-timeout="5"
-                                     instance-acquisition-timeout-unit="MINUTES"/>
-                    <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count"
-                                     instance-acquisition-timeout="5"
-                                     instance-acquisition-timeout-unit="MINUTES"/>
-                </bean-instance-pools>
-            </pools>
-            <caches>
-                <cache name="simple"/>
-                <cache name="distributable" passivation-store-ref="infinispan"
-                       aliases="passivating clustered"/>
-            </caches>
-            <passivation-stores>
-                <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
-            </passivation-stores>
-            <async thread-pool-name="default"/>
-            <timer-service thread-pool-name="default" default-data-store="default-file-store">
-                <data-stores>
-                    <file-data-store name="default-file-store" path="timer-service-data"
-                                     relative-to="jboss.server.data.dir"/>
-                </data-stores>
-            </timer-service>
-            <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
-            <thread-pools>
-                <thread-pool name="default">
-                    <max-threads count="10"/>
-                    <keepalive-time time="100" unit="milliseconds"/>
-                </thread-pool>
-            </thread-pools>
-            <default-security-domain value="other"/>
-            <default-missing-method-permissions-deny-access value="true"/>
-            <log-system-exceptions value="true"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:io:1.1">
-            <worker name="default"/>
-            <buffer-pool name="default"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
-            <cache-container name="keycloak" jndi-name="infinispan/Keycloak">
-                <local-cache name="realms">
-                    <eviction max-entries="10000" strategy="LRU"/>
-                </local-cache>
-                <local-cache name="users">
-                    <eviction max-entries="10000" strategy="LRU"/>
-                </local-cache>
-                <local-cache name="sessions"/>
-                <local-cache name="offlineSessions"/>
-                <local-cache name="loginFailures"/>
-                <local-cache name="work"/>
-                <local-cache name="authorization">
-                    <eviction max-entries="100" strategy="LRU"/>
-                </local-cache>
-                <local-cache name="keys">
-                    <eviction max-entries="1000" strategy="LRU"/>
-                    <expiration max-idle="3600000"/>
-                </local-cache>
-            </cache-container>
-            <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
-                <local-cache name="default">
-                    <transaction mode="BATCH"/>
-                </local-cache>
-            </cache-container>
-            <cache-container name="web" default-cache="passivation"
-                             module="org.wildfly.clustering.web.infinispan">
-                <local-cache name="passivation">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store passivation="true" purge="false"/>
-                </local-cache>
-                <local-cache name="persistent">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store passivation="false" purge="false"/>
-                </local-cache>
-            </cache-container>
-            <cache-container name="ejb" aliases="sfsb" default-cache="passivation"
-                             module="org.wildfly.clustering.ejb.infinispan">
-                <local-cache name="passivation">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store passivation="true" purge="false"/>
-                </local-cache>
-                <local-cache name="persistent">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store passivation="false" purge="false"/>
-                </local-cache>
-            </cache-container>
-            <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
-                <local-cache name="entity">
-                    <transaction mode="NON_XA"/>
-                    <eviction strategy="LRU" max-entries="10000"/>
-                    <expiration max-idle="100000"/>
-                </local-cache>
-                <local-cache name="local-query">
-                    <eviction strategy="LRU" max-entries="10000"/>
-                    <expiration max-idle="100000"/>
-                </local-cache>
-                <local-cache name="timestamps"/>
-            </cache-container>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:jca:4.0">
-            <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
-            <bean-validation enabled="true"/>
-            <default-workmanager>
-                <short-running-threads>
-                    <core-threads count="50"/>
-                    <queue-length count="50"/>
-                    <max-threads count="50"/>
-                    <keepalive-time time="10" unit="seconds"/>
-                </short-running-threads>
-                <long-running-threads>
-                    <core-threads count="50"/>
-                    <queue-length count="50"/>
-                    <max-threads count="50"/>
-                    <keepalive-time time="10" unit="seconds"/>
-                </long-running-threads>
-            </default-workmanager>
-            <cached-connection-manager/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
-            <expose-resolved-model/>
-            <expose-expression-model/>
-            <remoting-connector/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
-            <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:mail:2.0">
-            <mail-session name="default" jndi-name="java:jboss/mail/Default">
-                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
-            </mail-session>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:naming:2.0">
-            <remote-naming/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:remoting:3.0">
-            <endpoint/>
-            <http-connector name="http-remoting-connector" connector-ref="default"
-                            security-realm="ApplicationRealm"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
-            <deployment-permissions>
-                <maximum-set>
-                    <permission class="java.security.AllPermission"/>
-                </maximum-set>
-            </deployment-permissions>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:security:1.2">
-            <security-domains>
-                <security-domain name="other" cache-type="default">
-                    <authentication>
-                        <login-module code="Remoting" flag="optional">
-                            <module-option name="password-stacking" value="useFirstPass"/>
-                        </login-module>
-                        <login-module code="RealmDirect" flag="required">
-                            <module-option name="password-stacking" value="useFirstPass"/>
-                        </login-module>
-                    </authentication>
-                </security-domain>
-                <security-domain name="jboss-web-policy" cache-type="default">
-                    <authorization>
-                        <policy-module code="Delegating" flag="required"/>
-                    </authorization>
-                </security-domain>
-                <security-domain name="jboss-ejb-policy" cache-type="default">
-                    <authorization>
-                        <policy-module code="Delegating" flag="required"/>
-                    </authorization>
-                </security-domain>
-                <security-domain name="jaspitest" cache-type="default">
-                    <authentication-jaspi>
-                        <login-module-stack name="dummy">
-                            <login-module code="Dummy" flag="optional"/>
-                        </login-module-stack>
-                        <auth-module code="Dummy"/>
-                    </authentication-jaspi>
-                </security-domain>
-            </security-domains>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:transactions:3.0">
-            <core-environment>
-                <process-id>
-                    <uuid/>
-                </process-id>
-            </core-environment>
-            <recovery-environment socket-binding="txn-recovery-environment"
-                                  status-socket-binding="txn-status-manager"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:undertow:3.0">
-            <buffer-cache name="default"/>
-            <server name="default-server">
-                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
-                <https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
-                <host name="default-host" alias="localhost">
-                    <location name="/" handler="welcome-content"/>
-                    <filter-ref name="server-header"/>
-                    <filter-ref name="x-powered-by-header"/>
-                </host>
-            </server>
-            <servlet-container name="default">
-                <jsp-config/>
-                <websockets/>
-            </servlet-container>
-            <handlers>
-                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
-            </handlers>
-            <filters>
-                <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
-                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
-            </filters>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
-            <web-context>auth</web-context>
-            <providers>
-                <provider>classpath:${jboss.home.dir}/providers/*</provider>
-            </providers>
-            <master-realm-name>master</master-realm-name>
-            <scheduled-task-interval>900</scheduled-task-interval>
-            <theme>
-                <staticMaxAge>2592000</staticMaxAge>
-                <cacheThemes>true</cacheThemes>
-                <cacheTemplates>true</cacheTemplates>
-                <dir>${jboss.home.dir}/themes</dir>
-            </theme>
-            <spi name="eventsStore">
-                <default-provider>jpa</default-provider>
-                <provider name="jpa" enabled="true">
-                    <properties>
-                        <property name="exclude-events" value="[&#34;REFRESH_TOKEN&#34;]"/>
-                    </properties>
-                </provider>
-            </spi>
-            <spi name="realm">
-                <default-provider>jpa</default-provider>
-            </spi>
-            <spi name="user">
-                <default-provider>jpa</default-provider>
-            </spi>
-            <spi name="userFederatedStorage">
-                <default-provider>jpa</default-provider>
-            </spi>
-            <spi name="userCache">
-                <provider name="default" enabled="true"/>
-            </spi>
-            <spi name="userSessionPersister">
-                <default-provider>jpa</default-provider>
-            </spi>
-            <spi name="authorizationPersister">
-                <default-provider>jpa</default-provider>
-            </spi>
-            <spi name="timer">
-                <default-provider>basic</default-provider>
-            </spi>
-            <spi name="connectionsHttpClient">
-                <provider name="default" enabled="true"/>
-            </spi>
-            <spi name="connectionsJpa">
-                <provider name="default" enabled="true">
-                    <properties>
-                        <property name="dataSource" value="java:jboss/datasources/KeycloakDS"/>
-                        <property name="initializeEmpty" value="true"/>
-                        <property name="migrationStrategy" value="update"/>
-                        <property name="migrationExport" value="${jboss.home.dir}/keycloak-database-update.sql"/>
-                    </properties>
-                </provider>
-            </spi>
-            <spi name="realmCache">
-                <provider name="default" enabled="true"/>
-            </spi>
-            <spi name="connectionsInfinispan">
-                <default-provider>default</default-provider>
-                <provider name="default" enabled="true">
-                    <properties>
-                        <property name="cacheContainer" value="java:comp/env/infinispan/Keycloak"/>
-                    </properties>
-                </provider>
-            </spi>
-            <spi name="jta-lookup">
-                <default-provider>${keycloak.jta.lookup.provider:jboss}</default-provider>
-                <provider name="jboss" enabled="true"/>
-            </spi>
-            <spi name="publicKeyStorage">
-                <provider name="infinispan" enabled="true">
-                    <properties>
-                        <property name="minTimeBetweenRequests" value="10"/>
-                    </properties>
-                </provider>
-            </spi>
-        </subsystem>
-    </profile>
-    <interfaces>
-        <interface name="management">
-            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
-        </interface>
-        <interface name="public">
-            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
-        </interface>
-    </interfaces>
-    <socket-binding-group name="standard-sockets" default-interface="public"
-                          port-offset="${jboss.socket.binding.port-offset:0}">
-        <socket-binding name="management-http" interface="management"
-                        port="${jboss.management.http.port:9990}"/>
-        <socket-binding name="management-https" interface="management"
-                        port="${jboss.management.https.port:9993}"/>
-        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
-        <socket-binding name="http" port="${jboss.http.port:8080}"/>
-        <socket-binding name="https" port="${jboss.https.port:8443}"/>
-        <socket-binding name="txn-recovery-environment" port="4712"/>
-        <socket-binding name="txn-status-manager" port="4713"/>
-        <outbound-socket-binding name="mail-smtp">
-            <remote-destination host="localhost" port="25"/>
-        </outbound-socket-binding>
-    </socket-binding-group>
-</server>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php
index 6250d84422..745dd5563f 100755
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php
+++ b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/config/pga_config.php
@@ -91,12 +91,12 @@ return array(
         /**
          * For OIDC servers that support the discovery protocol.
          */
-        'openid-connect-discovery-url' => 'https://airavata.host:8443/auth/realms/default/.well-known/openid-configuration',
+        'openid-connect-discovery-url' => 'https://airavata.host:8443/realms/default/.well-known/openid-configuration',
 
         /**
          * Identity server url
          */
-        'service-url' => 'https://airavata.host:8443/auth',
+        'service-url' => 'https://airavata.host:8443',
 
         /**
          * Enable HTTPS server verification
diff --git a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/tests/selenium/pom.xml b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/tests/selenium/pom.xml
index 028c3ccb78..b4546339f5 100755
--- a/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/tests/selenium/pom.xml
+++ b/modules/ide-integration/src/main/containers/pga/airavata-php-gateway/app/tests/selenium/pom.xml
@@ -13,11 +13,11 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.0</version>
+        <version>${maven.compiler.plugin.version}</version>
         <configuration>
-          <!--<source>1.7</source>-->
-          <!--<target>1.7</target>-->
-            <release>11</release>
+          <!--<source>17</source>-->
+          <!--<target>17</target>-->
+            <release>17</release>
         </configuration>
       </plugin>
       <plugin>
diff --git a/modules/ide-integration/src/main/resources/airavata-server.properties b/modules/ide-integration/src/main/resources/airavata-server.properties
index db2cdf8211..95fe8ef53b 100644
--- a/modules/ide-integration/src/main/resources/airavata-server.properties
+++ b/modules/ide-integration/src/main/resources/airavata-server.properties
@@ -30,7 +30,7 @@
 ###########################################################################
 
 registry.jdbc.driver=org.mariadb.jdbc.Driver
-registry.jdbc.url=jdbc:mariadb://localhost:13306/experiment_catalog
+registry.jdbc.url=jdbc:mariadb://airavata.host:13306/experiment_catalog
 registry.jdbc.user=root
 registry.jdbc.password=123456
 #FIXME: Probably the following property should be removed.
@@ -59,7 +59,7 @@ cluster.status.monitoring.repeat.time=18000
 #  Application Catalog DB Configuration
 ###########################################################################
 appcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-appcatalog.jdbc.url=jdbc:mariadb://localhost:13306/app_catalog
+appcatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/app_catalog
 appcatalog.jdbc.user=root
 appcatalog.jdbc.password=123456
 appcatalog.validationQuery=SELECT 1 from CONFIGURATION
@@ -68,7 +68,7 @@ appcatalog.validationQuery=SELECT 1 from CONFIGURATION
 #  Replica Catalog DB Configuration
 ###########################################################################
 replicacatalog.jdbc.driver=org.mariadb.jdbc.Driver
-replicacatalog.jdbc.url=jdbc:mariadb://localhost:13306/replica_catalog
+replicacatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/replica_catalog
 replicacatalog.jdbc.user=root
 replicacatalog.jdbc.password=123456
 replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
@@ -77,7 +77,7 @@ replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
 #  Workflow Catalog DB Configuration
 ###########################################################################
 workflowcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-workflowcatalog.jdbc.url=jdbc:mariadb://localhost:13306/workflow_catalog
+workflowcatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/workflow_catalog
 workflowcatalog.jdbc.user=root
 workflowcatalog.jdbc.password=123456
 workflowcatalog.validationQuery=SELECT 1 from CONFIGURATION
@@ -86,7 +86,7 @@ workflowcatalog.validationQuery=SELECT 1 from CONFIGURATION
 #  Sharing Catalog DB Configuration
 ###########################################################################
 sharingcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-sharingcatalog.jdbc.url=jdbc:mariadb://localhost:13306/sharing_catalog
+sharingcatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/sharing_catalog
 sharingcatalog.jdbc.user=root
 sharingcatalog.jdbc.password=123456
 sharingcatalog.validationQuery=SELECT 1 from CONFIGURATION
@@ -166,7 +166,7 @@ job.notification.flags=abe
 credential.store.keystore.url=keystores/airavata_sym.jks
 credential.store.keystore.alias=airavata
 credential.store.keystore.password=airavata
-credential.store.jdbc.url=jdbc:mariadb://localhost:13306/credential_store
+credential.store.jdbc.url=jdbc:mariadb://airavata.host:13306/credential_store
 credential.store.jdbc.user=root
 credential.store.jdbc.password=123456
 credential.store.jdbc.driver=org.mariadb.jdbc.Driver
@@ -183,7 +183,7 @@ email.password=xxx
 email.ssl=true
 email.from=airavata@apache.org
 
-rabbitmq.broker.url=amqp://guest:guest@localhost:5672/develop
+rabbitmq.broker.url=amqp://guest:guest@airavata.host:5672/develop
 rabbitmq.status.exchange.name=status_exchange
 rabbitmq.process.exchange.name=process_exchange
 rabbitmq.experiment.exchange.name=experiment_exchange
@@ -196,7 +196,7 @@ experiment.launch..queue.name=experiment.launch.queue
 # Zookeeper Server Configuration
 ###########################################################################
 embedded.zk=false
-zookeeper.server.connection=localhost:12181
+zookeeper.server.connection=airavata.host:12181
 zookeeper.timeout=30000
 
 ########################################################################
@@ -221,7 +221,7 @@ in.memory.cache.size=1000
 
 # Kafka Logging related configuration
 isRunningOnAws=false
-kafka.broker.list=localhost:9092
+kafka.broker.list=airavata.host:9092
 kafka.topic.prefix=local
 enable.kafka.logging=false
 
@@ -232,7 +232,7 @@ profile.service.server.host=0.0.0.0
 profile.service.server.port=8962
 profile_service=org.apache.airavata.service.profile.server.ProfileServiceServer
 # MariaDB properties
-profile.service.jdbc.url=jdbc:mariadb://localhost:13306/profile_service
+profile.service.jdbc.url=jdbc:mariadb://airavata.host:13306/profile_service
 profile.service.jdbc.user=root
 profile.service.jdbc.password=123456
 profile.service.jdbc.driver=org.mariadb.jdbc.Driver
@@ -241,7 +241,7 @@ profile.service.validationQuery=SELECT 1
 ###########################################################################
 # Iam Admin services Configuration
 ###########################################################################
-iam.server.url=https://airavata.host:8443/auth
+iam.server.url=https://airavata.host:8443
 iam.server.super.admin.username=admin
 iam.server.super.admin.password=admin
 
diff --git a/modules/ide-integration/src/main/resources/keystores/airavata_sym.jks b/modules/ide-integration/src/main/resources/keystores/airavata_sym.jks
deleted file mode 100644
index 57434f024d..0000000000
Binary files a/modules/ide-integration/src/main/resources/keystores/airavata_sym.jks and /dev/null differ
diff --git a/modules/ide-integration/src/main/resources/keystores/client_truststore.jks b/modules/ide-integration/src/main/resources/keystores/client_truststore.jks
deleted file mode 100644
index a449ce746b..0000000000
Binary files a/modules/ide-integration/src/main/resources/keystores/client_truststore.jks and /dev/null differ
diff --git a/modules/ide-integration/src/main/resources/log4j2.xml b/modules/ide-integration/src/main/resources/log4j2.xml
index e38f7ff011..a06ff13d8a 100644
--- a/modules/ide-integration/src/main/resources/log4j2.xml
+++ b/modules/ide-integration/src/main/resources/log4j2.xml
@@ -26,7 +26,7 @@
         <Console name="Console" target="SYSTEM_OUT">
             <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
         </Console>
-        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+        <RollingFile name="RollingFileAppender" fileName="logs/airavata.log"
                      filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
             <PatternLayout>
                 <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
@@ -45,6 +45,8 @@
         <logger name="org.apache.zookeeper" level="ERROR"/>
         <logger name="org.apache.airavata" level="INFO"/>
         <logger name="org.hibernate" level="ERROR"/>
+        <logger name="org.apache.openjpa" level="DEBUG"/>
+        <logger name="org.apache.openjpa.enhance" level="DEBUG"/>
         <Root level="INFO">
             <AppenderRef ref="Console"/>
             <AppenderRef ref="RollingFileAppender"/>
diff --git a/modules/job-monitor/email-monitor/pom.xml b/modules/job-monitor/email-monitor/pom.xml
index 3a062933e8..ac66537f89 100644
--- a/modules/job-monitor/email-monitor/pom.xml
+++ b/modules/job-monitor/email-monitor/pom.xml
@@ -41,12 +41,9 @@
             <artifactId>snakeyaml</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>javax.mail-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+            <version>2.1.2</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
index 63f9e47ee5..9c35025f26 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
@@ -33,15 +33,15 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.yaml.snakeyaml.Yaml;
 
-import javax.mail.Address;
-import javax.mail.Flags;
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.Store;
-import javax.mail.search.FlagTerm;
-import javax.mail.search.SearchTerm;
+import jakarta.mail.Address;
+import jakarta.mail.Flags;
+import jakarta.mail.Folder;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
+import jakarta.mail.Session;
+import jakarta.mail.Store;
+import jakarta.mail.search.FlagTerm;
+import jakarta.mail.search.SearchTerm;
 import java.io.InputStream;
 import java.util.*;
 
@@ -193,6 +193,9 @@ public class EmailBasedMonitor extends AbstractMonitor implements Runnable {
                         emailFolder = store.getFolder(folderName);
                     }
                     log.info("[EJM]: Retrieving unseen emails");
+                    if (emailFolder == null) {
+                        return;
+                    }
                     emailFolder.open(Folder.READ_WRITE);
                     if (emailFolder.isOpen()) {
                         // flush if any message left in flushUnseenMessage
@@ -228,7 +231,9 @@ public class EmailBasedMonitor extends AbstractMonitor implements Runnable {
                 log.error("[EJM]: Caught a throwable ", e);
             } finally {
                 try {
-                    emailFolder.close(false);
+                    if (emailFolder != null) {
+                        emailFolder.close(false);
+                    }
                     store.close();
                 } catch (MessagingException e) {
                     log.error("[EJM]: Store close operation failed, couldn't close store", e);
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
index ae0cecb900..20c561207e 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
index d76f733c19..2996dd50cd 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
@@ -23,8 +23,8 @@ import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.monitor.JobStatusResult;
 import org.apache.airavata.registry.api.RegistryService;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 
 public interface EmailParser {
     static final String STATUS = "status";
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
index e91b0153ec..5e9d5d15ee 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
@@ -27,8 +27,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
index 99660c2ae8..be61fad37e 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
index b0c22988e7..2da293d827 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
index eaae04071d..0e8b4b3386 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
diff --git a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
index ebaf84d90e..728182d128 100644
--- a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
+++ b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git a/modules/job-monitor/pom.xml b/modules/job-monitor/pom.xml
index dc8657564d..8a62fcc7b2 100644
--- a/modules/job-monitor/pom.xml
+++ b/modules/job-monitor/pom.xml
@@ -44,14 +44,9 @@
                 <version>1.15</version>
             </dependency>
             <dependency>
-                <groupId>javax.mail</groupId>
-                <artifactId>javax.mail-api</artifactId>
-                <version>1.6.2</version>
-            </dependency>
-            <dependency>
-                <groupId>com.sun.mail</groupId>
-                <artifactId>javax.mail</artifactId>
-                <version>1.6.2</version>
+                <groupId>jakarta.mail</groupId>
+                <artifactId>jakarta.mail-api</artifactId>
+                <version>2.1.2</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.airavata</groupId>
diff --git a/modules/registry/registry-core/pom.xml b/modules/registry/registry-core/pom.xml
index a5b7c2cf58..0634e28f6f 100644
--- a/modules/registry/registry-core/pom.xml
+++ b/modules/registry/registry-core/pom.xml
@@ -37,7 +37,7 @@
         <derby.version>10.11.1.1</derby.version>
         <surefire.version>2.18.1</surefire.version>
         <skipTests>false</skipTests>
-        <mysql.connector.version>5.1.34</mysql.connector.version>
+        <mysql.connector.version>8.0.31</mysql.connector.version>
     </properties>
 
     <dependencies>
@@ -128,9 +128,9 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.0</version>
+                <version>${maven.compiler.plugin.version}</version>
                 <configuration>
-                   <release>11</release>
+                   <release>17</release>
                     <!--<compilerArgs>-->
                         <!--<arg>&#45;&#45;add-opens=java.base/java.lang=ALL-UNNAMED</arg>-->
                     <!--</compilerArgs>-->
@@ -222,7 +222,7 @@
             <plugin>
                 <groupId>org.apache.openjpa</groupId>
                 <artifactId>openjpa-maven-plugin</artifactId>
-                <version>${openjpa.version}</version>
+                <version>${openjpa.maven.plugin.version}</version>
                 <configuration>
                     <includes>**/model/*.class</includes>
                     <addDefaultConstructor>true</addDefaultConstructor>
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowEntity.java
index 738e61f596..dbac506777 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
index 82fd1e14c5..f26faf7471 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowErrorEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowStatusEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowStatusEntity.java
index 7119262b15..480db8264d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowStatusEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/AiravataWorkflowStatusEntity.java
@@ -21,7 +21,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.workflow.WorkflowState;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
index 9a8d35ef6b..9f94516baa 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationErrorEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationStatusEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationStatusEntity.java
index 95c33b87bc..35907c2a4d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationStatusEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/ApplicationStatusEntity.java
@@ -21,7 +21,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.workflow.ApplicationState;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
index f5a94757ca..4b9318554e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerErrorEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
index 45866cd897..f4c12f2251 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerInputEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
index 3c72020719..1d97d78f4c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerOutputEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerStatusEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerStatusEntity.java
index c94dd45a91..476e695d8a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerStatusEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/HandlerStatusEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowApplicationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowApplicationEntity.java
index c8329e3dc6..27c243795e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowApplicationEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowApplicationEntity.java
@@ -21,7 +21,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.registry.core.entities.expcatalog.ProcessEntity;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowConnectionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowConnectionEntity.java
index f6baf150da..8f342c30b7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowConnectionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowConnectionEntity.java
@@ -21,7 +21,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.workflow.ComponentType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowDataBlockEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowDataBlockEntity.java
index 5b260cad41..703a93c509 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowDataBlockEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowDataBlockEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowHandlerEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowHandlerEntity.java
index d0f53447d8..a1eab80949 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowHandlerEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/airavataworkflowcatalog/WorkflowHandlerEntity.java
@@ -21,7 +21,7 @@ package org.apache.airavata.registry.core.entities.airavataworkflowcatalog;
 
 import org.apache.airavata.model.workflow.HandlerType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
index cbeec0b25b..6678c8adcd 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppModuleMappingEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppModuleMappingEntity.java
index c805b48eae..bb6f8cd48a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppModuleMappingEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppModuleMappingEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationDeploymentEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationDeploymentEntity.java
index 21e3af63f5..8836c589d9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationDeploymentEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationDeploymentEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.parallelism.ApplicationParallelismType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
index 878ffb4e37..469b6cb559 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java
@@ -24,7 +24,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
index 06ee3568e8..e7cb80b60e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInterfaceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationModuleEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationModuleEntity.java
index f18dc63dfe..2b8ee2f73d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationModuleEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationModuleEntity.java
@@ -20,10 +20,10 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
index a408655e4d..23f7c0db7b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java
@@ -24,7 +24,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueEntity.java
index 390647b5cf..6cace49203 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
index f0631d7fef..4fb190f0f1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
@@ -23,12 +23,12 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/CloudJobSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/CloudJobSubmissionEntity.java
index 908859edb1..0bfa6b7f21 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/CloudJobSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/CloudJobSubmissionEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.airavata.model.appcatalog.computeresource.ProviderName;
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceEntity.java
index 313a5db5d2..cdb83f33c2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceFileSystemEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceFileSystemEntity.java
index 4a65992a83..988dc9228a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceFileSystemEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceFileSystemEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.appcatalog.computeresource.FileSystems;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
index e78ffd1479..6da5d37fe0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
@@ -23,15 +23,15 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
index 40dc3d0248..484ea3be27 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePreferenceEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
index 3948098638..4ad124c3e1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java
@@ -23,17 +23,17 @@ import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
 
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinColumns;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinColumns;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
 
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/DataMovementInterfaceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/DataMovementInterfaceEntity.java
index efae53f36d..328c29ccaa 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/DataMovementInterfaceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/DataMovementInterfaceEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
index ec7f9f79ea..787a36ce0a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
@@ -20,10 +20,10 @@
 
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
index 0fab6d68b0..7bde137074 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayProfileEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusGkEndpointEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusGkEndpointEntity.java
index 14102b1e68..93d45ce67b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusGkEndpointEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusGkEndpointEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusSubmissionEntity.java
index ab71edab10..80105a01d1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GlobusSubmissionEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpDataMovementEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpDataMovementEntity.java
index 5845e8664d..afefee06ee 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpDataMovementEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpDataMovementEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpEndpointEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpEndpointEntity.java
index cce0eff1c3..41e77d4fdd 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpEndpointEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GridftpEndpointEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
index 97383e8cd5..f910d86ae7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
@@ -24,19 +24,19 @@ import org.apache.airavata.model.data.movement.DataMovementProtocol;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OrderBy;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
index 4396818b1a..8e5487d10b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
@@ -19,13 +19,13 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
index c913d1dd9f..e1f6d6488d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
@@ -22,15 +22,15 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinColumns;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinColumns;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshExportEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshExportEntity.java
index c7eb2296e8..3d60ca0b2e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshExportEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshExportEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPostjobcommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPostjobcommandEntity.java
index f4b2298a33..833c055fa1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPostjobcommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPostjobcommandEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPrejobcommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPrejobcommandEntity.java
index 02a5bfa318..10ba332f15 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPrejobcommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshPrejobcommandEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshSubmissionEntity.java
index 471f042470..65ecbc8275 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GsisshSubmissionEntity.java
@@ -20,10 +20,10 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
index a39e791b96..40c86e60a6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobManagerCommandEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
index 2f1e28e7b0..0f1ee7e32c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/JobSubmissionInterfaceEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
index 35bd448edb..cac0909c33 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
index f0520690cd..7c6b01b70b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalDataMovementEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalDataMovementEntity.java
index b868696184..26ec1b8965 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalDataMovementEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalDataMovementEntity.java
@@ -20,10 +20,10 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
index 673e245e11..a94a305405 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LocalSubmissionEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
index 03edc658c6..6be32a65e7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
index cba221c4e5..1fdcff5c2b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParallelismCommandEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.parallelism.ApplicationParallelismType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
index 42a90dd622..4668b84657 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
index b37c4ed497..ac559e06e5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserConnectorInputEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserEntity.java
index 39bd028cdc..b75a19280c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
index 76f563c67c..8c78259d50 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
index 3216ae65bb..6142db0758 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java
index 5ad32b98cc..8f1c23f679 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
index ff9fdc6965..8bacbb089e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
@@ -20,7 +20,7 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
index aaddf8b6b1..babd441cd3 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
index 739ddaecd3..644c56da15 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ResourceJobManagerEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ResourceJobManagerEntity.java
index 69f1f7be9c..bbcea3b995 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ResourceJobManagerEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ResourceJobManagerEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
index 8fcde474b0..7f6ce23c60 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SSHAccountProvisionerConfiguration.java
@@ -20,7 +20,7 @@
 
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 
 /**
  * The persistent class for the ssh_account_provisioner_config database table.
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ScpDataMovementEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ScpDataMovementEntity.java
index ba4919f80f..f5f2ee7f33 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ScpDataMovementEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ScpDataMovementEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
index db7beeb6bb..6839fd1034 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/SshJobSubmissionEntity.java
@@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageInterfaceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageInterfaceEntity.java
index f39982dbb0..985aaedce2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageInterfaceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageInterfaceEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
index 8031b8fd03..1bbab9d984 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StoragePreferenceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
index c097fa3324..2c790d8082 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/StorageResourceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreDatamovementEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreDatamovementEntity.java
index 1533f652f2..602914277c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreDatamovementEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreDatamovementEntity.java
@@ -22,12 +22,12 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreSubmissionEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreSubmissionEntity.java
index 61754e455e..33a95c8f9d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreSubmissionEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UnicoreSubmissionEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.data.movement.SecurityProtocol;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java
index 3250b69393..68eaf8c838 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.sql.Timestamp;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserResourceProfileEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserResourceProfileEntity.java
index 2756219271..c55f964197 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserResourceProfileEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserResourceProfileEntity.java
@@ -21,7 +21,7 @@
 package org.apache.airavata.registry.core.entities.appcatalog;
 
 import java.util.*;
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.sql.Timestamp;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserStoragePreferenceEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserStoragePreferenceEntity.java
index 8d73eafa24..78fa9863b5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserStoragePreferenceEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserStoragePreferenceEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 
 /**
  * The persistent class for the user_storage_preference database table.
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java
index 4321397b69..69bed11152 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java
@@ -1,6 +1,6 @@
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
index b38fa3aa05..ccdd8066a1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.experiment.ExperimentType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
index f2167c0db3..b383b2a993 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
index db10e7db0b..7e66abf593 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
index 6e11e7b68f..051f32b229 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.application.io.DataType;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
index 5ef5a0a069..01a2fb8e4f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.status.ExperimentState;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
index 3a19dcbca6..ecdd53e213 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentSummaryEntity.java
@@ -19,7 +19,7 @@
  */
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
index 70e9cd6358..a6059ff42c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.workspace.GatewayApprovalStatus;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
index 1beeb3453c..51ab550969 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayUsageReportingCommandEntity.java
@@ -19,7 +19,7 @@
  */
  package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 @Entity
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayWorkerEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayWorkerEntity.java
index 332b7b76af..8b5d58d111 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayWorkerEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/GatewayWorkerEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 
 /**
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
index a8e297be5a..d22b355cae 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
index a91a0195e4..82d301b252 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.status.JobState;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/NotificationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/NotificationEntity.java
index e89bb5ad6b..6c4d329623 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/NotificationEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/NotificationEntity.java
@@ -22,7 +22,7 @@ package org.apache.airavata.registry.core.entities.expcatalog;
 
 import org.apache.airavata.model.workspace.NotificationPriority;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
index 94a2175e94..d7428c6fa2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
@@ -21,7 +21,7 @@
 package org.apache.airavata.registry.core.entities.expcatalog;
 
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.Collection;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
index cdd946f195..7fc3655019 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java
@@ -20,7 +20,7 @@
 */
 package org.apache.airavata.registry.core.entities.expcatalog;
 
-import javax.persistence.*;
+import jakarta.persistence.*;
 import java.io.Serializable;
... 1159 lines suppressed ...