Skip to content
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

[RFE] Allow running providers selectively in analyzer addon #155

Closed
pranavgaikwad opened this issue Jan 22, 2024 · 1 comment
Closed

[RFE] Allow running providers selectively in analyzer addon #155

pranavgaikwad opened this issue Jan 22, 2024 · 1 comment
Assignees
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Milestone

Comments

@pranavgaikwad
Copy link
Contributor

pranavgaikwad commented Jan 22, 2024

Problem

We are anticipating changes in the analyzer-lsp base image. We will split up providers into their individual images. In the enhancement, we mainly want to discuss:

  • How exactly we will run the addon Pod with user selected language providers? An important problem here is sharing the source location.
  • How will the UI filter targets/rulesets appropriate for provider(s) that will be selected.
  • How could someone use their own provider image? This is not just overriding an existing provider image, but can we make it so that users can also test with new language providers that are not yet in the UI?
  • How can we be sure that provider containers be terminated when the addon has completed?
  • How will credentials be injected into provider containers? Example: maven settings file.
  • In future, we might need to run .NET on a windows host remotely.

Solution

See: Hub Issue for hub/addon details.

Filtering/Selection

Targets will be filtered and Providers will be selected by Language tag(s). This will likely depend on the Application Discovery feature.

Addon Extensions

An Addon Extension is primarily an optional container definition along with criteria defined by a new CR. Providers will be defined to the hub as an Addon Extension. The first supported selection criteria will be by application tag matching.

Task Pod

The task pod will be configured with a main container for the addon and a sidecar container for each of the providers. All containers will mount an EmptyDir volume into /shared for sharing files such as credentials and source code trees.

Custom Providers

Users may define new providers for testing using the UI by added a new Extension CR that is mapped to a new Language tag. Then, add/replace the language tag so that extension (provider) is selected.

Testing with the API is simpler. The user would add the Extension, and submit an analysis tag using the API that references the extension explicitly.

Links:

@dymurray dymurray added this to the v0.4.0 milestone Jan 25, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in Planning Jan 25, 2024
@konveyor-ci-bot konveyor-ci-bot bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Feb 19, 2024
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Feb 19, 2024
@dymurray dymurray moved this from 🆕 New to 🔖 Ready in Planning Apr 18, 2024
@dymurray dymurray modified the milestones: v0.4.0, v0.5.0 Apr 23, 2024
@dymurray dymurray added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 6, 2024
@dymurray dymurray moved this from 🔖 Ready to 🏗 In progress in Planning Jun 4, 2024
@dymurray dymurray moved this from 🏗 In progress to ✅ Done in Planning Jun 20, 2024
@dymurray dymurray closed this as completed Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: ✅ Done
Development

No branches or pull requests

3 participants