client

package
v0.15.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2025 License: Apache-2.0 Imports: 61 Imported by: 2

Documentation

Index

Constants

View Source
const InstrumentationLibrary = "dagger.io/engine.client"
View Source
const StableIDFileName = "stable_client_id"

Variables

This section is empty.

Functions

func Abs added in v0.15.0

func Abs(path string) (string, error)

Abs returns an absolute representation of path, but handles case-insensitive filesystems as described in the comment on Getwd for the case where the path is relative and the cwd needs to be obtained

func ExpandHomeDir added in v0.13.1

func ExpandHomeDir(homeDir string, path string) (string, error)

ExpandHomeDir expands a given path to its absolute form, handling home directory

func GetDrive added in v0.15.0

func GetDrive(path string) string

GetDrive extracts the drive letter or UNC share from a path.

func GetHostStableID added in v0.12.3

func GetHostStableID(lg *slog.Logger) string

GetHostStableID returns a random ID that's persisted in the caller's XDG state directory. It's currently used to identify clients that are executing on the same host in order to tell buildkit which filesync cache ref to re-use when syncing dirs+files to the engine.

func Getwd added in v0.15.0

func Getwd() (string, error)

Getwd returns the current working directory, but handles case-insensitive filesystems (i.e. MacOS defaults) and returns the path with the casing as it appears when doing list dir syscalls. For example, on a case-insensitive filesystem, you can do "cd /FoO/bAr" and os.Getwd will return "/FoO/bAr", but if you do "ls /" you may see "fOO" and if you do "ls /fOO" you may see "BAR", which creates inconsistent paths depending on if you are using Getwd or walking the filesystem.

func LexicalRelativePath added in v0.12.6

func LexicalRelativePath(cwdPath, modPath string) (string, error)

LexicalRelativePath computes a relative path between the current working directory and modPath without relying on runtime.GOOS to estimate OS-specific separators. This is necessary as the code runs inside a Linux container, but the user might have specified a Windows-style modPath.

func Tracer added in v0.11.0

func Tracer(ctx context.Context) trace.Tracer

Types

type BuildkitSessionServer added in v0.11.8

type BuildkitSessionServer struct {
	*grpc.Server
	MethodURLs []string
	Conn       net.Conn
}

func ConnectBuildkitSession added in v0.11.8

func ConnectBuildkitSession(
	ctx context.Context,
	conn net.Conn,
	headers http.Header,
	attachables ...bksession.Attachable,
) (*BuildkitSessionServer, error)

func NewBuildkitSessionServer added in v0.11.8

func NewBuildkitSessionServer(ctx context.Context, conn net.Conn, attachables ...bksession.Attachable) *BuildkitSessionServer

func (*BuildkitSessionServer) Run added in v0.11.8

func (srv *BuildkitSessionServer) Run(ctx context.Context)

type Client

type Client struct {
	Params
	// contains filtered or unexported fields
}

func Connect

func Connect(ctx context.Context, params Params) (_ *Client, _ context.Context, rerr error)

func (*Client) AppendHTTPRequestHeaders added in v0.11.8

func (c *Client) AppendHTTPRequestHeaders(headers http.Header) http.Header

func (*Client) Close

func (c *Client) Close() (rerr error)

func (*Client) Dagger added in v0.8.8

func (c *Client) Dagger() *dagger.Client

A client to the Dagger API hooked up directly with this engine client.

func (*Client) DialContext

func (c *Client) DialContext(ctx context.Context, _, _ string) (conn net.Conn, err error)

func (*Client) Do

func (c *Client) Do(
	ctx context.Context,
	query string,
	opName string,
	variables map[string]any,
	data any,
) (rerr error)

func (*Client) ServeHTTP

func (c *Client) ServeHTTP(w http.ResponseWriter, r *http.Request)

type DirectConn added in v0.8.8

type DirectConn func(*http.Request) (*http.Response, error)

func EngineConn added in v0.8.8

func EngineConn(engineClient *Client) DirectConn

func (DirectConn) Close added in v0.8.8

func (f DirectConn) Close() error

func (DirectConn) Do added in v0.8.8

func (f DirectConn) Do(r *http.Request) (*http.Response, error)

func (DirectConn) Host added in v0.8.8

func (f DirectConn) Host() string

type FilesyncSource added in v0.11.5

type FilesyncSource Filesyncer

func (FilesyncSource) DiffCopy added in v0.11.5

func (FilesyncSource) Register added in v0.11.5

func (s FilesyncSource) Register(server *grpc.Server)

func (FilesyncSource) TarStream added in v0.11.5

type FilesyncTarget added in v0.11.5

type FilesyncTarget Filesyncer

func (FilesyncTarget) DiffCopy added in v0.11.5

func (t FilesyncTarget) DiffCopy(stream filesync.FileSend_DiffCopyServer) (rerr error)

func (FilesyncTarget) Register added in v0.11.5

func (t FilesyncTarget) Register(server *grpc.Server)

type Filesyncer added in v0.11.5

type Filesyncer struct {
	// contains filtered or unexported fields
}

func NewFilesyncer added in v0.11.5

func NewFilesyncer() (Filesyncer, error)

func (Filesyncer) AsSource added in v0.11.5

func (f Filesyncer) AsSource() FilesyncSource

func (Filesyncer) AsTarget added in v0.11.5

func (f Filesyncer) AsTarget() FilesyncTarget

type Params

type Params struct {
	// The id to connect to the API server with. If blank, will be set to a
	// new random value.
	ID string

	// The id of the session to connect to, or if blank a new one should be started.
	SessionID string

	Version string

	SecretToken string

	RunnerHost string // host of dagger engine runner serving buildkit apis

	DisableHostRW bool

	EngineCallback   func(context.Context, string, string, string)
	CloudURLCallback func(context.Context, string, string, bool)

	EngineTrace   sdktrace.SpanExporter
	EngineLogs    sdklog.Exporter
	EngineMetrics []sdkmetric.Exporter

	// Log level (0 = INFO)
	LogLevel slog.Level

	Interactive        bool
	InteractiveCommand []string

	WithTerminal session.WithTerminalFunc
}

type SocketProvider

type SocketProvider struct {
	EnableHostNetworkAccess bool
}

func (SocketProvider) CheckAgent

func (SocketProvider) ForwardAgent

func (p SocketProvider) ForwardAgent(stream sshforward.SSH_ForwardAgentServer) error

func (SocketProvider) Register

func (p SocketProvider) Register(server *grpc.Server)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