---
id: "sonarqube"
type: "component"
kind: "policy-engine"
provider: "default"
category: "ops"
docs: "https://docs.sonarsource.com/sonarqube-server/latest/"
url: "https://localhost:3000/catalogue/components/sonarqube"
---

# SonarQube Server

Self-hosted code analysis server whose built-in Sonar way quality gate passes or fails each project on its new code.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Policy engine](https://localhost:3000/catalogue/kinds/policy-engine) |
| Category | Operations |
| Official docs | [https://docs.sonarsource.com/sonarqube-server/latest/](https://docs.sonarsource.com/sonarqube-server/latest/) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `defaultQualityGate` | string | — | no | "Sonar way" | inherited |
| `effect` | enum | `audit`, `deny`, `modify`, `deploy-if-not-exists` | no | — | **"audit"** |
| `enforcementMode` | enum | `enforced`, `disabled` | no | — | **"enforced"** |
| `managed` | boolean | — | no | false | **false** |
| `newCodeCoveragePercent` | integer | — | no | 80 | inherited |
| `newCodeDuplicationPercent` | integer | — | no | 3 | inherited |
| `policyCount` | integer | — | no | — | inherited |
| `remediation` | boolean | — | no | false | **false** |
| `scope` | enum | `resource`, `group`, `account`, `organization` | no | — | **"resource"** |
| `securityHotspotsReviewedPercent` | integer | — | no | 100 | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 56

- [Cloud Config](https://localhost:3000/catalogue/components/alibaba-cloud-config.md) `alibaba-cloud-config` — alibabacloud
- [Data Security Center](https://localhost:3000/catalogue/components/alibaba-data-security-center.md) `alibaba-data-security-center` — alibabacloud
- [Amazon CodeGuru Reviewer](https://localhost:3000/catalogue/components/aws-codeguru-reviewer.md) `aws-codeguru-reviewer` — aws
- [AWS Config](https://localhost:3000/catalogue/components/aws-config.md) `aws-config` — aws
- [AWS Control Tower](https://localhost:3000/catalogue/components/aws-control-tower.md) `aws-control-tower` — aws
- [IAM Access Analyzer](https://localhost:3000/catalogue/components/aws-iam-access-analyzer.md) `aws-iam-access-analyzer` — aws
- [AWS Lake Formation](https://localhost:3000/catalogue/components/aws-lake-formation.md) `aws-lake-formation` — aws
- [AWS License Manager](https://localhost:3000/catalogue/components/aws-license-manager.md) `aws-license-manager` — aws
- [AWS Organizations](https://localhost:3000/catalogue/components/aws-organizations.md) `aws-organizations` — aws
- [AWS Resource Access Manager](https://localhost:3000/catalogue/components/aws-ram.md) `aws-ram` — aws
- [Amazon Verified Permissions](https://localhost:3000/catalogue/components/aws-verified-permissions.md) `aws-verified-permissions` — aws
- [Microsoft Entra Conditional Access](https://localhost:3000/catalogue/components/azure-conditional-access.md) `azure-conditional-access` — azure
- [Azure Policy](https://localhost:3000/catalogue/components/azure-policy.md) `azure-policy` — azure
- [Microsoft Entra Privileged Identity Management](https://localhost:3000/catalogue/components/azure-privileged-identity-management.md) `azure-privileged-identity-management` — azure
- [Cloudflare Data Loss Prevention](https://localhost:3000/catalogue/components/cloudflare-dlp.md) `cloudflare-dlp` — cloudflare
- [CalypsoAI](https://localhost:3000/catalogue/components/calypsoai.md) `calypsoai` — default
- [Cerbos](https://localhost:3000/catalogue/components/cerbos.md) `cerbos` — default
- [OPA Gatekeeper](https://localhost:3000/catalogue/components/gatekeeper.md) `gatekeeper` — default
- [Guardrails AI](https://localhost:3000/catalogue/components/guardrails-ai.md) `guardrails-ai` — default
- [HiddenLayer AI Security Platform](https://localhost:3000/catalogue/components/hiddenlayer.md) `hiddenlayer` — default
- [KubeArmor](https://localhost:3000/catalogue/components/kubearmor.md) `kubearmor` — default
- [Kubewarden](https://localhost:3000/catalogue/components/kubewarden.md) `kubewarden` — default
- [Kyverno](https://localhost:3000/catalogue/components/kyverno.md) `kyverno` — default
- [Lakera Guard](https://localhost:3000/catalogue/components/lakera-guard.md) `lakera-guard` — default
- [LLM Guard](https://localhost:3000/catalogue/components/llm-guard.md) `llm-guard` — default
- [NeMo Guardrails](https://localhost:3000/catalogue/components/nemo-guardrails.md) `nemo-guardrails` — default
- [Open Policy Agent](https://localhost:3000/catalogue/components/opa.md) `opa` — default
- [Permit.io](https://localhost:3000/catalogue/components/permit-io.md) `permit-io` — default
- [Generic policy engine](https://localhost:3000/catalogue/components/policy-engine.md) `policy-engine` — default
- [Prompt Security](https://localhost:3000/catalogue/components/prompt-security.md) `prompt-security` — default
- [Protect AI](https://localhost:3000/catalogue/components/protect-ai.md) `protect-ai` — default
- [Rebuff](https://localhost:3000/catalogue/components/rebuff.md) `rebuff` — default
- [Robust Intelligence](https://localhost:3000/catalogue/components/robust-intelligence.md) `robust-intelligence` — default
- [DigitalOcean CSPM](https://localhost:3000/catalogue/components/digitalocean-cspm.md) `digitalocean-cspm` — digitalocean
- [Access Context Manager](https://localhost:3000/catalogue/components/google-access-context-manager.md) `google-access-context-manager` — gcp
- [Assured Workloads](https://localhost:3000/catalogue/components/google-assured-workloads.md) `google-assured-workloads` — gcp
- [Binary Authorization](https://localhost:3000/catalogue/components/google-binary-authorization.md) `google-binary-authorization` — gcp
- [Identity and Access Management](https://localhost:3000/catalogue/components/google-cloud-iam.md) `google-cloud-iam` — gcp
- [Firebase App Check](https://localhost:3000/catalogue/components/google-firebase-app-check.md) `google-firebase-app-check` — gcp
- [Model Armor](https://localhost:3000/catalogue/components/google-model-armor.md) `google-model-armor` — gcp
- and 16 more: https://localhost:3000/catalogue/kinds/policy-engine.md

## Use it in a design

```yaml
nodes:
  - { id: "sonarqube", component: "sonarqube" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# SonarQube Server: self-hosted code quality and security analysis server whose quality gate
# decides whether an analysed project passes. "Managing quality gates" states the built-in Sonar
# way gate is provided by Sonar, activated by default and read-only, and that every project not
# explicitly assigned to another gate uses the instance default gate. The same page gives the
# Sonar way conditions on new code: no new issues, no reliability, security or maintainability
# rating worse than A, security hotspots reviewed at 100%, coverage at or above 80% and
# duplicated lines at or below 3%. The gate reports a pass or fail status; blocking a pipeline on
# it is the CI system's choice, so the effect is audit.
schemaVersion: "1"
type: "component"
id: "sonarqube"
kind: "policy-engine"
provider: "default"
docs: "https://docs.sonarsource.com/sonarqube-server/latest/"
defaults:
  managed: false
  effect: "audit"
  enforcementMode: "enforced"
  scope: "resource"
  remediation: false
properties:
  defaultQualityGate:
    type: "string"
    default: "Sonar way"
  newCodeCoveragePercent:
    type: "integer"
    default: 80
  newCodeDuplicationPercent:
    type: "integer"
    default: 3
  securityHotspotsReviewedPercent:
    type: "integer"
    default: 100
```

Human page: https://localhost:3000/catalogue/components/sonarqube
