Dagger
Search

xcaddy

Build Caddy with plugins.

Installation

dagger install github.com/sagikazarmark/daggerverse/xcaddy@v0.2.0

Entrypoint

Return Type
Xcaddy !
Arguments
NameTypeDescription
versionString xcaddy version.
containerContainer Custom container to use as an xcaddy (and Go) base container.
goVersionString Version (image tag) to use from the official image repository as a Go base container.
goContainerContainer Custom container to use as a Go base container.
Example
func (m *myModule) example() *Xcaddy  {
	return dag.
			Xcaddy()
}
@function
def example() -> dag.Xcaddy:
	return (
		dag.xcaddy()
	)
@func()
example(): Xcaddy {
	return dag
		.xcaddy()
}

Types

Xcaddy 🔗

build() 🔗

Build Caddy with plugins.

Return Type
Build !
Arguments
NameTypeDefault ValueDescription
versionString -Caddy version.
raceBoolean -Enables the Go race detector in the build.
debugBoolean -Enables the DWARF debug information in the build.
Example
func (m *myModule) example() *XcaddyBuild  {
	return dag.
			Xcaddy().
			Build()
}
@function
def example() -> dag.XcaddyBuild:
	return (
		dag.xcaddy()
		.build()
	)
@func()
example(): XcaddyBuild {
	return dag
		.xcaddy()
		.build()
}

Build 🔗

Build Caddy with plugins.

version() 🔗

Caddy version.

Return Type
String !
Example
func (m *myModule) example(ctx context.Context) string  {
	return dag.
			Xcaddy().
			Build().
			Version(ctx)
}
@function
async def example() -> str:
	return await (
		dag.xcaddy()
		.build()
		.version()
	)
@func()
async example(): Promise<string> {
	return dag
		.xcaddy()
		.build()
		.version()
}

race() 🔗

Whether the Go race detector is enabled in the build.

Return Type
Boolean !
Example
func (m *myModule) example(ctx context.Context) bool  {
	return dag.
			Xcaddy().
			Build().
			Race(ctx)
}
@function
async def example() -> bool:
	return await (
		dag.xcaddy()
		.build()
		.race()
	)
@func()
async example(): Promise<boolean> {
	return dag
		.xcaddy()
		.build()
		.race()
}

debug() 🔗

Whether the DWARF debug information is enabled in the build.

Return Type
Boolean !
Example
func (m *myModule) example(ctx context.Context) bool  {
	return dag.
			Xcaddy().
			Build().
			Debug(ctx)
}
@function
async def example() -> bool:
	return await (
		dag.xcaddy()
		.build()
		.debug()
	)
@func()
async example(): Promise<boolean> {
	return dag
		.xcaddy()
		.build()
		.debug()
}

plugins() 🔗

List of plugins to include.

Return Type
[GoModule ! ] !
Example
func (m *myModule) example() []*XcaddyGoModule  {
	return dag.
			Xcaddy().
			Build().
			Plugins()
}
@function
def example() -> List[dag.XcaddyGoModule]:
	return (
		dag.xcaddy()
		.build()
		.plugins()
	)
@func()
example(): XcaddyGoModule[] {
	return dag
		.xcaddy()
		.build()
		.plugins()
}

replacements() 🔗

List of modules to replace.

Return Type
[GoModule ! ] !
Example
func (m *myModule) example() []*XcaddyGoModule  {
	return dag.
			Xcaddy().
			Build().
			Replacements()
}
@function
def example() -> List[dag.XcaddyGoModule]:
	return (
		dag.xcaddy()
		.build()
		.replacements()
	)
@func()
example(): XcaddyGoModule[] {
	return dag
		.xcaddy()
		.build()
		.replacements()
}

embeds() 🔗

List of embedded directories.

Return Type
[Embed ! ] !
Example
func (m *myModule) example() []*XcaddyEmbed  {
	return dag.
			Xcaddy().
			Build().
			Embeds()
}
@function
def example() -> List[dag.XcaddyEmbed]:
	return (
		dag.xcaddy()
		.build()
		.embeds()
	)
@func()
example(): XcaddyEmbed[] {
	return dag
		.xcaddy()
		.build()
		.embeds()
}

plugin() 🔗

Add plugins to the Caddy build.

Return Type
Build !
Arguments
NameTypeDefault ValueDescription
moduleString !-Go module path.
versionString -Go module version.
replacementDirectory -Local replacement directory.
Example
func (m *myModule) example(module string) *XcaddyBuild  {
	return dag.
			Xcaddy().
			Build().
			Plugin(module)
}
@function
def example(module: str) -> dag.XcaddyBuild:
	return (
		dag.xcaddy()
		.build()
		.plugin(module)
	)
@func()
example(module: string): XcaddyBuild {
	return dag
		.xcaddy()
		.build()
		.plugin(module)
}

replace() 🔗

Replace Caddy dependencies.

Return Type
Build !
Arguments
NameTypeDefault ValueDescription
moduleString !-Go module path.
versionString -Go module version.
replacementDirectory -Local replacement directory.
Example
func (m *myModule) example(module string) *XcaddyBuild  {
	return dag.
			Xcaddy().
			Build().
			Replace(module)
}
@function
def example(module: str) -> dag.XcaddyBuild:
	return (
		dag.xcaddy()
		.build()
		.replace(module)
	)
@func()
example(module: string): XcaddyBuild {
	return dag
		.xcaddy()
		.build()
		.replace(module)
}

embed() 🔗

Embed a directory in the Caddy binary.

Return Type
Build !
Arguments
NameTypeDefault ValueDescription
aliasString !-Name of the embedded directory.
directoryDirectory !-Directory to embed in the binary.
Example
func (m *myModule) example(alias string, directory *Directory) *XcaddyBuild  {
	return dag.
			Xcaddy().
			Build().
			Embed(alias, directory)
}
@function
def example(alias: str, directory: dagger.Directory) -> dag.XcaddyBuild:
	return (
		dag.xcaddy()
		.build()
		.embed(alias, directory)
	)
@func()
example(alias: string, directory: Directory): XcaddyBuild {
	return dag
		.xcaddy()
		.build()
		.embed(alias, directory)
}

binary() 🔗

Return a Caddy binary.

Return Type
File !
Arguments
NameTypeDefault ValueDescription
platformScalar -Target platform in "[os]/[platform]/[version]" format (e.g., "darwin/arm64/v7", "windows/amd64", "linux/arm64").
Example
func (m *myModule) example() *File  {
	return dag.
			Xcaddy().
			Build().
			Binary()
}
@function
def example() -> dagger.File:
	return (
		dag.xcaddy()
		.build()
		.binary()
	)
@func()
example(): File {
	return dag
		.xcaddy()
		.build()
		.binary()
}

container() 🔗

Return a Caddy container.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
baseString "caddy"Use the specified base image.
platformScalar -Target platform in "[os]/[platform]/[version]" format (e.g., "darwin/arm64/v7", "windows/amd64", "linux/arm64").
Example
func (m *myModule) example() *Container  {
	return dag.
			Xcaddy().
			Build().
			Container()
}
@function
def example() -> dagger.Container:
	return (
		dag.xcaddy()
		.build()
		.container()
	)
@func()
example(): Container {
	return dag
		.xcaddy()
		.build()
		.container()
}

inspect() 🔗

Open a terminal to inspect the build files.

Return Type
Terminal !
Example
func (m *myModule) example() *Terminal  {
	return dag.
			Xcaddy().
			Build().
			Inspect()
}
@function
def example() -> dag.Terminal:
	return (
		dag.xcaddy()
		.build()
		.inspect()
	)
@func()
example(): Terminal {
	return dag
		.xcaddy()
		.build()
		.inspect()
}

GoModule 🔗

path() 🔗

Go module path.

Return Type
String !
Example
Function XcaddyGoModule.path is not accessible from the xcaddy module
Function XcaddyGoModule.path is not accessible from the xcaddy module
Function XcaddyGoModule.path is not accessible from the xcaddy module

version() 🔗

Go module version (optional).

Return Type
String !
Example
Function XcaddyGoModule.version is not accessible from the xcaddy module
Function XcaddyGoModule.version is not accessible from the xcaddy module
Function XcaddyGoModule.version is not accessible from the xcaddy module

replacement() 🔗

Local replacement directory (optional).

Return Type
Directory !
Example
Function XcaddyGoModule.replacement is not accessible from the xcaddy module
Function XcaddyGoModule.replacement is not accessible from the xcaddy module
Function XcaddyGoModule.replacement is not accessible from the xcaddy module

Embed 🔗

alias() 🔗

Name of the embedded directory.

Return Type
String !
Example
Function XcaddyEmbed.alias is not accessible from the xcaddy module
Function XcaddyEmbed.alias is not accessible from the xcaddy module
Function XcaddyEmbed.alias is not accessible from the xcaddy module

directory() 🔗

Directory to embed in the binary.

Return Type
Directory !
Example
Function XcaddyEmbed.directory is not accessible from the xcaddy module
Function XcaddyEmbed.directory is not accessible from the xcaddy module
Function XcaddyEmbed.directory is not accessible from the xcaddy module