Skip to main content

Dagger NodeJS SDK

Enumerations

Classes

Type Aliases

BuildArg

BuildArg: Object

Type declaration

NameTypeDescription
namestringThe build argument name.
valuestringThe build argument value.

CacheVolumeID

CacheVolumeID: string & { __CacheVolumeID: never }

The CacheVolumeID scalar type represents an identifier for an object of type CacheVolume.


ClientContainerOpts

ClientContainerOpts: Object

Type declaration

NameTypeDescription
id?ContainerIDDEPRECATED: Use loadContainerFromID instead.
platform?PlatformPlatform to initialize the container with.

ClientDirectoryOpts

ClientDirectoryOpts: Object

Type declaration

NameTypeDescription
id?DirectoryIDDEPRECATED: Use loadDirectoryFromID isntead.

ClientGitOpts

ClientGitOpts: Object

Type declaration

NameTypeDescription
experimentalServiceHost?ServiceA service which must be started before the repo is fetched.
keepGitDir?booleanSet to true to keep .git directory.
sshAuthSocket?SocketSet SSH auth socket
sshKnownHosts?stringSet SSH known hosts

ClientHttpOpts

ClientHttpOpts: Object

Type declaration

NameTypeDescription
experimentalServiceHost?ServiceA service which must be started before the URL is fetched.

ClientModuleDependencyOpts

ClientModuleDependencyOpts: Object

Type declaration

NameTypeDescription
name?stringIf set, the name to use for the dependency. Otherwise, once installed to a parent module, the name of the dependency module will be used by default.

ClientModuleSourceOpts

ClientModuleSourceOpts: Object

Type declaration

NameTypeDescription
stable?booleanIf true, enforce that the source is a stable version for source kinds that support versioning.

ClientPipelineOpts

ClientPipelineOpts: Object

Type declaration

NameTypeDescription
description?stringDescription of the sub-pipeline.
labels?PipelineLabel[]Labels to apply to the sub-pipeline.

ClientSecretOpts

ClientSecretOpts: Object

Type declaration

NameType
accessor?string

ContainerAsTarballOpts

ContainerAsTarballOpts: Object

Type declaration

NameTypeDescription
forcedCompression?ImageLayerCompressionForce each layer of the image to use the specified compression algorithm. If this is unset, then if a layer already has a compressed blob in the engine's cache, that will be used (this can result in a mix of compression algorithms for different layers). If this is unset and a layer has no compressed blob in the engine's cache, then it will be compressed using Gzip.
mediaTypes?ImageMediaTypesUse the specified media types for the image's layers. Defaults to OCI, which is largely compatible with most recent container runtimes, but Docker may be needed for older runtimes without OCI support.
platformVariants?Container[]Identifiers for other platform specific containers. Used for multi-platform images.

ContainerBuildOpts

ContainerBuildOpts: Object

Type declaration

NameTypeDescription
buildArgs?BuildArg[]Additional build arguments.
dockerfile?stringPath to the Dockerfile to use.
secrets?Secret[]Secrets to pass to the build. They will be mounted at /run/secrets/[secret-name] in the build container They can be accessed in the Dockerfile using the "secret" mount type and mount path /run/secrets/[secret-name], e.g. RUN --mount=type=secret,id=my-secret curl http://example.com?token=$(cat /run/secrets/my-secret)
target?stringTarget build stage to build.

ContainerExportOpts

ContainerExportOpts: Object

Type declaration

NameTypeDescription
forcedCompression?ImageLayerCompressionForce each layer of the exported image to use the specified compression algorithm. If this is unset, then if a layer already has a compressed blob in the engine's cache, that will be used (this can result in a mix of compression algorithms for different layers). If this is unset and a layer has no compressed blob in the engine's cache, then it will be compressed using Gzip.
mediaTypes?ImageMediaTypesUse the specified media types for the exported image's layers. Defaults to OCI, which is largely compatible with most recent container runtimes, but Docker may be needed for older runtimes without OCI support.
platformVariants?Container[]Identifiers for other platform specific containers. Used for multi-platform image.

ContainerID

ContainerID: string & { __ContainerID: never }

The ContainerID scalar type represents an identifier for an object of type Container.


ContainerImportOpts

ContainerImportOpts: Object

Type declaration

NameTypeDescription
tag?stringIdentifies the tag to import from the archive, if the archive bundles multiple tags.

ContainerPipelineOpts

ContainerPipelineOpts: Object

Type declaration

NameTypeDescription
description?stringDescription of the sub-pipeline.
labels?PipelineLabel[]Labels to apply to the sub-pipeline.

ContainerPublishOpts

ContainerPublishOpts: Object

Type declaration

NameTypeDescription
forcedCompression?ImageLayerCompressionForce each layer of the published image to use the specified compression algorithm. If this is unset, then if a layer already has a compressed blob in the engine's cache, that will be used (this can result in a mix of compression algorithms for different layers). If this is unset and a layer has no compressed blob in the engine's cache, then it will be compressed using Gzip.
mediaTypes?ImageMediaTypesUse the specified media types for the published image's layers. Defaults to OCI, which is largely compatible with most recent registries, but Docker may be needed for older registries without OCI support.
platformVariants?Container[]Identifiers for other platform specific containers. Used for multi-platform image.

ContainerTerminalOpts

ContainerTerminalOpts: Object

Type declaration

NameTypeDescription
cmd?string[]If set, override the container's default terminal command and invoke these command arguments instead.

ContainerWithDirectoryOpts

ContainerWithDirectoryOpts: Object

Type declaration

NameTypeDescription
exclude?string[]Patterns to exclude in the written directory (e.g. ["node_modules/**", ".gitignore", ".git/"]).
include?string[]Patterns to include in the written directory (e.g. ["*.go", "go.mod", "go.sum"]).
owner?stringA user:group to set for the directory and its contents. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.

ContainerWithEntrypointOpts

ContainerWithEntrypointOpts: Object

Type declaration

NameTypeDescription
keepDefaultArgs?booleanDon't remove the default arguments when setting the entrypoint.

ContainerWithEnvVariableOpts

ContainerWithEnvVariableOpts: Object

Type declaration

NameTypeDescription
expand?booleanReplace ${VAR} or $VAR in the value according to the current environment variables defined in the container (e.g., "/opt/bin:$PATH").

ContainerWithExecOpts

ContainerWithExecOpts: Object

Type declaration

NameTypeDescription
experimentalPrivilegedNesting?booleanProvides dagger access to the executed command. Do not use this option unless you trust the command being executed; the command being executed WILL BE GRANTED FULL ACCESS TO YOUR HOST FILESYSTEM.
insecureRootCapabilities?booleanExecute the command with all root capabilities. This is similar to running a command with "sudo" or executing "docker run" with the "--privileged" flag. Containerization does not provide any security guarantees when using this option. It should only be used when absolutely necessary and only with trusted commands.
redirectStderr?stringRedirect the command's standard error to a file in the container (e.g., "/tmp/stderr").
redirectStdout?stringRedirect the command's standard output to a file in the container (e.g., "/tmp/stdout").
skipEntrypoint?booleanIf the container has an entrypoint, ignore it for args rather than using it to wrap them.
stdin?stringContent to write to the command's standard input before closing (e.g., "Hello world").

ContainerWithExposedPortOpts

ContainerWithExposedPortOpts: Object

Type declaration

NameTypeDescription
description?stringOptional port description
experimentalSkipHealthcheck?booleanSkip the health check when run as a service.
protocol?NetworkProtocolTransport layer network protocol

ContainerWithFileOpts

ContainerWithFileOpts: Object

Type declaration

NameTypeDescription
owner?stringA user:group to set for the file. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.
permissions?numberPermission given to the copied file (e.g., 0600).

ContainerWithFilesOpts

ContainerWithFilesOpts: Object

Type declaration

NameTypeDescription
owner?stringA user:group to set for the files. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.
permissions?numberPermission given to the copied files (e.g., 0600).

ContainerWithMountedCacheOpts

ContainerWithMountedCacheOpts: Object

Type declaration

NameTypeDescription
owner?stringA user:group to set for the mounted cache directory. Note that this changes the ownership of the specified mount along with the initial filesystem provided by source (if any). It does not have any effect if/when the cache has already been created. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.
sharing?CacheSharingModeSharing mode of the cache volume.
source?DirectoryIdentifier of the directory to use as the cache volume's root.

ContainerWithMountedDirectoryOpts

ContainerWithMountedDirectoryOpts: Object

Type declaration

NameTypeDescription
owner?stringA user:group to set for the mounted directory and its contents. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.

ContainerWithMountedFileOpts

ContainerWithMountedFileOpts: Object

Type declaration

NameTypeDescription
owner?stringA user or user:group to set for the mounted file. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.

ContainerWithMountedSecretOpts

ContainerWithMountedSecretOpts: Object

Type declaration

NameTypeDescription
mode?numberPermission given to the mounted secret (e.g., 0600). This option requires an owner to be set to be active.
owner?stringA user:group to set for the mounted secret. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.

ContainerWithNewFileOpts

ContainerWithNewFileOpts: Object

Type declaration

NameTypeDescription
contents?stringContent of the file to write (e.g., "Hello world!").
owner?stringA user:group to set for the file. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.
permissions?numberPermission given to the written file (e.g., 0600).

ContainerWithUnixSocketOpts

ContainerWithUnixSocketOpts: Object

Type declaration

NameTypeDescription
owner?stringA user:group to set for the mounted socket. The user and group can either be an ID (1000:1000) or a name (foo:bar). If the group is omitted, it defaults to the same as the user.

ContainerWithoutEntrypointOpts

ContainerWithoutEntrypointOpts: Object

Type declaration

NameTypeDescription
keepDefaultArgs?booleanDon't remove the default arguments when unsetting the entrypoint.

ContainerWithoutExposedPortOpts

ContainerWithoutExposedPortOpts: Object

Type declaration

NameTypeDescription
protocol?NetworkProtocolPort protocol to unexpose

CurrentModuleID

CurrentModuleID: string & { __CurrentModuleID: never }

The CurrentModuleID scalar type represents an identifier for an object of type CurrentModule.


CurrentModuleWorkdirOpts

CurrentModuleWorkdirOpts: Object

Type declaration

NameTypeDescription
exclude?string[]Exclude artifacts that match the given pattern (e.g., ["node_modules/", ".git*"]).
include?string[]Include only artifacts that match the given pattern (e.g., ["app/", "package.*"]).

DirectoryAsModuleOpts

DirectoryAsModuleOpts: Object

Type declaration

NameTypeDescription
sourceRootPath?stringAn optional subpath of the directory which contains the module's configuration file. This is needed when the module code is in a subdirectory but requires parent directories to be loaded in order to execute. For example, the module source code may need a go.mod, project.toml, package.json, etc. file from a parent directory. If not set, the module source code is loaded from the root of the directory.

DirectoryDockerBuildOpts

DirectoryDockerBuildOpts: Object

Type declaration

NameTypeDescription
buildArgs?BuildArg[]Build arguments to use in the build.
dockerfile?stringPath to the Dockerfile to use (e.g., "frontend.Dockerfile").
platform?PlatformThe platform to build.
secrets?Secret[]Secrets to pass to the build. They will be mounted at /run/secrets/[secret-name].
target?stringTarget build stage to build.

DirectoryEntriesOpts

DirectoryEntriesOpts: Object

Type declaration

NameTypeDescription
path?stringLocation of the directory to look at (e.g., "/src").

DirectoryID

DirectoryID: string & { __DirectoryID: never }

The DirectoryID scalar type represents an identifier for an object of type Directory.


DirectoryPipelineOpts

DirectoryPipelineOpts: Object

Type declaration

NameTypeDescription
description?stringDescription of the sub-pipeline.
labels?PipelineLabel[]Labels to apply to the sub-pipeline.

DirectoryWithDirectoryOpts

DirectoryWithDirectoryOpts: Object

Type declaration

NameTypeDescription
exclude?string[]Exclude artifacts that match the given pattern (e.g., ["node_modules/", ".git*"]).
include?string[]Include only artifacts that match the given pattern (e.g., ["app/", "package.*"]).

DirectoryWithFileOpts

DirectoryWithFileOpts: Object

Type declaration

NameTypeDescription
permissions?numberPermission given to the copied file (e.g., 0600).

DirectoryWithFilesOpts

DirectoryWithFilesOpts: Object

Type declaration

NameTypeDescription
permissions?numberPermission given to the copied files (e.g., 0600).

DirectoryWithNewDirectoryOpts

DirectoryWithNewDirectoryOpts: Object

Type declaration

NameTypeDescription
permissions?numberPermission granted to the created directory (e.g., 0777).

DirectoryWithNewFileOpts

DirectoryWithNewFileOpts: Object

Type declaration

NameTypeDescription
permissions?numberPermission given to the copied file (e.g., 0600).

EnvVariableID

EnvVariableID: string & { __EnvVariableID: never }

The EnvVariableID scalar type represents an identifier for an object of type EnvVariable.


FieldTypeDefID

FieldTypeDefID: string & { __FieldTypeDefID: never }

The FieldTypeDefID scalar type represents an identifier for an object of type FieldTypeDef.


FileExportOpts

FileExportOpts: Object

Type declaration

NameTypeDescription
allowParentDirPath?booleanIf allowParentDirPath is true, the path argument can be a directory path, in which case the file will be created in that directory.

FileID

FileID: string & { __FileID: never }

The FileID scalar type represents an identifier for an object of type File.


FunctionArgID

FunctionArgID: string & { __FunctionArgID: never }

The FunctionArgID scalar type represents an identifier for an object of type FunctionArg.


FunctionCallArgValueID

FunctionCallArgValueID: string & { __FunctionCallArgValueID: never }

The FunctionCallArgValueID scalar type represents an identifier for an object of type FunctionCallArgValue.


FunctionCallID

FunctionCallID: string & { __FunctionCallID: never }

The FunctionCallID scalar type represents an identifier for an object of type FunctionCall.


FunctionID

FunctionID: string & { __FunctionID: never }

The FunctionID scalar type represents an identifier for an object of type Function.


FunctionWithArgOpts

FunctionWithArgOpts: Object

Type declaration

NameTypeDescription
defaultValue?JSONA default value to use for this argument if not explicitly set by the caller, if any
description?stringA doc string for the argument, if any

GeneratedCodeID

GeneratedCodeID: string & { __GeneratedCodeID: never }

The GeneratedCodeID scalar type represents an identifier for an object of type GeneratedCode.


GitModuleSourceID

GitModuleSourceID: string & { __GitModuleSourceID: never }

The GitModuleSourceID scalar type represents an identifier for an object of type GitModuleSource.


GitRefID

GitRefID: string & { __GitRefID: never }

The GitRefID scalar type represents an identifier for an object of type GitRef.


GitRefTreeOpts

GitRefTreeOpts: Object

Type declaration

NameTypeDescription
sshAuthSocket?SocketDEPRECATED: This option should be passed to git instead.
sshKnownHosts?stringDEPRECATED: This option should be passed to git instead.

GitRepositoryID

GitRepositoryID: string & { __GitRepositoryID: never }

The GitRepositoryID scalar type represents an identifier for an object of type GitRepository.


HostDirectoryOpts

HostDirectoryOpts: Object

Type declaration

NameTypeDescription
exclude?string[]Exclude artifacts that match the given pattern (e.g., ["node_modules/", ".git*"]).
include?string[]Include only artifacts that match the given pattern (e.g., ["app/", "package.*"]).

HostID

HostID: string & { __HostID: never }

The HostID scalar type represents an identifier for an object of type Host.


HostServiceOpts

HostServiceOpts: Object

Type declaration

NameTypeDescription
host?stringUpstream host to forward traffic to.
portsPortForward[]Ports to expose via the service, forwarding through the host network. If a port's frontend is unspecified or 0, it defaults to the same as the backend port. An empty set of ports is not valid; an error will be returned.

HostTunnelOpts

HostTunnelOpts: Object

Type declaration

NameTypeDescription
native?booleanMap each service port to the same port on the host, as if the service were running natively. Note: enabling may result in port conflicts.
ports?PortForward[]Configure explicit port forwarding rules for the tunnel. If a port's frontend is unspecified or 0, a random port will be chosen by the host. If no ports are given, all of the service's ports are forwarded. If native is true, each port maps to the same port on the host. If native is false, each port maps to a random port chosen by the host. If ports are given and native is true, the ports are additive.

InputTypeDefID

InputTypeDefID: string & { __InputTypeDefID: never }

The InputTypeDefID scalar type represents an identifier for an object of type InputTypeDef.


InterfaceTypeDefID

InterfaceTypeDefID: string & { __InterfaceTypeDefID: never }

The InterfaceTypeDefID scalar type represents an identifier for an object of type InterfaceTypeDef.


JSON

JSON: string & { __JSON: never }

An arbitrary JSON-encoded value.


LabelID

LabelID: string & { __LabelID: never }

The LabelID scalar type represents an identifier for an object of type Label.


ListTypeDefID

ListTypeDefID: string & { __ListTypeDefID: never }

The ListTypeDefID scalar type represents an identifier for an object of type ListTypeDef.


LocalModuleSourceID

LocalModuleSourceID: string & { __LocalModuleSourceID: never }

The LocalModuleSourceID scalar type represents an identifier for an object of type LocalModuleSource.


ModuleDependencyID

ModuleDependencyID: string & { __ModuleDependencyID: never }

The ModuleDependencyID scalar type represents an identifier for an object of type ModuleDependency.


ModuleID

ModuleID: string & { __ModuleID: never }

The ModuleID scalar type represents an identifier for an object of type Module.


ModuleSourceID

ModuleSourceID: string & { __ModuleSourceID: never }

The ModuleSourceID scalar type represents an identifier for an object of type ModuleSource.


ObjectTypeDefID

ObjectTypeDefID: string & { __ObjectTypeDefID: never }

The ObjectTypeDefID scalar type represents an identifier for an object of type ObjectTypeDef.


PipelineLabel

PipelineLabel: Object

Type declaration

NameTypeDescription
namestringLabel name.
valuestringLabel value.

Platform

Platform: string & { __Platform: never }

The platform config OS and architecture in a Container.

The format is [os]/[platform]/[version] (e.g., "darwin/arm64/v7", "windows/amd64", "linux/arm64").


PortForward

PortForward: Object

Type declaration

NameTypeDescription
backendnumberDestination port for traffic.
frontend?numberPort to expose to clients. If unspecified, a default will be chosen.
protocol?NetworkProtocolTransport layer protocol to use for traffic.

PortID

PortID: string & { __PortID: never }

The PortID scalar type represents an identifier for an object of type Port.


SecretID

SecretID: string & { __SecretID: never }

The SecretID scalar type represents an identifier for an object of type Secret.


ServiceEndpointOpts

ServiceEndpointOpts: Object

Type declaration

NameTypeDescription
port?numberThe exposed port number for the endpoint
scheme?stringReturn a URL with the given scheme, eg. http for http://

ServiceID

ServiceID: string & { __ServiceID: never }

The ServiceID scalar type represents an identifier for an object of type Service.


ServiceStopOpts

ServiceStopOpts: Object

Type declaration

NameTypeDescription
kill?booleanImmediately kill the service without waiting for a graceful exit

ServiceUpOpts

ServiceUpOpts: Object

Type declaration

NameTypeDescription
ports?PortForward[]List of frontend/backend port mappings to forward. Frontend is the port accepting traffic on the host, backend is the service port.
random?booleanBind each tunnel port to a random port on the host.

SocketID

SocketID: string & { __SocketID: never }

The SocketID scalar type represents an identifier for an object of type Socket.


TerminalID

TerminalID: string & { __TerminalID: never }

The TerminalID scalar type represents an identifier for an object of type Terminal.


TypeDefID

TypeDefID: string & { __TypeDefID: never }

The TypeDefID scalar type represents an identifier for an object of type TypeDef.


TypeDefWithFieldOpts

TypeDefWithFieldOpts: Object

Type declaration

NameTypeDescription
description?stringA doc string for the field, if any

TypeDefWithInterfaceOpts

TypeDefWithInterfaceOpts: Object

Type declaration

NameType
description?string

TypeDefWithObjectOpts

TypeDefWithObjectOpts: Object

Type declaration

NameType
description?string

Void

Void: string & { __Void: never }

The absence of a value.

A Null Void is used as a placeholder for resolvers that do not return anything.


__TypeEnumValuesOpts

__TypeEnumValuesOpts: Object

Type declaration

NameType
includeDeprecated?boolean

__TypeFieldsOpts

__TypeFieldsOpts: Object

Type declaration

NameType
includeDeprecated?boolean

Variables

dag

Const dag: Client