client

package
v0.12.7 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2024 License: Apache-2.0 Imports: 62 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 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 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(rootDir, cwdPath string, uid, gid *uint32) (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

	SecretToken string

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

	DisableHostRW bool

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

	EngineTrace sdktrace.SpanExporter
	EngineLogs  sdklog.Exporter

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

	Interactive        bool
	InteractiveCommand []string

	WithTerminal session.WithTerminalFunc
}

type SocketProvider

type SocketProvider struct {
	EnableHostNetworkAccess bool

	// Dialer to use for tcp/udp socket. Optional, defaults to net.Dial if not set
	IPDialer func(network, addr string) (net.Conn, error)

	// If unix sock paths need to be remapped (i.e. nested execs), use this function to do so.
	// Otherwise paths are passed through as-is.
	UnixPathMapper func(path string) (string, error)
}

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