apko
Builds containers using the Apko CLI
Installation
dagger install github.com/opopops/daggerverse/apko@v1.5.10Entrypoint
Return Type
Apko !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| image | String ! | "cgr.dev/chainguard/wolfi-base:latest" | wolfi-base image | 
| version | String | null | No description provided | 
| user | String | "65532" | No description provided | 
| registryUsername | String | null | No description provided | 
| registryPassword | Secret | null | No description provided | 
| container | Container | null | No description provided | 
| credentials | [List ! ] | null | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image stringfunc (m *MyModule) Example(image string) *dagger.Apko  {
	return dag.
			Apko(image)
}@function
def example(image: str, ) -> dagger.Apko:
	return (
		dag.apko(image)
	)@func()
example(image: string, ): Apko {
	return dag
		.apko(image)
}Types
Image 🔗
Apko Image module
container() 🔗
Returns image container
Return Type
Container !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| platform | Scalar | null | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 containerfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string) *dagger.Container  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Container()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> dagger.Container:
	return (
		dag.apko()
		.publish(context, config, tag)
		.container()
	)@func()
example(context: Directory, config: File, tag: string[]): Container {
	return dag
		.apko()
		.publish(context, config, tag)
		.container()
}copy() 🔗
Copy image to another registry
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| target | String ! | - | Target | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 copy --target stringfunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string, target string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Copy(ctx, target)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str], target: str) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.copy(target)
	)@func()
async example(context: Directory, config: File, tag: string[], target: string): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.copy(target)
}digest() 🔗
Retrieves the image digest
Return Type
String !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 digestfunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Digest(ctx)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.digest()
	)@func()
async example(context: Directory, config: File, tag: string[]): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.digest()
}platforms() 🔗
Retrieves image platforms
Return Type
[Scalar ! ] !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 platformsfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string) []  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Platforms()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> List[]:
	return (
		dag.apko()
		.publish(context, config, tag)
		.platforms()
	)@func()
example(context: Directory, config: File, tag: string[]): [] {
	return dag
		.apko()
		.publish(context, config, tag)
		.platforms()
}ref() 🔗
Retrieves the fully qualified image ref
Return Type
String !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 reffunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Ref(ctx)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.ref()
	)@func()
async example(context: Directory, config: File, tag: string[]): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.ref()
}registry() 🔗
Retrieves the registry host from image address
Return Type
String !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 registryfunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Registry(ctx)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.registry()
	)@func()
async example(context: Directory, config: File, tag: string[]): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.registry()
}scan() 🔗
Scan image using Grype
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| severityCutoff | String | null | No description provided | 
| fail | Boolean ! | true | Set to false to avoid failing based on severity-cutoff | 
| outputFormat | String ! | "sarif" | Report output formatter | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 scan --fail boolean --output-format stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string, fail bool, outputFormat string) *dagger.File  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Scan(fail, outputFormat)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str], fail: bool, output_format: str) -> dagger.File:
	return (
		dag.apko()
		.publish(context, config, tag)
		.scan(fail, output_format)
	)@func()
example(context: Directory, config: File, tag: string[], fail: boolean, outputFormat: string): File {
	return dag
		.apko()
		.publish(context, config, tag)
		.scan(fail, outputFormat)
}sign() 🔗
Sign image with Cosign
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| privateKey | Secret | null | No description provided | 
| password | Secret | null | No description provided | 
| oidcProvider | String | null | No description provided | 
| oidcIssuer | String | null | No description provided | 
| recursive | Boolean | true | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 signfunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Sign(ctx)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.sign()
	)@func()
async example(context: Directory, config: File, tag: string[]): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.sign()
}tag() 🔗
Tag image
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| tag | String ! | - | Tag | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 tag --tag stringfunc (m *MyModule) Example(ctx context.Context, context *dagger.Directory, config *dagger.File, tag []string, tag1 string) string  {
	return dag.
			Apko().
			Publish(context, config, tag).
			Tag(ctx, tag1)
}@function
async def example(context: dagger.Directory, config: dagger.File, tag: List[str], tag1: str) -> str:
	return await (
		dag.apko()
		.publish(context, config, tag)
		.tag(tag1)
	)@func()
async example(context: Directory, config: File, tag: string[], tag1: string): Promise<string> {
	return dag
		.apko()
		.publish(context, config, tag)
		.tag(tag1)
}withCopy() 🔗
Copy image to another registry (for chaining)
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| target | String ! | - | Target | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 with-copy --target stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string, target string) *dagger.ApkoImage  {
	return dag.
			Apko().
			Publish(context, config, tag).
			WithCopy(target)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str], target: str) -> dagger.ApkoImage:
	return (
		dag.apko()
		.publish(context, config, tag)
		.with_copy(target)
	)@func()
example(context: Directory, config: File, tag: string[], target: string): ApkoImage {
	return dag
		.apko()
		.publish(context, config, tag)
		.withCopy(target)
}withScan() 🔗
Scan image using Grype (for chaining)
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| severityCutoff | String | null | No description provided | 
| fail | Boolean ! | true | Set to false to avoid failing based on severity-cutoff | 
| outputFormat | String ! | "sarif" | Report output formatter | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 with-scan --fail boolean --output-format stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string, fail bool, outputFormat string) *dagger.ApkoImage  {
	return dag.
			Apko().
			Publish(context, config, tag).
			WithScan(fail, outputFormat)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str], fail: bool, output_format: str) -> dagger.ApkoImage:
	return (
		dag.apko()
		.publish(context, config, tag)
		.with_scan(fail, output_format)
	)@func()
example(context: Directory, config: File, tag: string[], fail: boolean, outputFormat: string): ApkoImage {
	return dag
		.apko()
		.publish(context, config, tag)
		.withScan(fail, outputFormat)
}withSign() 🔗
Sign image with Cosign (for chaining)
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| privateKey | Secret | null | No description provided | 
| password | Secret | null | No description provided | 
| oidcProvider | String | null | No description provided | 
| oidcIssuer | String | null | No description provided | 
| recursive | Boolean | true | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 with-signfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string) *dagger.ApkoImage  {
	return dag.
			Apko().
			Publish(context, config, tag).
			WithSign()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str]) -> dagger.ApkoImage:
	return (
		dag.apko()
		.publish(context, config, tag)
		.with_sign()
	)@func()
example(context: Directory, config: File, tag: string[]): ApkoImage {
	return dag
		.apko()
		.publish(context, config, tag)
		.withSign()
}withTag() 🔗
Tag image (for chaining)
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| tag | String ! | - | Tag | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 publish --context DIR_PATH --config file:path --tag string1 --tag string2 \
 with-tag --tag stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag []string, tag1 string) *dagger.ApkoImage  {
	return dag.
			Apko().
			Publish(context, config, tag).
			WithTag(tag1)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: List[str], tag1: str) -> dagger.ApkoImage:
	return (
		dag.apko()
		.publish(context, config, tag)
		.with_tag(tag1)
	)@func()
example(context: Directory, config: File, tag: string[], tag1: string): ApkoImage {
	return dag
		.apko()
		.publish(context, config, tag)
		.withTag(tag1)
}Build 🔗
Apko Build module
ociDir() 🔗
Returns the image OCI layout directory
Return Type
Directory !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 build --context DIR_PATH --config file:path --tag string \
 oci-dirfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag string) *dagger.Directory  {
	return dag.
			Apko().
			Build(context, config, tag).
			OciDir()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: str) -> dagger.Directory:
	return (
		dag.apko()
		.build(context, config, tag)
		.oci_dir()
	)@func()
