Common Scanner Chart¶
Directory Context
This document is part of the Scanner Types Directory. See the Scanner Types Directory Inventory for related resources.
Overview¶
The common-scanner
chart provides shared utilities and components for container scanning in Kubernetes. It builds on top of the scanner-infrastructure
chart and delivers the core scanning functionality used by all scanning approach-specific charts.
This chart implements scanning scripts, SAF CLI integration for compliance validation, and threshold configuration for pass/fail determination.
Components¶
Key Resources Created¶
- ConfigMap: Scanning Scripts
- Shell scripts for executing CINC Auditor scans
- Helper utilities for results processing
-
Support for both standard and distroless scanning
-
ConfigMap: Thresholds
- Compliance threshold configuration
- Rules for pass/fail determination
- Customizable by severity level
Features¶
SAF CLI Integration¶
The chart integrates with the MITRE SAF CLI for compliance reporting and validation:
- Threshold-Based Validation: Define pass/fail criteria
- Compliance Scoring: Calculate overall compliance percentage
- Results Formatting: Format scan results for reporting
- Failure Handling: Process scan failures with configurable behavior
Scanning Scripts¶
Includes specialized scripts for different scanning scenarios:
- scan-container.sh: Standard container scanning
- scan-distroless-container.sh: Distroless container scanning with debug containers
- scan-with-sidecar.sh: Scanning with sidecar container approach
Installation Options¶
Basic Installation¶
Custom Threshold Configuration¶
External Threshold File¶
Configuration Reference¶
Core Configuration¶
Parameter | Description | Default | Required |
---|---|---|---|
scanner-infrastructure.targetNamespace |
Target namespace | inspec-test |
Yes |
scanner-infrastructure.serviceAccount.name |
Service account name | inspec-scanner |
No |
Script Configuration¶
Parameter | Description | Default | Required |
---|---|---|---|
scripts.generate |
Generate helper scripts | true |
No |
scripts.directory |
Directory for scripts | /tmp/inspec-scanner |
No |
scripts.includeScanScript |
Include scan-container.sh | true |
No |
scripts.includeDistrolessScanScript |
Include distroless scanning script | true |
No |
scripts.includeSidecarScanScript |
Include sidecar scanning script | true |
No |
SAF CLI Configuration¶
Parameter | Description | Default | Required |
---|---|---|---|
safCli.enabled |
Enable SAF CLI integration | true |
No |
safCli.thresholdFilePath |
External threshold file path | "" |
No |
safCli.failOnThresholdError |
Fail on threshold errors | false |
No |
Threshold Configuration¶
Parameter | Description | Default | Required |
---|---|---|---|
safCli.thresholdConfig.compliance.min |
Minimum compliance score | 70 |
No |
safCli.thresholdConfig.failed.critical.max |
Maximum critical failures | 0 |
No |
safCli.thresholdConfig.failed.high.max |
Maximum high failures | 2 |
No |
safCli.thresholdConfig.failed.medium.max |
Maximum medium failures | 5 |
No |
safCli.thresholdConfig.failed.low.max |
Maximum low failures | 10 |
No |
safCli.thresholdConfig.skipped.total.max |
Maximum skipped controls | 5 |
No |
Usage Examples¶
Basic Scanning¶
After installing the chart, you can use the scanning scripts:
Threshold Configuration Examples¶
Create a custom threshold file for compliance requirements:
Then use it in scanning: