Dagger
Search

cli-dev

Develop the Dagger CLI

Installation

dagger install github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33

Entrypoint

Return Type
CliDev !
Arguments
NameTypeDefault ValueDescription
runnerHostString -No description provided
sourceDirectory -No description provided
baseContainer -Base image for go build environment
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
func (m *MyModule) Example() *dagger.CliDev  {
	return dag.
			CliDev()
}
@function
def example() -> dagger.CliDev:
	return (
		dag.cli_dev()
	)
@func()
example(): CliDev {
	return dag
		.cliDev()
}

Types

CliDev 🔗

version() 🔗

Return Type
String !
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 version
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			CliDev().
			Version(ctx)
}
@function
async def example() -> str:
	return await (
		dag.cli_dev()
		.version()
	)
@func()
async example(): Promise<string> {
	return dag
		.cliDev()
		.version()
}

tag() 🔗

Return Type
String !
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 tag
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			CliDev().
			Tag(ctx)
}
@function
async def example() -> str:
	return await (
		dag.cli_dev()
		.tag()
	)
@func()
async example(): Promise<string> {
	return dag
		.cliDev()
		.tag()
}

publish() 🔗

Publish the CLI using GoReleaser

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
tagString !-No description provided
goreleaserKeySecret !-No description provided
githubOrgNameString !-No description provided
githubTokenSecret -No description provided
gitGitRepository -No description provided
awsAccessKeyIdSecret -No description provided
awsSecretAccessKeySecret -No description provided
awsRegionString -No description provided
awsBucketString -No description provided
artefactsFqdnString -No description provided
dryRunBoolean -No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(tag string, goreleaserKey *dagger.Secret, githubOrgName string) *dagger.Directory  {
	return dag.
			CliDev().
			Publish(tag, goreleaserKey, githubOrgName)
}
@function
def example(tag: str, goreleaser_key: dagger.Secret, github_org_name: str) -> dagger.Directory:
	return (
		dag.cli_dev()
		.publish(tag, goreleaser_key, github_org_name)
	)
@func()
example(tag: string, goreleaserKey: Secret, githubOrgName: string): Directory {
	return dag
		.cliDev()
		.publish(tag, goreleaserKey, githubOrgName)
}

publishMetadata() 🔗

Return Type
Void !
Arguments
NameTypeDefault ValueDescription
awsAccessKeyIdSecret !-No description provided
awsSecretAccessKeySecret !-No description provided
awsRegionString !-No description provided
awsBucketString !-No description provided
awsCloudfrontDistributionString !-No description provided
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 publish-metadata --aws-access-key-id env:MYSECRET --aws-secret-access-key env:MYSECRET --aws-region string --aws-bucket string --aws-cloudfront-distribution string
func (m *MyModule) Example(ctx context.Context, awsAccessKeyId *dagger.Secret, awsSecretAccessKey *dagger.Secret, awsRegion string, awsBucket string, awsCloudfrontDistribution string)   {
	return dag.
			CliDev().
			PublishMetadata(ctx, awsAccessKeyId, awsSecretAccessKey, awsRegion, awsBucket, awsCloudfrontDistribution)
}
@function
async def example(aws_access_key_id: dagger.Secret, aws_secret_access_key: dagger.Secret, aws_region: str, aws_bucket: str, aws_cloudfront_distribution: str) -> None:
	return await (
		dag.cli_dev()
		.publish_metadata(aws_access_key_id, aws_secret_access_key, aws_region, aws_bucket, aws_cloudfront_distribution)
	)
@func()
async example(awsAccessKeyId: Secret, awsSecretAccessKey: Secret, awsRegion: string, awsBucket: string, awsCloudfrontDistribution: string): Promise<void> {
	return dag
		.cliDev()
		.publishMetadata(awsAccessKeyId, awsSecretAccessKey, awsRegion, awsBucket, awsCloudfrontDistribution)
}

releaseDryRun() 🔗

Verify that the CLI builds without actually publishing anything

Return Type
Void !
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 release-dry-run
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			CliDev().
			ReleaseDryRun(ctx)
}
@function
async def example() -> None:
	return await (
		dag.cli_dev()
		.release_dry_run()
	)
@func()
async example(): Promise<void> {
	return dag
		.cliDev()
		.releaseDryRun()
}

binary() 🔗

Build the dagger CLI binary for a single platform

Return Type
File !
Arguments
NameTypeDefault ValueDescription
platformScalar -No description provided
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 binary
func (m *MyModule) Example() *dagger.File  {
	return dag.
			CliDev().
			Binary()
}
@function
def example() -> dagger.File:
	return (
		dag.cli_dev()
		.binary()
	)
@func()
example(): File {
	return dag
		.cliDev()
		.binary()
}

reference() 🔗

Generate a markdown CLI reference doc

Return Type
File !
Arguments
NameTypeDefault ValueDescription
frontmatterString -No description provided
includeExperimentalBoolean -Include experimental commands
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 reference
func (m *MyModule) Example() *dagger.File  {
	return dag.
			CliDev().
			Reference()
}
@function
def example() -> dagger.File:
	return (
		dag.cli_dev()
		.reference()
	)
@func()
example(): File {
	return dag
		.cliDev()
		.reference()
}

devBinaries() 🔗

Build dev CLI binaries TODO: remove this

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
platformScalar -runnerHost string,
Example
dagger -m github.com/shykes/dagger/toolchains/cli-dev@f06b7080f054d928d38147ed032f8c113820ed33 call \
 dev-binaries
func (m *MyModule) Example() *dagger.Directory  {
	return dag.
			CliDev().
			DevBinaries()
}
@function
def example() -> dagger.Directory:
	return (
		dag.cli_dev()
		.dev_binaries()
	)
@func()
example(): Directory {
	return dag
		.cliDev()
		.devBinaries()
}