Skip to content

Investigate alizer support for devfiles port detection and default ports #1154

Closed
@thepetk

Description

@thepetk

Which area this feature is related to?

/area alizer
/area test-automation
/area documentation

Which functionality do you think we should add?

This EPIC aims to investigate new functionality regarding devfile detection and enrich the port detection process by supporting default ports detection per framework.

The EPIC is the first of two steps (Epics):

  • EPIC#1154 (the current issue) focusing on the proposal & investigation.
  • EPIC#1363 focusing on the implementation.

The current situation

Right now, alizer after it detects every component it runs the port detection with a specific strategy. This strategy by default is:

  • Detect ports inside dockerfile file.
  • Detect ports inside docker-compose file.
  • Detect ports inside source code.

The devfile port detection process could be added as the fourth item in this strategy.

Devfile port detection

Exactly like, the dockerfile or docker-compose files, the devfile should be considered as a resource that we can detect ports from its contents.

Default ports

Every framework that runs on a port/ports by default, should include this information in the response of alizer.

Default ports feature has been discussed also in several issues in the past like:

Why is this needed? Is your feature request related to a problem?

This will be a good improvement in Alizer's component and port detection logic and will make Alizer more accurate in its analysis.

Describe the solution you'd like

This feature demands a fair amount of updates to the logic of Alizer. That's why it is created as an epic and a proposal should be created.

As a high overview of the solution:

  • We should follow the same detection process as dockerfile/docker compose for devfile
  • In each framework detector we should list all default ports. Also upon port detection if no port is detected we should return the default port (if any) for this framework.

Acceptance Criteria

As acceptance criteria for this EPIC the following issues must be completed:

Metadata

Metadata

Assignees

Labels

area/alizerEnhancement or issue related to the alizer repoarea/documentationImprovements or additions to documentationarea/test-automationTest automation for devfile specification and librarykind/epicA high level requirement that can/should be split into smaller issues

Type

No type

Projects

Status

Done ✅

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions