9.9 | Analyzing source code | Languages | Terraform/CloudFormation/Kubernetes/Docker

On this page

Terraform/CloudFormation/Kubernetes/Docker


Language-specific properties

Discover and update the Terraform properties in Administration > General Settings > Languages > Terraform

Discover and update the CloudFormation properties in Administration > General Settings > Languages > CloudFormation

Discover and update the Kubernetes properties in Administration > General Settings > Languages > Kubernetes

Discover and update the Docker properties in Administration > General Settings > Languages > Docker

Supported versions

  • Terraform 1.x (HCL format only)
  • CloudFormation with AWSTemplateFormatVersion 2010-09-09 (YAML and JSON)
  • Kubernetes (YAML)
  • AWS, Azure and GCP

Terraform provider versions

The respective Terraform providers are frequently updated. New resources, properties and default values are added. At the same time, others are deprecated or dropped. For this reason, the Terraform analysis is defensive by default: some issues will be automatically silenced to avoid raising false positives. In order to get a more precise analysis you can specify the provider versions your code supports via a parameter.

AWSsonar.terraform.provider.aws.version
Azuresonar.terraform.provider.azure.version
GCP: For Google Cloud Platform, no versions are currently considered in the analysis.

Accepted are versions having the format: X.Y.ZX.Y or X

Examples:

  • sonar.terraform.provider.aws.version=1.93.4
  • sonar.terraform.provider.aws.version=3.4
  • sonar.terraform.provider.aws.version=4

Dockerfiles

No NoSonar Support:

Trailing comments are not permitted in Dockerfiles. For this reason, our Dockerfile parser does not support NOSONAR comments to suppress issues. Issues and hotspots must be reviewed in the UI.

Missing Uniform Filename Convention:

Dockerfiles can have all kinds of names and do not need a file extension. For this reason, it is difficult for the scanner and the analyzer to recognize all Dockerfiles. By default, all files named Dockerfile, Dockerfile.*, or *.dockerfile are considered Dockerfiles. If other conventions apply, these can be specified via the scanner property sonar.lang.patterns.docker.

For CloudFormation you can import cfn-lint reports. See Administration > General Settings > External Analyzers for more information

© 2008-2024 SonarSource SA. All rights reserved. SONAR, SONARSOURCE, SONARLINT, SONARQUBE, SONARCLOUD, and CLEAN AS YOU CODE are trademarks of SonarSource SA.

Creative Commons License