server

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2023 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContentTypeJSON           = "application/json"
	ContentTypeGraphQL        = "application/graphql"
	ContentTypeFormURLEncoded = "application/x-www-form-urlencoded"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildkitController

type BuildkitController struct {
	BuildkitControllerOpts
	*tracev1.UnimplementedTraceServiceServer // needed for grpc service register to not complain
	// contains filtered or unexported fields
}

func NewBuildkitController

func NewBuildkitController(opts BuildkitControllerOpts) (*BuildkitController, error)

func (*BuildkitController) Close

func (e *BuildkitController) Close() error

func (*BuildkitController) DiskUsage

func (*BuildkitController) Info

func (*BuildkitController) ListWorkers

func (*BuildkitController) ListenBuildHistory

func (*BuildkitController) LogMetrics

func (e *BuildkitController) LogMetrics(l *logrus.Entry) *logrus.Entry

func (*BuildkitController) Prune

func (*BuildkitController) Register

func (e *BuildkitController) Register(server *grpc.Server)

func (*BuildkitController) Session

func (e *BuildkitController) Session(stream controlapi.Control_SessionServer) (rerr error)

func (*BuildkitController) Solve

Solve is currently only used for triggering upstream remote cache exports on a dagger server

func (*BuildkitController) Status

type BuildkitControllerOpts

type BuildkitControllerOpts struct {
	WorkerController       *bkworker.Controller
	SessionManager         *session.Manager
	CacheManager           solver.CacheManager
	ContentStore           *containerdsnapshot.Store
	LeaseManager           *leaseutil.Manager
	Entitlements           []string
	EngineName             string
	Frontends              map[string]frontend.Frontend
	TraceCollector         trace.SpanExporter
	UpstreamCacheExporters map[string]remotecache.ResolveCacheExporterFunc
	UpstreamCacheImporters map[string]remotecache.ResolveCacheImporterFunc
}

type DaggerServer

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

func NewDaggerServer

func NewDaggerServer(
	ctx context.Context,
	bkClient *buildkit.Client,
	worker bkworker.Worker,
	caller bksession.Caller,
	serverID string,
	secretStore *core.SecretStore,
	authProvider *auth.RegistryAuthProvider,
	pipelineLabels []pipeline.Label,
) (*DaggerServer, error)

func (*DaggerServer) Close

func (srv *DaggerServer) Close()

func (*DaggerServer) HTTPHandlerForClient

func (srv *DaggerServer) HTTPHandlerForClient(clientMetadata *engine.ClientMetadata) http.Handler

func (*DaggerServer) LogMetrics

func (srv *DaggerServer) LogMetrics(l *logrus.Entry) *logrus.Entry

func (*DaggerServer) ServeClientConn

func (srv *DaggerServer) ServeClientConn(
	ctx context.Context,
	clientMetadata *engine.ClientMetadata,
	conn net.Conn,
) error

func (*DaggerServer) Wait

func (srv *DaggerServer) Wait(ctx context.Context) error

type Handler

type Handler struct {
	Schema *graphql.Schema
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(p *HandlerConfig) *Handler

func (*Handler) ContextHandler

func (h *Handler) ContextHandler(ctx context.Context, w http.ResponseWriter, r *http.Request)

ContextHandler provides an entrypoint into executing graphQL queries with a user-provided context.

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP provides an entrypoint into executing graphQL queries.

type HandlerConfig

type HandlerConfig struct {
	Schema           *graphql.Schema
	Pretty           bool
	RootObjectFn     RootObjectFn
	ResultCallbackFn ResultCallbackFn
	FormatErrorFn    func(err error) gqlerrors.FormattedError
}

func NewConfig

func NewConfig() *HandlerConfig

type RequestOptions

type RequestOptions struct {
	Query         string                 `json:"query" url:"query" schema:"query"`
	Variables     map[string]interface{} `json:"variables" url:"variables" schema:"variables"`
	OperationName string                 `json:"operationName" url:"operationName" schema:"operationName"`
}

func NewRequestOptions

func NewRequestOptions(r *http.Request) *RequestOptions

RequestOptions Parses a http.Request into GraphQL request options struct

type ResultCallbackFn

type ResultCallbackFn func(ctx context.Context, params *graphql.Params, result *graphql.Result, responseBody []byte)

type RootObjectFn

type RootObjectFn func(ctx context.Context, r *http.Request) map[string]interface{}

RootObjectFn allows a user to generate a RootObject per request

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL