Skip to content

✨ Analysis Profiles #928

@jortel

Description

@jortel

Add support for analysis profiles and bundles.The bundle contains a profile and rulesets.

URL:

Find applications by URL.

GET /applications?filter=repository.url:git://github.com/xxx
GET /applications?filter=repository.url:git://github.com/xxx,repository.path:applications/dog-catcher

Returns []Application.

---
id:18
name: Dog
...

List profiles for an application.

Each profile is a snapshot of analysis settings. This includes selected Targets which are needed by the UI when editing the profile and to detect when the profile is stale. The included labels do not include labels already specified by selected targets. As a result, they also represent the labels added/subtracted from the Targets. This still works with profiles not using targets. It's just that labels from selected targets are not automatically added to the included labels list.

GET /analysis/profiles?filter=application.id:18

Returns []AnalysisProfile.

---
id:43
name: Superman
mode:
    withDeps: true
scope:
    withKnownLibs: false
    packages:
        included:
        - javax.a
        excluded:
        - javax.b
rules:
    targets:
    - id: 1
    labels:
        included:
        - A
        - B
        excluded:
        - B
        - C
    files:  # uploaded files.
     - id: 44
       name: ruleset-23 
    repository:  # Repository
...

Download bundle for a profile.

GET /analysis/profiles/43/bundle

Returns TARBALL:

|___profile.yaml
|___rules/
    |__ruleset-a/
    |__ruleset-b/

profile.yaml=

---
id: 65
name: Test
digest: <SHA>
scope:
    withDeps: true
    withKnownLibs: false
    packages:
      included: []
      excluded: []
rules:
  labels:
    included:
      - konveyor.io/target=cloud-readiness
      - konveyor.io/target=linux
    excluded: []

Associate with Archetypes

Associate with optional ref: TargetProfile.analysisProfile:

analysisProfile:
  id:43
  name: Superman

Metadata

Metadata

Assignees

Labels

needs-kindIndicates an issue or PR lacks a `kind/foo` label and requires one.needs-priorityIndicates an issue or PR lacks a `priority/foo` label and requires one.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

Type

No type

Projects

Status

🏗 In progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions