Sonar Operator: Ensures code quality with SonarQube integration.
50K+
| :heavy_exclamation_mark: Please refer to KubeRocketCI documentation to get the notion of the main concepts and guidelines. |
|---|
Get acquainted with the Sonar Operator and the installation process as well as the local development, and architecture scheme.
Sonar Operator is a KubeRocketCI operator that is responsible for configuring SonarQube.
NOTE: Operator is platform-independent, that is why there is a unified instruction for deploying.
In order to install the KubeRocketCI Sonar Operator, follow the steps below:
To add the Helm EPAMEDP Charts for local client, run "helm repo add":
helm repo add epamedp https://epam.github.io/edp-helm-charts/stable
Choose available Helm chart version:
helm search repo epamedp/sonar-operator -l
NAME CHART VERSION APP VERSION DESCRIPTION
epamedp/sonar-operator 3.1.1 3.1.1 A Helm chart for KRCI Sonar Operator
NOTE: It is highly recommended to use the latest released version.
Deploy operator:
Full available chart parameters available in deploy-templates/README.md:
Install operator in the arbitrary (sonar-operator) namespace with the helm command; find below the installation command example:
helm install sonar-operator epamedp/sonar-operator --version <chart_version> --namespace sonar
Check the sonar namespace that should contain operator deployment with your operator in a running status.
Login into Sonarqube and create user. Attach permissions to user such as quality gates, profiles, user managment etc. Insert user credentials into Kubernetes secret.
apiVersion: v1
kind: Secret
metadata:
name: sonar-access
type: Opaque
data:
username: dXNlcg== # base64-encoded value of "user"
password: cGFzcw== # base64-encoded value of "pass"
Create Custom Resource kind: Sonar with Sonar instance URL and secret created on the previous step:
apiVersion: edp.epam.com/v1alpha1
kind: Sonar
metadata:
name: sonar-sample
spec:
url: https://sonar.example.com # Sonar URL
secret: sonar-access # Secret name
Wait for the .status field with status.connected: true
Create Quality Gate using Custom Resources SonarQualityGate:
apiVersion: edp.epam.com/v1alpha1
kind: SonarQualityGate
metadata:
name: qualityGate-sample
spec:
sonarRef:
name: sonar-sample # the name of `kind: Sonar`
name: qualityGate-sample
default: true
conditions:
new_coverage:
op: LT
error: "80"
apiVersion: edp.epam.com/v1alpha1
kind: SonarQualityProfile
metadata:
name: qualityProfile-sample
spec:
sonarRef:
name: sonar-sample # the name of `kind: Sonar`
name: qualityProfile-sample
language: java
default: true
rules:
checkstyle:com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck:
severity: 'MAJOR'
Inspect CR templates folder for more examples
In order to develop the operator, first set up a local environment. For details, please refer to the Local Development page.
Development versions are also available, please refer to the snapshot helm chart repository page.
Content type
Image
Digest
sha256:8bccb81c5…
Size
32.3 MB
Last updated
17 days ago
docker pull epamedp/sonar-operator:3.4.0-SNAPSHOT.24