Skip to content

Rename ExploitIQ/Agent morpheus to Exploit Intelligence#255

Open
TamarW0 wants to merge 48 commits into
mainfrom
APPENG-5387-branding
Open

Rename ExploitIQ/Agent morpheus to Exploit Intelligence#255
TamarW0 wants to merge 48 commits into
mainfrom
APPENG-5387-branding

Conversation

@TamarW0

@TamarW0 TamarW0 commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@vbelouso

vbelouso commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@TamarW0

TamarW0 commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator Author

/retest

@rhartuv rhartuv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @TamarW0 👍
There are a lot of changes that could have a broader impact, so a decision is needed: do we revert to the previous name, or do we update many other files and repositories that depend on this code?
Good luck :)

Comment thread openspec/specs/feedback-report/spec.md Outdated
morpheus.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}
exploit-intelligence.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}

# Feedback API settings

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert feedback API hostname change — quarkus.rest-client.feedback-api.url was changed from http://morpheus-feedback-api:5001 to http://exploit-intelligence-feedback-api:5001, but there’s no matching ocp Service rename in this PR (and deploy/agent_morpheus_client.yaml doesn’t override it). In cluster, feedback submit/check will fail on DNS unless infra is renamed in parallel.
For a branding-only PR, keep the old hostname here; rename when the Service is actually renamed.

BUT- It’s worth aligning on this and making a sweeping decision. I’d consult with @zvigrinberg

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zvigrinberg what do you think?
is it worth changing all ocp services names of leave it as it for now?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point @rhartuv
@TamarW0 In case you goes for changing the service names here, you better do the service names changes in vulnerability-analysis PR and merge it before this one is get merged. ( in that particular case also in the user-feedback repo)..
Just to be on the safe side, it can be done in a subsequent PR after the other PRs are merged.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is better to do it in a separate PR, and you are right about the order

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 If you're doing already in user feedback repository and in the agent repo and they get merged first, then you can do it here.

quarkus.rest-client.github.headers.User-Agent=exploit-iq
quarkus.rest-client.morpheus.url=https://agent-morpheus:8080/generate
%dev.quarkus.rest-client.morpheus.url=http://localhost:26466/generate
quarkus.rest-client.exploit-intelligence.url=https://exploit-intelligence:8080/generate

@rhartuv rhartuv Jun 24, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quarkus.rest-client.exploit-intelligence.url was changed from https://agent-morpheus:8080/generate to https://exploit-intelligence:8080/generate, but deploy/infra in this repo still references agent-morpheus (e.g. deploy/agent_morpheus_client.yaml). This will break report submission in cluster unless the ocp Service is renamed in the same rollout.
In my opinion, For branding-only scope, keep the old hostname and only rename the property key if needed.

BUT- It’s worth aligning on this and making a sweeping decision.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted this for now
@zvigrinberg WDTY?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Make sure it's aligned with agent service name in vulnerability-analysis' deployment base overlay variant, and then it can be merged in that order: agent App -> client App.

Comment thread src/main/resources/application.properties Outdated
Comment thread openspec/specs/repository-reports-table/spec.md Outdated
%test.quarkus.log.category."io.quarkiverse.wiremock.devservice.WireMockServer".level=ERROR
# Morpheus REST client → WireMock (no real agent in @QuarkusTest); stub is mappings/morpheus-generate.json
%test.quarkus.rest-client.morpheus.url=http://localhost:${quarkus.wiremock.devservices.port}/generate
# Exploit Intelligence REST client → WireMock (no real agent in @QuarkusTest); stub is mappings/exploit-intelligence-generate.json

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment references a file that doesn’t exist - test config comment says mappings/exploit-intelligence-generate.json, but the actual stub is still morpheus-generate.json. fix the comment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed that
now the file is mappings/exploit-iq-generate.json and exists

Comment thread pom.xml Outdated
<modelVersion>4.0.0</modelVersion>
<groupId>com.redhat.ecosystemappeng.morpheus</groupId>
<artifactId>agent-morpheus-client</artifactId>
<groupId>com.redhat.ecosystemappeng.exploit-intelligence</groupId>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes agent-morpheus-clientexploit-intelligence while Java packages, paths, image names, and deploy manifests are unchanged. This can break CI/CD, container builds, and downstream references without a coordinated migration.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pathes changed as well

Comment thread docs/authentication.md Outdated
# Authentication

This guide covers authentication configuration for ExploitIQ Client, including OpenShift OAuth, external identity providers, and development setups.
This guide covers authentication configuration for exploit intelligence, including OpenShift OAuth, external identity providers, and development setups.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs/authentication.md documents exploit-intelligence-client and exploit-intelligence-* roles, but application.properties and keycloak-realm.json still use exploit-iq-client / exploit-iq-view etc.
Either update the runtime config + realm together, or revert the doc changes to match what the app actually uses today....
It’s worth aligning on this and making a sweeping decision.

