Dagger
Search

scp

Performs copying of files and directories to and from a remote server over SCP using password or IdentityFile.

Installation

dagger install github.com/seungyeop-lee/daggerverse/scp@v0.2.3

Entrypoint

Return Type
Scp
Example
func (m *myModule) example() *Scp  {
	return dag.
			Scp()
}
@function
def example() -> dag.Scp:
	return (
		dag.scp()
	)
@func()
example(): Scp {
	return dag
		.scp()
}

Types

Scp 🔗

SCP dagger module

baseContainer() 🔗

Get the base container for the SCP module. Used when you need to inject a Service into a BaseContainer and run it.

Example:

dag.Scp().Config("admin@sshd", ScpConfigOpts{
	Port:    8022,
	BaseCtr: dag.Scp().BaseContainer().WithServiceBinding("sshd", sshd),
})...

Note: As of v0.11.2, passing a Service directly as a parameter to an external dagger function would not bind to the container created inside the dagger function.

Return Type
Container !
Example
func (m *myModule) example() *Container  {
	return dag.
			Scp().
			BaseContainer()
}
@function
def example() -> dagger.Container:
	return (
		dag.scp()
		.base_container()
	)
@func()
example(): Container {
	return dag
		.scp()
		.baseContainer()
}

config() 🔗

Set configuration for SCP connections.

Return Type
Config !
Arguments
NameTypeDefault ValueDescription
destinationString !-destination to connect ex) user@host
portInteger 22port to connect
baseCtrContainer -base container
Example
func (m *myModule) example(destination string) *ScpConfig  {
	return dag.
			Scp().
			Config(destination)
}
@function
def example(destination: str) -> dag.ScpConfig:
	return (
		dag.scp()
		.config(destination)
	)
@func()
example(destination: string): ScpConfig {
	return dag
		.scp()
		.config(destination)
}

Config 🔗

SCP configuration

withPassword() 🔗

Set the password as the SCP connection credentials.

Return Type
Commander !
Arguments
NameTypeDefault ValueDescription
argSecret !-password
Example
func (m *myModule) example(destination string, arg *Secret) *ScpCommander  {
	return dag.
			Scp().
			Config(destination).
			WithPassword(arg)
}
@function
def example(destination: str, arg: dagger.Secret) -> dag.ScpCommander:
	return (
		dag.scp()
		.config(destination)
		.with_password(arg)
	)
@func()
example(destination: string, arg: Secret): ScpCommander {
	return dag
		.scp()
		.config(destination)
		.withPassword(arg)
}

withIdentityFile() 🔗

Set up identity file with SCP connection credentials.

Note: Tested against RSA-formatted and OPENSSH-formatted private keys.

Return Type
Commander !
Arguments
NameTypeDefault ValueDescription
argSecret !-identity file
Example
func (m *myModule) example(destination string, arg *Secret) *ScpCommander  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg)
}
@function
def example(destination: str, arg: dagger.Secret) -> dag.ScpCommander:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
	)
@func()
example(destination: string, arg: Secret): ScpCommander {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
}

Commander 🔗

SCP command launcher

container() 🔗

Returns a container that is ready to launch SCP command.

Return Type
Container !
Example
func (m *myModule) example(destination string, arg *Secret) *Container  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg).
			Container()
}
@function
def example(destination: str, arg: dagger.Secret) -> dagger.Container:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
		.container()
	)
@func()
example(destination: string, arg: Secret): Container {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
		.container()
}

fileToRemote() 🔗

Copy a file to a remote server.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
sourceFile !-source file
targetString -destination path (If not entered, '.' is used as the default)
Example
func (m *myModule) example(destination string, arg *Secret, source *File) *Container  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg).
			FileToRemote(source)
}
@function
def example(destination: str, arg: dagger.Secret, source: dagger.File) -> dagger.Container:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
		.file_to_remote(source)
	)
@func()
example(destination: string, arg: Secret, source: File): Container {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
		.fileToRemote(source)
}

fileFromRemote() 🔗

Copy a file from a remote server.

Return Type
File !
Arguments
NameTypeDefault ValueDescription
sourceString !-source path
Example
func (m *myModule) example(destination string, arg *Secret, source string) *File  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg).
			FileFromRemote(source)
}
@function
def example(destination: str, arg: dagger.Secret, source: str) -> dagger.File:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
		.file_from_remote(source)
	)
@func()
example(destination: string, arg: Secret, source: string): File {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
		.fileFromRemote(source)
}

directoryToRemote() 🔗

Copy a directory to a remote server.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-source directory
targetString !-destination path (If the path is an already existing directory, it will be copied to the '[path]/source-dir' location)
Example
func (m *myModule) example(destination string, arg *Secret, source *Directory, target string) *Container  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg).
			DirectoryToRemote(source, target)
}
@function
def example(destination: str, arg: dagger.Secret, source: dagger.Directory, target: str) -> dagger.Container:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
		.directory_to_remote(source, target)
	)
@func()
example(destination: string, arg: Secret, source: Directory, target: string): Container {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
		.directoryToRemote(source, target)
}

directoryFromRemote() 🔗

Copy a directory from a remote server.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
sourceString !-source path
Example
func (m *myModule) example(destination string, arg *Secret, source string) *Directory  {
	return dag.
			Scp().
			Config(destination).
			WithIdentityFile(arg).
			DirectoryFromRemote(source)
}
@function
def example(destination: str, arg: dagger.Secret, source: str) -> dagger.Directory:
	return (
		dag.scp()
		.config(destination)
		.with_identity_file(arg)
		.directory_from_remote(source)
	)
@func()
example(destination: string, arg: Secret, source: string): Directory {
	return dag
		.scp()
		.config(destination)
		.withIdentityFile(arg)
		.directoryFromRemote(source)
}