Description
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:
- Alizer should be more resilient when detecting ports in a component redhat-developer/alizer#146
- Add port detection for the Laravel detector redhat-developer/alizer#212.
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
fordevfile
- 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
Type
Projects
Status