Dagger
Search

shadeform

Dagger module to manage the lifecycle of a Shadeform VM. Handy for integration in data-science pipelines or in any DAG graph when one or more tasks can benefit from the execution on a GPU machine. See examples for a demonstration on how to use it

Installation

dagger install github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055

Entrypoint

Return Type
Shadeform !
Arguments
NameTypeDefault ValueDescription
nameString !-No description provided
shadeTokenSecret !-A reference to a secret value, which can be handled more safely than the value itself.
vmIdString -No description provided
sshKeyFile -No description provided
cacheCacheVolume -No description provided
templateFileFile -No description provided
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET
func (m *MyModule) Example(name string, shadeToken *dagger.Secret) *dagger.Shadeform  {
	return dag.
			Shadeform(name, shadeToken)
}
@function
def example(name: str, shadetoken: dagger.Secret, ) -> dagger.Shadeform:
	return (
		dag.shadeform(name, shadetoken)
	)
@func()
example(name: string, shadeToken: Secret, ): Shadeform {
	return dag
		.shadeform(name, shadeToken)
}

Types

Shadeform 🔗

client() 🔗

Return a CURL debug client with cache (vm information) mounted.

Return Type
Container !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET client
func (m *MyModule) Example(name string, shadeToken *dagger.Secret) *dagger.Container  {
	return dag.
			Shadeform(name, shadeToken).
			Client()
}
@function
def example(name: str, shadetoken: dagger.Secret, ) -> dagger.Container:
	return (
		dag.shadeform(name, shadetoken)
		.client()
	)
@func()
example(name: string, shadeToken: Secret, ): Container {
	return dag
		.shadeform(name, shadeToken)
		.client()
}

createVm() 🔗

Returns a container executing all the needed steps for creating a machine starting from passed parameters

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
cloudString !-No description provided
regionString !-No description provided
shadeInstanceTypeString !-No description provided
shadeCloudString !-No description provided
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET create-vm --cloud string --region string --shade-instance-type string --shade-cloud string
func (m *MyModule) Example(name string, shadeToken *dagger.Secret, cloud string, region string, shadeInstanceType string, shadeCloud string) *dagger.Container  {
	return dag.
			Shadeform(name, shadeToken).
			Createvm(cloud, region, shadeInstanceType, shadeCloud)
}
@function
def example(name: str, shadetoken: dagger.Secret, cloud: str, region: str, shadeinstancetype: str, shadecloud: str) -> dagger.Container:
	return (
		dag.shadeform(name, shadetoken)
		.createvm(cloud, region, shadeinstancetype, shadecloud)
	)
@func()
example(name: string, shadeToken: Secret, cloud: string, region: string, shadeInstanceType: string, shadeCloud: string): Container {
	return dag
		.shadeform(name, shadeToken)
		.createVm(cloud, region, shadeInstanceType, shadeCloud)
}

getVmId() 🔗

Return the VM ID

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-vm-id
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getvmid(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getvmid()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getVmId()
}

getVmInfo() 🔗

Return the VM info JSON

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-vm-info
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getvminfo(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getvminfo()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getVmInfo()
}

getAvailableList() 🔗

Return a list of available instances with the indicated boards sorted by price

Return Type
String !
Arguments
NameTypeDefault ValueDescription
gpuTypeString !-No description provided
nGpusInteger !-No description provided
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-available-list --gpu-type string --n-gpus integer
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret, gpuType string, nGpus int) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getavailablelist(ctx, gpuType, nGpus)
}
@function
async def example(name: str, shadetoken: dagger.Secret, gputype: str, ngpus: int) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getavailablelist(gputype, ngpus)
	)
@func()
async example(name: string, shadeToken: Secret, gpuType: string, nGpus: number): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getAvailableList(gpuType, nGpus)
}

getVmStatus() 🔗

Print the VM status

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-vm-status
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getvmstatus(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getvmstatus()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getVmStatus()
}

getVmIp() 🔗

Print the VM IP

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-vm-ip
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getvmip(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getvmip()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getVmIp()
}

getVmUser() 🔗

Print the VM user to use for SSH connection

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET get-vm-user
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Getvmuser(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.getvmuser()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.getVmUser()
}

vmReady() 🔗

Wait for VM to be ready and return its ID

Return Type
String !
Arguments
NameTypeDefault ValueDescription
maxRetriesInteger !10No description provided
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET vm-ready --max-retries integer
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret, maxRetries int) string  {
	return dag.
			Shadeform(name, shadeToken).
			Vmready(ctx, maxRetries)
}
@function
async def example(name: str, shadetoken: dagger.Secret, maxretries: int) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.vmready(maxretries)
	)
@func()
async example(name: string, shadeToken: Secret, maxRetries: number): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.vmReady(maxRetries)
}

createNcheck() 🔗

Create a VM and wait for its creation to succeed

Return Type
String !
Arguments
NameTypeDefault ValueDescription
cloudString !"hyperstack"No description provided
regionString !"canada-1"No description provided
shadeInstanceTypeString !"A6000"No description provided
shadeCloudString !"true"No description provided
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET create-n-check --cloud string --region string --shade-instance-type string --shade-cloud string
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret, cloud string, region string, shadeInstanceType string, shadeCloud string) string  {
	return dag.
			Shadeform(name, shadeToken).
			Createncheck(ctx, cloud, region, shadeInstanceType, shadeCloud)
}
@function
async def example(name: str, shadetoken: dagger.Secret, cloud: str, region: str, shadeinstancetype: str, shadecloud: str) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.createncheck(cloud, region, shadeinstancetype, shadecloud)
	)
@func()
async example(name: string, shadeToken: Secret, cloud: string, region: string, shadeInstanceType: string, shadeCloud: string): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.createNCheck(cloud, region, shadeInstanceType, shadeCloud)
}

deleteVm() 🔗

Delete VM

Return Type
String !
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET delete-vm
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret) string  {
	return dag.
			Shadeform(name, shadeToken).
			Deletevm(ctx)
}
@function
async def example(name: str, shadetoken: dagger.Secret, ) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.deletevm()
	)
@func()
async example(name: string, shadeToken: Secret, ): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.deleteVm()
}

execSshCommand() 🔗

execute the provided through automatic ssh command

Return Type
String !
Arguments
NameTypeDefault ValueDescription
commandString !-No description provided
sshKeyFile !-A file.
Example
dagger -m github.com/dciangot/daggerverse/shadeform@10c2e6cbe51ac0671b4ef3477978b62ab2d80055 call \
 --name string --shade-token env:MYSECRET exec-ssh-command --command string --ssh-key file:path
func (m *MyModule) Example(ctx context.Context, name string, shadeToken *dagger.Secret, command string, sshKey *dagger.File) string  {
	return dag.
			Shadeform(name, shadeToken).
			Execsshcommand(ctx, command, sshKey)
}
@function
async def example(name: str, shadetoken: dagger.Secret, command: str, sshkey: dagger.File) -> str:
	return await (
		dag.shadeform(name, shadetoken)
		.execsshcommand(command, sshkey)
	)
@func()
async example(name: string, shadeToken: Secret, command: string, sshKey: File): Promise<string> {
	return dag
		.shadeform(name, shadeToken)
		.execSshCommand(command, sshKey)
}