k3s
Runs a k3s server than can be accessed both locally and in your pipelines
Example
no available example in current language// starts a k3s server and deploys a helm chart
func (m *Examples) K3S(ctx context.Context) (string, error) {
	k3s := dag.K3S("test")
	kServer := k3s.Server()
	kServer, err := kServer.Start(ctx)
	if err != nil {
		return "", err
	}
	ep, err := kServer.Endpoint(ctx, dagger.ServiceEndpointOpts{Port: 80, Scheme: "http"})
	if err != nil {
		return "", err
	}
	return dag.Container().From("alpine/helm").
		WithExec([]string{"apk", "add", "kubectl"}).
		WithEnvVariable("KUBECONFIG", "/.kube/config").
		WithFile("/.kube/config", k3s.Config()).
		WithExec([]string{"helm", "install", "--wait", "--debug", "nginx", "oci://registry-1.docker.io/bitnamicharts/nginx"}).
		WithExec([]string{"curl", "-sS", ep}).Stdout(ctx)
}no available example in current languageno available example in current languageInstallation
dagger install github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90cEntrypoint
Return Type
K3S !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| name | String ! | - | No description provided | 
| image | String | "rancher/k3s:latest" | No description provided | 
Example
dagger -m github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90c call \
 --name stringfunc (m *MyModule) Example(name string) *dagger.K3S  {
	return dag.
			K3s(name)
}@function
def example(name: str, ) -> dagger.K3S:
	return (
		dag.k3s(name)
	)@func()
example(name: string, ): K3S {
	return dag
		.k3s(name)
}Types
K3S 🔗
container() 🔗
Return Type
Container !Example
dagger -m github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90c call \
 --name string containerfunc (m *MyModule) Example(name string) *dagger.Container  {
	return dag.
			K3s(name).
			Container()
}@function
def example(name: str, ) -> dagger.Container:
	return (
		dag.k3s(name)
		.container()
	)@func()
example(name: string, ): Container {
	return dag
		.k3s(name)
		.container()
}server() 🔗
Returns a newly initialized kind cluster
Return Type
Service !Example
no available example in current language// starts a k3s server with a local registry and a pre-loaded alpine image
func (m *Examples) K3SServer(ctx context.Context) (*dagger.Service, error) {
	regSvc := dag.Container().From("registry:2.8").
		WithExposedPort(5000).AsService()
	_, err := dag.Container().From("quay.io/skopeo/stable").
		WithServiceBinding("registry", regSvc).
		WithEnvVariable("BUST", time.Now().String()).
		WithExec([]string{"copy", "--dest-tls-verify=false", "docker://docker.io/alpine:latest", "docker://registry:5000/alpine:latest"}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).Sync(ctx)
	if err != nil {
		return nil, err
	}
	return dag.K3S("test").With(func(k *dagger.K3S) *dagger.K3S {
		return k.WithContainer(
			k.Container().
				WithEnvVariable("BUST", time.Now().String()).
				WithExec([]string{"sh", "-c", `
cat <<EOF > /etc/rancher/k3s/registries.yaml
mirrors:
  "registry:5000":
    endpoint:
      - "http://registry:5000"
EOF`}).
				WithServiceBinding("registry", regSvc),
		)
	}).Server(), nil
}no available example in current languageno available example in current languagewithContainer() 🔗
Returns a newly initialized kind cluster
Return Type
K3S !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| c | Container ! | - | No description provided | 
Example
dagger -m github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90c call \
 --name string with-container --c IMAGE:TAGfunc (m *MyModule) Example(name string, c *dagger.Container) *dagger.K3S  {
	return dag.
			K3s(name).
			WithContainer(c)
}@function
def example(name: str, c: dagger.Container) -> dagger.K3S:
	return (
		dag.k3s(name)
		.with_container(c)
	)@func()
example(name: string, c: Container): K3S {
	return dag
		.k3s(name)
		.withContainer(c)
}config() 🔗
returns the config file for the k3s cluster
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| local | Boolean | false | No description provided | 
Example
dagger -m github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90c call \
 --name string configfunc (m *MyModule) Example(name string) *dagger.File  {
	return dag.
			K3s(name).
			Config()
}@function
def example(name: str, ) -> dagger.File:
	return (
		dag.k3s(name)
		.config()
	)@func()
example(name: string, ): File {
	return dag
		.k3s(name)
		.config()
}kubectl() 🔗
runs kubectl on the target k3s cluster
Return Type
Container !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| args | String ! | - | No description provided | 
Example
no available example in current language// returns a kubectl container with the configured kube config context ready to run
// administrative commands
func (m *Examples) K3SKubectl(ctx context.Context, args string) *dagger.Container {
	return dag.K3S("test").Kubectl(args)
}no available example in current languageno available example in current languagekns() 🔗
runs k9s on the target k3s cluster
Return Type
Container !Example
dagger -m github.com/tonirvega/daggerverse-1/k3s@a0caf77a1a4782ba6e1383b150780b43e5d5d90c call \
 --name string knsfunc (m *MyModule) Example(name string) *dagger.Container  {
	return dag.
			K3s(name).
			Kns()
}@function
def example(name: str, ) -> dagger.Container:
	return (
		dag.k3s(name)
		.kns()
	)@func()
example(name: string, ): Container {
	return dag
		.k3s(name)
		.kns()
}