@TamarW0 TamarW0 added the WIP label Jun 24, 2026
@TamarW0 TamarW0 removed the WIP label Jun 25, 2026

@zvigrinberg zvigrinberg left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @TamarW0 ,

There are still a lot of things to do:

  1. a lot of readmes in the docs still referencing old name of morpheus.
  2. Dockerfiles at path src/main/docker/, still referencing old agent morpheus name in the comments explaining how to build the image - please check.
  3. Also i've noticed you deleted and recreated few files while refactoring, this might eliminate git history for files and that's a shame ( unless done with the git mv command).
  4. In the tests i've encountered some reference to morpheus , in particular at src/test/java/com/redhat/ecosystemappeng/exploitiq/rest/RestApiTestFixture.java.
  5. Rest of comments below addresses all others.

# This ensures credentials survive queue wait before Agent execution

morpheus.credential-store.encryption-key=${CREDENTIAL_ENCRYPTION_KEY}
exploit-iq.credential-store.encryption-key=${CREDENTIAL_ENCRYPTION_KEY:build-time-placeholder-32-bytes!}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 In prod profile the property should be without default ( only for dev profile it should have).

Comment thread docs/authentication.md Outdated
morpheus.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}
exploit-intelligence.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}

# Feedback API settings

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point @rhartuv
@TamarW0 In case you goes for changing the service names here, you better do the service names changes in vulnerability-analysis PR and merge it before this one is get merged. ( in that particular case also in the user-feedback repo)..
Just to be on the safe side, it can be done in a subsequent PR after the other PRs are merged.

Comment thread pom.xml Outdated
%dev.quarkus.wiremock.devservices.files-mapping=src/test/resources/devservices/wiremock
#%dev.quarkus.rest-client.github.url=https://api.github.com
#%dev.quarkus.rest-client.morpheus.url=http://localhost:${quarkus.wiremock.devservices.port}/morpheus/scan
#%dev.quarkus.rest-client.exploit-iq.url=http://localhost:${quarkus.wiremock.devservices.port}/exploit-Iq/scan

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#%dev.quarkus.rest-client.exploit-iq.url=http://localhost:${quarkus.wiremock.devservices.port}/exploit-Iq/scan
#%dev.quarkus.rest-client.exploit-iq.url=http://localhost:${quarkus.wiremock.devservices.port}/exploit-iq/scan

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
* Builds, persists, and submits ExploitIQ report requests for the RPM package checker pipeline.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
/** RPM package identity for ExploitIQ Agent RPM package checker pipeline. */

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
"The exploit-iq.repository.reports-path must be a valid directory: " + reportsPath);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
* builds ExploitIQ input with {@link PipelineMode#RPM_PACKAGE_CHECKER}, persists, and submits to the queue.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 At least 3 occurences of Morpheus in this file that should be replace with ExploitIQ.

TamarW0 and others added 5 commits June 25, 2026 16:47
Co-authored-by: Zvi Grinberg <75700623+zvigrinberg@users.noreply.github.com>
Co-authored-by: Zvi Grinberg <75700623+zvigrinberg@users.noreply.github.com>

@zvigrinberg zvigrinberg left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 This already looks better than before...
Please see my comments.

const isProductContext = productId != null && cveId != null;

const { status: statusFilterValue, exploitIqStatus: exploitIqStatusApiValue } =
const { status: statusFilterValue, exploitIqStatus: ExploitIqStatusApiValue } =

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Please revert to camelCase from UpperCamelCase in all places in this file
As it's variable name

Suggested change
const { status: statusFilterValue, exploitIqStatus: ExploitIqStatusApiValue } =
const { status: statusFilterValue, exploitIqStatus: exploitIqStatusApiValue } =

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* Use {@link withAppTitle} so every tab includes the product name.
*/

export const DOCUMENT_TITLE_APP_NAME = "Exploit Intelligence";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 What about that?

The ID column SHALL display `report.id` as a link to the report page (component route: `/reports/component/{cveId}/{report.id}`; product route: `/reports/product/{productId}/{cveId}/{report.id}`). The **Date Requested** column SHALL display `metadata.submitted_at` when present, in the format "DD Month YYYY, HH:MM:SS AM/PM"; when `metadata.submitted_at` is missing, the cell SHALL display "-". The **Date Completed** column SHALL display `report.completedAt` in the same format. All date fields SHALL use the format "DD Month YYYY, HH:MM:SS AM/PM" (e.g., "07 July 2025, 10:14:02 PM").

The table SHALL display a single **Finding** column (no separate "Analysis state" or "ExploitIQ Status" column). The Finding cell SHALL show, per row: if the report's analysis state is **completed**, the ExploitIQ status (Vulnerable, Not vulnerable, or Uncertain) from the vulnerability justification; if the report's analysis state is **pending**, **queued**, or **sent**, "In progress" using the shared InProgressStatus component (grey outline label, InProgressIcon); if the report's analysis state is **expired** or **failed**, "Failed" using the shared FailedStatus component (grey filled label, ExclamationCircleIcon). Styling SHALL match the Finding column in the reports table for in-progress and failed states.
The table SHALL display a single **Finding** column (no separate "Analysis state" or "ExploitIQ Status" column). The Finding cell SHALL show, per row: if the report's analysis state is **completed**, the ExploitIQ status (Vulnerable, Not vulnerable, or Uncertain) from the vulnerability justification; if the report's analysis state is **pending**, **queued**, or **sent**, "In progress" using the shared InProgressStatus component (grey outline label, InProgressIcon); if the report's analysis state is **expired** or **failed**, "Failed" using the shared FailedStatus component (grey filled label, ExclamationCircleIcon). Styling SHALL match the Finding column in the reports table for in-progress and failed states.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Redundant one space separator in two words "ExploitIQ Status"

Suggested change
The table SHALL display a single **Finding** column (no separate "Analysis state" or "ExploitIQ Status" column). The Finding cell SHALL show, per row: if the report's analysis state is **completed**, the ExploitIQ status (Vulnerable, Not vulnerable, or Uncertain) from the vulnerability justification; if the report's analysis state is **pending**, **queued**, or **sent**, "In progress" using the shared InProgressStatus component (grey outline label, InProgressIcon); if the report's analysis state is **expired** or **failed**, "Failed" using the shared FailedStatus component (grey filled label, ExclamationCircleIcon). Styling SHALL match the Finding column in the reports table for in-progress and failed states.
The table SHALL display a single **Finding** column (no separate "Analysis state" or "ExploitIQ Status" column). The Finding cell SHALL show, per row: if the report's analysis state is **completed**, the ExploitIQ status (Vulnerable, Not vulnerable, or Uncertain) from the vulnerability justification; if the report's analysis state is **pending**, **queued**, or **sent**, "In progress" using the shared InProgressStatus component (grey outline label, InProgressIcon); if the report's analysis state is **expired** or **failed**, "Failed" using the shared FailedStatus component (grey filled label, ExclamationCircleIcon). Styling SHALL match the Finding column in the reports table for in-progress and failed states.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice you saw this
fixed

morpheus.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}
exploit-intelligence.syft.cache.dir=${SYFT_CACHE_DIR:/work/.cache/syft}

