-
Notifications
You must be signed in to change notification settings - Fork 8
MTA-5198 Solution Server Configurations #180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
:_newdoc-version: 2.18.3 | ||
:_template-generated: 2025-03-17 | ||
|
||
ifdef::context[:parent-context-of-solution-server-configurations: {context}] | ||
|
||
:_mod-docs-content-type: ASSEMBLY | ||
|
||
ifndef::context[] | ||
[id="solution-server-configurations"] | ||
endif::[] | ||
ifdef::context[] | ||
[id="solution-server-configurations_{context}"] | ||
endif::[] | ||
= Solution Server Configurations | ||
:context: solution-server-configurations | ||
|
||
[role=_abstract] | ||
Solution server is a component that allows {mta-dl-plugin} to build a collective memory of code changes from all analysis performed in an organization. In the local context of an analysis run in the Visual Studio (VS) Code, the Solution Server augments previous patterns of how codes changed to resolve issues (also called solved examples) that were similar to those in the current file, and suggests a resolution that has a higher confidence level derived from previous solutions. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. does it make sense to expand a bit about ss?
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @savitharaghunathan - thanks... that looks cool enough |
||
|
||
As {mta-dl-plugin} is an optional set of features in {ProductShortName}, you must complete the following configurations before you can access settings necessary to use AI analysis. | ||
|
||
include::topics/developer-lightspeed/proc_tackle-llm-secret.adoc[leveloffset=+1] | ||
|
||
include::topics/developer-lightspeed/proc_tackle-enable-dev-lightspeed.adoc[leveloffset=+1] | ||
|
||
ifdef::parent-context-of-solution-server-configurations[:context: {parent-context-of-solution-server-configurations}] | ||
ifndef::parent-context-of-solution-server-configurations[:!context:] | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/home/pkylasam/Documents/repos/mta-documentation/docs/topics |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../../assemblies/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<title>IntelliJ IDEA Plugin Guide</title> | ||
<productname>{DocInfoProductName}</productname> | ||
<productnumber>{DocInfoProductNumber}</productnumber> | ||
<subtitle>Identify and resolve migration issues by analyzing your applications with the {ProductName} plugin for IntelliJ IDEA.</subtitle> | ||
<abstract> | ||
<para> | ||
This guide describes how to use the {ProductName} plugin for IntelliJ IDEA to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. | ||
</para> | ||
</abstract> | ||
<authorgroup> | ||
<orgname>Red Hat Customer Content Services</orgname> | ||
</authorgroup> | ||
<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
Comment on lines
+1
to
+13
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We will have to do a re-write. Please can we look at this together |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
:mta: | ||
include::topics/templates/document-attributes.adoc[] | ||
:_mod-docs-content-type: ASSEMBLY | ||
[id="mta-developer-lightspeed"] | ||
= MTA with Developer Lightspeed | ||
|
||
:toc: | ||
:toclevels: 4 | ||
:numbered: | ||
:imagesdir: topics/images | ||
:context: mta-developer-lightspeed | ||
:mta-developer-lightspeed: | ||
|
||
//Inclusive language statement | ||
include::topics/making-open-source-more-inclusive.adoc[] | ||
|
||
|
||
|
||
include::assemblies/developer-lightspeed-guide/assembly_solution-server-configurations.adoc[leveloffset=+1] | ||
|
||
:!mta-developer-lightspeed: |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../topics |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
:_newdoc-version: 2.15.0 | ||
:_template-generated: 2024-2-21 | ||
:_mod-docs-content-type: PROCEDURE | ||
|
||
[id="tackle-enable-dev-lightspeed_{context}"] | ||
= Enabling {mta-dl-plugin} in Tackle custom resource | ||
|
||
[role="_abstract"] | ||
Solution Server integrates with the {ProductShortName} Hub backend component to use the database and volumes necessary to store and retrieve the solved examples. | ||
|
||
To enable Solution Server and other AI configurations in the {ProductShortName} VS Code extension, you must modify the Tackle custom resource (CR) with additional parameters. | ||
|
||
.Prerequisites | ||
|
||
//the hard link must be changed to the same topic in 8.0.0 that has the `{mta-dl-plugin}-database` req. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we could use attributes |
||
. You deployed an additional RWO volume for `{mta-dl-plugin}-database` if you want to use {mta-dl-plugin}. See link:https://docs.redhat.com/en/documentation/migration_toolkit_for_applications/7.3/html/user_interface_guide/mta-7-installing-web-console-on-openshift_user-interface-guide#openshift-persistent-volume-requirements_user-interface-guide[Persistent volume requirements] for more information. | ||
|
||
. You installed the {ProductShortName} operator v8.0.0. | ||
|
||
|
||
.Procedure | ||
|
||
. Log in to the {ocp-short} cluster and switch to the `openshift-mta` project. | ||
+ | ||
. Edit the Tackle custom resource (CR) settings in the `tackle_hub.yml` to enable {mta-dl-plugin} and then enter applicable values for `kai_llm_provider` and `kai_llm_model` variables. | ||
+ | ||
[source, yaml] | ||
---- | ||
--- | ||
kind: Tackle | ||
apiVersion: tackle.konveyor.io/v1alpha1 | ||
metadata: | ||
name: mta | ||
namespace: openshift-mta | ||
spec: | ||
kai_solution_server_enabled: true | ||
kai_llm_provider: ChatIBMGenAI | ||
# optional, pick a suitable model for your provider | ||
kai_llm_model: <model-name> | ||
... | ||
---- | ||
+ | ||
//How about Amazon Bedrock, Deepseek, and Azure OpenAI? | ||
[NOTE] | ||
==== | ||
The default large language model (LLM) provider is `ChatIBMGenAI`. You may also enter `google` or `openai` as providers. | ||
==== | ||
+ | ||
. Apply the Tackle CR by using the following command. | ||
+ | ||
[source, terminal] | ||
---- | ||
$ kubectl apply -f tackle_hub.yaml | ||
---- | ||
|
||
.Verification | ||
|
||
. Enter the following command to verify the {mta-dl-plugin} resources. | ||
+ | ||
[source, terminal] | ||
---- | ||
kubectl get deploy,svc -n openshift-mta | grep -E 'kai-(api|db|importer)' | ||
---- |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
:_newdoc-version: 2.15.0 | ||
:_template-generated: 2024-2-21 | ||
:_mod-docs-content-type: PROCEDURE | ||
|
||
[id="tackle-llm-secret_{context}"] | ||
= Configuring the model secret key | ||
|
||
[role="_abstract"] | ||
|
||
You must configure the Kubernetes secret for the large language model (LLM) provider in the {ocp-short} project where you installed the {ProductShortName} operator. | ||
|
||
.Procedure | ||
|
||
. Create a credentials secret named `kai-api-keys` in the `openshift-mta` project. | ||
.. For the default IBM GenAI provider `ChatIBMGenAI`, type: | ||
+ | ||
[source, terminal] | ||
---- | ||
kubectl create secret generic kai-api-keys -n openshift-mta \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. does the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes. |
||
--from-literal=genai_key='<YOUR_IBM_GENAI_KEY>' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This key is outdated. What should go in the literal here is whatever environment variables the provider you have configured expects. For example, if you're using openai models, they expect that there will be an environment variable named |
||
---- | ||
+ | ||
.. For the Google as the provider, type: | ||
+ | ||
[source, terminal] | ||
---- | ||
kubectl create secret generic kai-api-keys -n openshift-mta \ | ||
--from-literal=google_key='<YOUR_GOOGLE_API_KEY>' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
---- | ||
+ | ||
.. For the OpenAI-compatible providers, type: | ||
+ | ||
[source, terminal] | ||
---- | ||
kubectl create secret generic kai-api-keys -n openshift-mta \ | ||
--from-literal=api_base='https://api.openai.com/v1' \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
--from-literal=api_key='<YOUR_OPENAI_KEY>' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
---- | ||
+ | ||
. (Optional) Force a reconcile so that the {ProductShortName} operator picks up the secret immediately | ||
+ | ||
//Is the double tackle needed in the command? | ||
[source, terminal] | ||
---- | ||
kubectl patch tackle tackle -n openshift-mta --type=merge -p \ | ||
'{"metadata":{"annotations":{"konveyor.io/force-reconcile":"'"$(date +%s)"'"}}}' | ||
---- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.