-
Notifications
You must be signed in to change notification settings - Fork 8
New IaC type: Pulumi scanner #63
Copy link
Copy link
Open
Labels
area:scannersTerraform / CDK scanners, filters, skip-listTerraform / CDK scanners, filters, skip-listhelp wantedMaintainers welcome a PR hereMaintainers welcome a PR heretype:featureNew user-facing capabilityNew user-facing capability
Milestone
Description
Metadata
Metadata
Assignees
Labels
area:scannersTerraform / CDK scanners, filters, skip-listTerraform / CDK scanners, filters, skip-listhelp wantedMaintainers welcome a PR hereMaintainers welcome a PR heretype:featureNew user-facing capabilityNew user-facing capability
Summary
Add a new IaC type: Pulumi (TypeScript/Python) scanner, plugging into the existing factory the same way Terraform and CDK do.
Context
The scanner dispatch is a real factory:
src/iac_scanner/factory.py→create_scanner(path)picks a scanner subclass ofIacScanner(scanners/base.py) based on each scanner'scan_handleclassmethod. Per CLAUDE.md: "adding a new IaC type means a new scanner + factory entry, nothing else."What to build
scanners/pulumi.pywith aPulumiScanner(IacScanner):can_handle(path)— detectPulumi.yaml+ anindex.ts/__main__.pyentrypoint.scan()— load entry file(s), apply the shared filters (skip-list, redaction, size cap from_filters.py), return aScanResult.samples/pulumi/sample.test_factory_and_scan.py.Acceptance criteria
iac-scan scan ./samples/pulumi --scan-onlydetectsiac_type == "pulumi".Notes
Meaty but self-contained — the factory pattern makes it additive. Good for someone who wants a substantial first-or-second contribution.
area:scanners,type:feature. Read the two existing scanners first.