Skip to main content

Hadolint Package

ModularPipelines.Hadolint provides strongly typed access to the Hadolint Dockerfile linter.

Installation

dotnet add package ModularPipelines.Hadolint

The hadolint executable must be installed and available on PATH when the pipeline runs.

Lint Dockerfiles

using ModularPipelines.Hadolint.Enums;
using ModularPipelines.Hadolint.Extensions;
using ModularPipelines.Hadolint.Options;

var result = await context.Hadolint().Execute(
new HadolintExecuteOptions
{
Dockerfiles = ["Dockerfile", "build/Dockerfile"],
Format = HadolintFormat.Sarif,
Error = ["DL3006"],
Ignore = ["DL3008"],
FailureThreshold = HadolintFailureThreshold.Warning,
},
cancellationToken: cancellationToken);

This renders the equivalent of:

hadolint Dockerfile build/Dockerfile --format sarif --error DL3006 --ignore DL3008 --failure-threshold warning

Rule-level overrides, ignored rules, trusted registries, and required-label schemas accept multiple values and emit their option once per value.