Dagger
Search

sonarqube

This module will start a sonar server as a service,
run a scan with sonar-scanner CLI with a given source directory,
and return a json report of any issues found.

Installation

dagger install github.com/act3-ai/dagger/sonarqube@v0.0.3

Entrypoint

Return Type
Sonarqube !
Arguments
NameTypeDefault ValueDescription
baseString "sonarqube:community"Base sonar-service image override
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
func (m *MyModule) Example() *dagger.Sonarqube  {
	return dag.
			Sonarqube()
}
@function
def example() -> dagger.Sonarqube:
	return (
		dag.sonarqube()
	)
@func()
example(): Sonarqube {
	return dag
		.sonarqube()
}

Types

Sonarqube 🔗

base() 🔗

Return Type
String !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 base
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Sonarqube().
			Base(ctx)
}
@function
async def example() -> str:
	return await (
		dag.sonarqube()
		.base()
	)
@func()
async example(): Promise<string> {
	return dag
		.sonarqube()
		.base()
}

analyzeSonarReport() 🔗

Parses sonarqube JSON report into human readable format. Will return an error if issues are found HIGH or above.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
reportFileFile !-No description provided
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 analyze-sonar-report --report-file file:path
func (m *MyModule) Example(ctx context.Context, reportFile *dagger.File) string  {
	return dag.
			Sonarqube().
			Analyzesonarreport(ctx, reportFile)
}
@function
async def example(reportfile: dagger.File) -> str:
	return await (
		dag.sonarqube()
		.analyzesonarreport(reportfile)
	)
@func()
async example(reportFile: File): Promise<string> {
	return dag
		.sonarqube()
		.analyzeSonarReport(reportFile)
}

bootstrap() 🔗

starts sonar as a service and bootstraps it with an admin password, project, and sonar token for scanning

Return Type
SonarServer !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 bootstrap
func (m *MyModule) Example() *dagger.SonarqubeSonarServer  {
	return dag.
			Sonarqube().
			Bootstrap()
}
@function
def example() -> dagger.SonarqubeSonarServer:
	return (
		dag.sonarqube()
		.bootstrap()
	)
@func()
example(): SonarqubeSonarServer {
	return dag
		.sonarqube()
		.bootstrap()
}

scan() 🔗

scan a source directory with sonar-scanner and returns a report summary

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory -No description provided
impactSeveritiesString "MEDIUM,HIGH,BLOCKER"

comma separated list of impact severities to use when generating report

rawJsonBoolean false

Output the raw JSON report instead of the analyzed summary

Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 scan
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Sonarqube().
			Scan(ctx)
}
@function
async def example() -> str:
	return await (
		dag.sonarqube()
		.scan()
	)
@func()
async example(): Promise<string> {
	return dag
		.sonarqube()
		.scan()
}

service() 🔗

start up sonar-server as a service

Return Type
Service !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 service
func (m *MyModule) Example() *dagger.Service  {
	return dag.
			Sonarqube().
			Service()
}
@function
def example() -> dagger.Service:
	return (
		dag.sonarqube()
		.service()
	)
@func()
example(): Service {
	return dag
		.sonarqube()
		.service()
}

SonarServer 🔗

service() 🔗

The live running service

Return Type
Service !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 bootstrap \
 service
func (m *MyModule) Example() *dagger.Service  {
	return dag.
			Sonarqube().
			Bootstrap().
			Service()
}
@function
def example() -> dagger.Service:
	return (
		dag.sonarqube()
		.bootstrap()
		.service()
	)
@func()
example(): Service {
	return dag
		.sonarqube()
		.bootstrap()
		.service()
}

sonarToken() 🔗

The generated user token used for running scans

Return Type
Secret !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 bootstrap \
 sonar-token
func (m *MyModule) Example() *dagger.Secret  {
	return dag.
			Sonarqube().
			Bootstrap().
			Sonartoken()
}
@function
def example() -> dagger.Secret:
	return (
		dag.sonarqube()
		.bootstrap()
		.sonartoken()
	)
@func()
example(): Secret {
	return dag
		.sonarqube()
		.bootstrap()
		.sonarToken()
}

adminToken() 🔗

The plaintext admin password (for logging into the UI)

Return Type
Secret !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e39c35a23cd38c34449cbb9603964ec030e0179e call \
 bootstrap \
 admin-token
func (m *MyModule) Example() *dagger.Secret  {
	return dag.
			Sonarqube().
			Bootstrap().
			Admintoken()
}
@function
def example() -> dagger.Secret:
	return (
		dag.sonarqube()
		.bootstrap()
		.admintoken()
	)
@func()
example(): Secret {
	return dag
		.sonarqube()
		.bootstrap()
		.adminToken()
}