example(context: Directory, config: File, tag: string): Directory {
	return dag
		.apko()
		.build(context, config, tag)
		.ociDir()
}publish() 🔗
Publish multi-arch image
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| registryUsername | String | null | No description provided | 
| registryPassword | Secret | null | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 build --context DIR_PATH --config file:path --tag string \
 publishfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag string) *dagger.ApkoImage  {
	return dag.
			Apko().
			Build(context, config, tag).
			Publish()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: str) -> dagger.ApkoImage:
	return (
		dag.apko()
		.build(context, config, tag)
		.publish()
	)@func()
example(context: Directory, config: File, tag: string): ApkoImage {
	return dag
		.apko()
		.build(context, config, tag)
		.publish()
}sbom() 🔗
Returns SBOM
Return Type
Directory !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 build --context DIR_PATH --config file:path --tag string \
 sbomfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag string) *dagger.Directory  {
	return dag.
			Apko().
			Build(context, config, tag).
			Sbom()
}@function
def example(context: dagger.Directory, config: dagger.File, tag: str) -> dagger.Directory:
	return (
		dag.apko()
		.build(context, config, tag)
		.sbom()
	)@func()
example(context: Directory, config: File, tag: string): Directory {
	return dag
		.apko()
		.build(context, config, tag)
		.sbom()
}scan() 🔗
Scan build result using Grype
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| severityCutoff | String | null | No description provided | 
| fail | Boolean ! | true | Set to false to avoid failing based on severity-cutoff | 
| outputFormat | String ! | "sarif" | Report output formatter | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 build --context DIR_PATH --config file:path --tag string \
 scan --fail boolean --output-format stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag string, fail bool, outputFormat string) *dagger.File  {
	return dag.
			Apko().
			Build(context, config, tag).
			Scan(fail, outputFormat)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: str, fail: bool, output_format: str) -> dagger.File:
	return (
		dag.apko()
		.build(context, config, tag)
		.scan(fail, output_format)
	)@func()
example(context: Directory, config: File, tag: string, fail: boolean, outputFormat: string): File {
	return dag
		.apko()
		.build(context, config, tag)
		.scan(fail, outputFormat)
}withScan() 🔗
Scan build result using Grype (for chaining)
Return Type
Build !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| severityCutoff | String | null | No description provided | 
| fail | Boolean ! | true | Set to false to avoid failing based on severity-cutoff | 
| outputFormat | String ! | "sarif" | Report output formatter | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 build --context DIR_PATH --config file:path --tag string \
 with-scan --fail boolean --output-format stringfunc (m *MyModule) Example(context *dagger.Directory, config *dagger.File, tag string, fail bool, outputFormat string) *dagger.ApkoBuild  {
	return dag.
			Apko().
			Build(context, config, tag).
			WithScan(fail, outputFormat)
}@function
def example(context: dagger.Directory, config: dagger.File, tag: str, fail: bool, output_format: str) -> dagger.ApkoBuild:
	return (
		dag.apko()
		.build(context, config, tag)
		.with_scan(fail, output_format)
	)@func()
example(context: Directory, config: File, tag: string, fail: boolean, outputFormat: string): ApkoBuild {
	return dag
		.apko()
		.build(context, config, tag)
		.withScan(fail, outputFormat)
}Apko 🔗
Apko module
image() 🔗
wolfi-base image
Return Type
String !Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string imagefunc (m *MyModule) Example(ctx context.Context, image string) string  {
	return dag.
			Apko(image).
			Image(ctx)
}@function
async def example(image: str, ) -> str:
	return await (
		dag.apko(image)
		.image()
	)@func()
async example(image: string, ): Promise<string> {
	return dag
		.apko(image)
		.image()
}version() 🔗
Return Type
String Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string versionfunc (m *MyModule) Example(ctx context.Context, image string) string  {
	return dag.
			Apko(image).
			Version(ctx)
}@function
async def example(image: str, ) -> str:
	return await (
		dag.apko(image)
		.version()
	)@func()
async example(image: string, ): Promise<string> {
	return dag
		.apko(image)
		.version()
}user() 🔗
Return Type
String Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string userfunc (m *MyModule) Example(ctx context.Context, image string) string  {
	return dag.
			Apko(image).
			User(ctx)
}@function
async def example(image: str, ) -> str:
	return await (
		dag.apko(image)
		.user()
	)@func()