# Feedback API settings

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 If you're doing already in user feedback repository and in the agent repo and they get merged first, then you can do it here.

# quarkus.log.category."io.quarkus.oidc".min-level=DEBUG

%dev.quarkus.log.category."com.redhat.ecosystemappeng.morpheus".level=DEBUG
%dev.quarkus.log.category."com.redhat.ecosystemappeng.exploit-iq".level=DEBUG

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 This should match a java package ,but the dash in exploit-iq is invalid and won't match anything.

Suggested change
%dev.quarkus.log.category."com.redhat.ecosystemappeng.exploit-iq".level=DEBUG
%dev.quarkus.log.category."com.redhat.ecosystemappeng.exploitiq".level=DEBUG

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

/**
* Create analysis request for an RPM package
* Accepts RPM name, version, release, architecture, and a CVE id; builds a Morpheus input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object "errors" mapping field names to messages).
* Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object "errors" mapping field names to messages).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object "errors" mapping field names to messages).
* Accepts RPM name, version, release, architecture, and a CVE id; builds an ExploitIq input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object "errors" mapping field names to messages).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

import org.eclipse.microprofile.openapi.annotations.media.Schema;

@Schema(name = "PipelineMode", description = "Morpheus agent pipeline mode")
@Schema(name = "PipelineMode", description = "ExploitIq pipeline mode")

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 This is built into the openapi description for the model

Suggested change
@Schema(name = "PipelineMode", description = "ExploitIq pipeline mode")
@Schema(name = "PipelineMode", description = "ExploitIQ pipeline mode")

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

summary = "Create analysis request for an RPM package",
description = """
Accepts RPM name, version, release, architecture, and a CVE id; builds a Morpheus input with \
Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with \
Accepts RPM name, version, release, architecture, and a CVE id; builds an ExploitIQ input with \

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@Operation(
summary = "Receive analysis report",
description = "Receives a completed analysis report from Morpheus")
description = "Receives a completed analysis report from ExploitIq")

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
description = "Receives a completed analysis report from ExploitIq")
description = "Receives a completed analysis report from ExploitIQ")

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Comment thread src/main/webui/src/types/FullReport.ts Outdated
}

/** RPM NEVRA persisted under Morpheus `input.image.target_package`. */
/** RPM NEVRA persisted under ExploitIq `input.image.target_package`. */

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
/** RPM NEVRA persisted under ExploitIq `input.image.target_package`. */
/** RPM NEVRA persisted under ExploitIQ `input.image.target_package`. */

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@zvigrinberg zvigrinberg left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Thank you, almost there, please see my comments.

