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.4

Entrypoint

Return Type
Sonarqube !
Arguments
NameTypeDefault ValueDescription
baseString "sonarqube:community"Base sonar-service image override
Example
dagger -m github.com/act3-ai/dagger/sonarqube@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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 !-

src directory to scan

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@82f619b132629a23cc6b994f619220f69088d094 call \
 scan --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Sonarqube().
			Scan(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.sonarqube()
		.scan(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.sonarqube()
		.scan(src)
}

service() 🔗

start up sonar-server as a service

Return Type
Service !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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@82f619b132629a23cc6b994f619220f69088d094 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()
}