async example(image: string, ): Promise<string> {
	return dag
		.apko(image)
		.user()
}registryUsername() 🔗
Return Type
String Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string registry-usernamefunc (m *MyModule) Example(ctx context.Context, image string) string  {
	return dag.
			Apko(image).
			RegistryUsername(ctx)
}@function
async def example(image: str, ) -> str:
	return await (
		dag.apko(image)
		.registry_username()
	)@func()
async example(image: string, ): Promise<string> {
	return dag
		.apko(image)
		.registryUsername()
}registryPassword() 🔗
Return Type
Secret Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string registry-passwordfunc (m *MyModule) Example(image string) *dagger.Secret  {
	return dag.
			Apko(image).
			RegistryPassword()
}@function
def example(image: str, ) -> dagger.Secret:
	return (
		dag.apko(image)
		.registry_password()
	)@func()
example(image: string, ): Secret {
	return dag
		.apko(image)
		.registryPassword()
}build() 🔗
Build an image using Apko
Return Type
Build !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| context | Directory ! | - | Working dir | 
| config | File ! | - | Config file | 
| tag | String ! | - | Image tag | 
| arch | String | null | No description provided | 
| keyringAppend | File | null | No description provided | 
| repositoryAppend | Directory | null | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string build --context DIR_PATH --config file:path --tag stringfunc (m *MyModule) Example(image string, context *dagger.Directory, config *dagger.File, tag string) *dagger.ApkoBuild  {
	return dag.
			Apko(image).
			Build(context, config, tag)
}@function
def example(image: str, context: dagger.Directory, config: dagger.File, tag: str) -> dagger.ApkoBuild:
	return (
		dag.apko(image)
		.build(context, config, tag)
	)@func()
example(image: string, context: Directory, config: File, tag: string): ApkoBuild {
	return dag
		.apko(image)
		.build(context, config, tag)
}publish() 🔗
Publish an image using Apko
Return Type
Image !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| context | Directory ! | - | Working dir | 
| config | File ! | - | Config file | 
| tag | [String ! ] ! | - | Image tags | 
| sbom | Boolean | true | No description provided | 
| arch | String | null | No description provided | 
| local | Boolean | false | No description provided | 
| keyringAppend | File | null | No description provided | 
| repositoryAppend | Directory | null | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string publish --context DIR_PATH --config file:path --tag string1 --tag string2func (m *MyModule) Example(image string, context *dagger.Directory, config *dagger.File, tag []string) *dagger.ApkoImage  {
	return dag.
			Apko(image).
			Publish(context, config, tag)
}@function
def example(image: str, context: dagger.Directory, config: dagger.File, tag: List[str]) -> dagger.ApkoImage:
	return (
		dag.apko(image)
		.publish(context, config, tag)
	)@func()
example(image: string, context: Directory, config: File, tag: string[]): ApkoImage {
	return dag
		.apko(image)
		.publish(context, config, tag)
}withRegistryAuth() 🔗
Authenticates with registry
Return Type
Apko !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| username | String ! | - | Registry username | 
| secret | Secret ! | - | Registry password | 
| address | String | "docker.io" | No description provided | 
Example
dagger -m github.com/opopops/daggerverse/apko@f3067394fd36ef2c29b9f66dd781db16cff353c3 call \
 --image string with-registry-auth --username string --secret env:MYSECRETfunc (m *MyModule) Example(image string, username string, secret *dagger.Secret) *dagger.Apko  {
	return dag.
			Apko(image).
			WithRegistryAuth(username, secret)
}@function
def example(image: str, username: str, secret: dagger.Secret) -> dagger.Apko:
	return (
		dag.apko(image)
		.with_registry_auth(username, secret)
	)@func()
example(image: string, username: string, secret: Secret): Apko {
	return dag
		.apko(image)
		.withRegistryAuth(username, secret)
}