Comment on lines +855 to +858
String[] ExploitIqStatusValues = exploitIqStatus.split(",");
List<Bson> exploitIqStatusFilters = new ArrayList<>();

for (String statusValue : exploitIqStatusValues) {
for (String statusValue : ExploitIqStatusValues) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Convert var reference to camelCase

Suggested change
String[] ExploitIqStatusValues = exploitIqStatus.split(",");
List<Bson> exploitIqStatusFilters = new ArrayList<>();
for (String statusValue : exploitIqStatusValues) {
for (String statusValue : ExploitIqStatusValues) {
String[] exploitIqStatusValues = exploitIqStatus.split(",");
List<Bson> exploitIqStatusFilters = new ArrayList<>();
for (String statusValue : exploitIqStatusValues) {

Comment thread src/main/webui/openapi.json Outdated
},
"PipelineMode": {
"description": "Morpheus agent pipeline mode",
"description": "ExploitIq pipeline mode",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "ExploitIq pipeline mode",
"description": "ExploitIQ pipeline mode",

Comment thread src/main/webui/openapi.json Outdated
"post": {
"summary": "Receive analysis report",
"description": "Receives a completed analysis report from Morpheus",
"description": "Receives a completed analysis report from ExploitIq",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
"description": "Receives a completed analysis report from ExploitIq",
"description": "Receives a completed analysis report from ExploitIQ",

Comment thread src/main/webui/openapi.json Outdated
"post": {
"summary": "Create analysis request for an RPM package",
"description": "Accepts RPM name, version, release, architecture, and a CVE id; builds a Morpheus input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object \"errors\" mapping field names to messages).",
"description": "Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object \"errors\" mapping field names to messages).",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0

Suggested change
"description": "Accepts RPM name, version, release, architecture, and a CVE id; builds a ExploitIq input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object \"errors\" mapping field names to messages).",
"description": "Accepts RPM name, version, release, architecture, and a CVE id; builds an ExploitIQ input with pipeline_mode rpm_package_checker and target_package, persists the report, and always submits it for analysis (same queue path as POST /reports/new with submit=true). Validation errors use the same field-mapped JSON shape as POST /products/upload-spdx (object \"errors\" mapping field names to messages).",

# Default timeout for async SPDX processing wait in REST tests.
%test.morpheus.rest-test.spdx-timeout=10m
# Default timeout for async SPDX processing wait in REST tests (test-only config, not part of exploit-iq namespace).
%test.test.rest.spdx-timeout=10m

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Should be aligned with the rename you have made:

Suggested change
%test.test.rest.spdx-timeout=10m
%test.exploit-iq.rest-test.spdx-timeout=10m

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zvigrinberg why "rest-test"?

@zvigrinberg zvigrinberg Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zvigrinberg why "rest-test"?

Should be aligned with usages in the tests.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually changing that is failing the tests, it expect test.rest.spdx-timeout=10m

"specversion": "1.0",
"id": "",
"source": "agent.morpheus.client",
"source": "exploit-iq.client",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 This change might affect integration with exploitiq-component-syncer.
Although currently not being activated and not incorporated into product scan analysis, please coordinate that with @vbelouso So he will update the source name accordingly in the component syncer' event payload.

https://github.com/RHEcosystemAppEng/exploitiq-component-syncer/blob/main/events/event_single.json#L4

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vbelouso will update accordingly

public static final String CONFIG_KEY_EXTERNAL_BASE_URL = "morpheus.rest-test.external-base-url";
public static final String CONFIG_KEY_SPDX_TIMEOUT = "morpheus.rest-test.spdx-timeout";
public static final String CONFIG_KEY_EXTERNAL_BASE_URL = "exploit-iq.rest-test.external-base-url";
public static final String CONFIG_KEY_SPDX_TIMEOUT = "exploit-iq.rest-test.spdx-timeout";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TamarW0 Here

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here I didnt add the suffix "-test" but I guess it was missing .
fixed that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants