Skip to content

Commit 329dc3d

Browse files
committed
Promote the DockerCompose, Dockerfile, and Helm detectors to default on.
1 parent 248e744 commit 329dc3d

6 files changed

Lines changed: 3 additions & 12 deletions

File tree

docs/detectors/dockercompose.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ Docker Compose detection depends on the following to successfully run:
66

77
- One or more Docker Compose files matching the patterns: `docker-compose.yml`, `docker-compose.yaml`, `docker-compose.*.yml`, `docker-compose.*.yaml`, `compose.yml`, `compose.yaml`, `compose.*.yml`, `compose.*.yaml`
88

9-
The `DockerComposeComponentDetector` is an **Experimental** detector. It runs automatically during scans, but its output is not included in the final scan results. To include its output, pass `--DetectorArgs DockerCompose=Enable` (the key is the detector Id `DockerCompose`, not the class name).
10-
119
## Detection strategy
1210

1311
The Docker Compose detector parses YAML compose files to extract Docker image references from service definitions.
@@ -42,7 +40,6 @@ Images containing unresolved variables (e.g., `${TAG}` or `${REGISTRY:-docker.io
4240

4341
## Known limitations
4442

45-
- **Experimental Status**: This detector runs automatically but its output is not included in scan results by default. To opt in, pass `--DetectorArgs DockerCompose=Enable`
4643
- **Variable Resolution**: Image references containing unresolved environment variables or template expressions are not reported, which may lead to under-reporting in compose files that heavily use variable substitution
4744
- **Build-Only Services**: Services that only specify a `build` directive without an `image` field are not reported
4845
- **No Dependency Graph**: All detected images are registered as independent components without parent-child relationships

docs/detectors/dockerfile.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ Dockerfile detection depends on the following to successfully run:
66

77
- One or more Dockerfile files matching the patterns: `dockerfile`, `dockerfile.*`, or `*.dockerfile`
88

9-
The `DockerfileComponentDetector` is an **Experimental** detector. It runs automatically during scans, but its output is not included in the final scan results. To include its output, pass `--DetectorArgs DockerReference=Enable` (the key is the detector Id `DockerReference`, not the class name).
10-
119
## Detection strategy
1210

1311
The Dockerfile detector parses Dockerfile syntax to extract Docker image references from `FROM` and `COPY --from` instructions. It uses the [Valleysoft.DockerfileModel](https://github.com/mthalman/DockerfileModel) library to parse Dockerfile syntax.
@@ -32,7 +30,6 @@ The detector supports the full Docker reference grammar via `DockerReferenceUtil
3230

3331
## Known limitations
3432

35-
- **Experimental Status**: This detector runs automatically but its output is not included in scan results by default. To opt in, pass `--DetectorArgs DockerReference=Enable`
3633
- **Variable Resolution**: Image references containing unresolved Dockerfile `ARG` or `ENV` variables are not reported, which may lead to under-reporting in Dockerfiles that heavily use build-time variables
3734
- **No Version Pinning Validation**: The detector does not warn about unpinned image versions (e.g., `latest` tags), which are generally discouraged in production Dockerfiles
3835
- **Untagged Images Skipped**: Image references with neither a tag nor a digest (e.g. `FROM nginx`) are skipped because they cannot be uniquely identified

docs/detectors/helm.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ Helm detection depends on the following to successfully run:
88
- A chart metadata file named `Chart.yaml` or `Chart.yml` must exist in the same directory for file discovery/co-location checks; only values files are parsed for image references
99
- Lowercase `chart.yaml` and `chart.yml` do not satisfy this requirement; the detector requires an uppercase `Chart.*` file name.
1010

11-
The `HelmComponentDetector` is an **Experimental** detector. It runs automatically during scans, but its output is not included in the final scan results. To include its output, pass `--DetectorArgs Helm=Enable` (the key is the detector Id `Helm`, not the class name).
12-
1311
## Detection strategy
1412

1513
The Helm detector parses Helm values YAML files to extract Docker image references. It recursively walks the YAML tree looking for `image` keys.
@@ -45,7 +43,6 @@ Images containing unresolved variables (e.g., `{{ .Values.tag }}`) are skipped t
4543

4644
## Known limitations
4745

48-
- **Experimental Status**: This detector runs automatically but its output is not included in scan results by default. To opt in, pass `--DetectorArgs Helm=Enable`
4946
- **Values Files Only**: Only files with `values` in the name are parsed for image references. Chart.yaml files are matched but not processed
5047
- **Same-Directory Co-location**: Values files are only processed when a `Chart.yaml` (or `Chart.yml`) exists in the **same directory**. Values files in subdirectories of a chart root (e.g., `mychart/subdir/values.yaml`) will not be detected, even if a `Chart.yaml` exists in the parent directory
5148
- **Variable Resolution**: Image references containing unresolved Helm template expressions are not reported

src/Microsoft.ComponentDetection.Detectors/dockercompose/DockerComposeComponentDetector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Microsoft.ComponentDetection.Detectors.DockerCompose;
1212
using Microsoft.Extensions.Logging;
1313
using YamlDotNet.RepresentationModel;
1414

15-
public class DockerComposeComponentDetector : FileComponentDetector, IExperimentalDetector
15+
public class DockerComposeComponentDetector : FileComponentDetector
1616
{
1717
public DockerComposeComponentDetector(
1818
IComponentStreamEnumerableFactory componentStreamEnumerableFactory,

src/Microsoft.ComponentDetection.Detectors/dockerfile/DockerfileComponentDetector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Microsoft.ComponentDetection.Detectors.Dockerfile;
1212
using Microsoft.Extensions.Logging;
1313
using Valleysoft.DockerfileModel;
1414

15-
public class DockerfileComponentDetector : FileComponentDetector, IExperimentalDetector
15+
public class DockerfileComponentDetector : FileComponentDetector
1616
{
1717
private readonly ICommandLineInvocationService commandLineInvocationService;
1818
private readonly IEnvironmentVariableService envVarService;

src/Microsoft.ComponentDetection.Detectors/helm/HelmComponentDetector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Microsoft.ComponentDetection.Detectors.Helm;
1515
using Microsoft.Extensions.Logging;
1616
using YamlDotNet.RepresentationModel;
1717

18-
public class HelmComponentDetector : FileComponentDetector, IExperimentalDetector
18+
public class HelmComponentDetector : FileComponentDetector
1919
{
2020
public HelmComponentDetector(
2121
IComponentStreamEnumerableFactory componentStreamEnumerableFactory,

0 commit comments

Comments
 (0)