frontend

package
v0.6.3 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2026 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package frontend builds and packages frontend project archives for upload.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NormalizeAppRoot

func NormalizeAppRoot(raw string) (string, error)

NormalizeAppRoot validates and normalizes a user-supplied --app-root flag. Empty or "." values become "", meaning the archive root is the app root.

func ValidateAppRootExists

func ValidateAppRootExists(archiveRoot, appRoot string) error

ValidateAppRootExists verifies that --app-root resolves to a directory under the packaged archive root.

Types

type CustomDomainEntry

type CustomDomainEntry struct {
	Frontend apiclient.Frontend
	Domain   apiclient.FrontendCustomDomainResponse
}

CustomDomainEntry contains one frontend custom domain attachment.

type Package

type Package struct {
	Archive       []byte
	Size          int64
	PackagingRoot string
	AppPath       string
	// SkippedSymlinks lists POSIX-relative archive paths whose symlinks were
	// dropped because the archive cannot represent them safely. Callers
	// should surface these so users notice missing files (e.g. monorepo
	// assets symlinked across packages).
	SkippedSymlinks []string
}

Package contains one frontend source archive ready for API upload.

func PackageDirectory

func PackageDirectory(rootDir string, opts PackageOptions) (*Package, error)

PackageDirectory builds a tar.gz archive of rootDir for upload, applying ignore rules and optionally promoting the working tree to a workspace root. Promotion can be disabled via opts.DisableWorkspacePromotion.

type PackageOptions

type PackageOptions struct {
	// DisableWorkspacePromotion packages the selected root as-is even when
	// it participates in a JS workspace with `workspace:` deps. The caller
	// is responsible for telling the server where the app lives.
	DisableWorkspacePromotion bool
	// AppRoot, when non-empty, is the POSIX-relative path the caller plans
	// to send as the server-side `app_root` field. PackageDirectory rejects
	// the request when this path would be excluded by the archive ignore
	// rules, so the server is never told to build a directory that is not
	// in the upload.
	AppRoot string
}

PackageOptions tunes how PackageDirectory builds the archive.

type Service

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

Service performs authenticated Volcano frontend workflows.

func NewService

func NewService(deps cliruntime.Deps) Service

NewService returns a frontend service.

func (Service) CreateCustomDomain

CreateCustomDomain attaches a custom domain to a frontend.

func (Service) DeleteByID

func (s Service) DeleteByID(ctx context.Context, frontendID uuid.UUID) error

DeleteByID starts deleting one frontend by ID.

func (Service) DeleteCustomDomainByID

func (s Service) DeleteCustomDomainByID(ctx context.Context, frontendID uuid.UUID) error

DeleteCustomDomainByID detaches the configured custom domain from a frontend ID.

func (Service) Deploy

Deploy uploads one frontend source archive and starts a deployment.

func (Service) DeploymentLogs

func (s Service) DeploymentLogs(ctx context.Context, frontendID, deploymentID uuid.UUID, limit int, cursor string) (*apiclient.LogSearchResponse, error)

DeploymentLogs returns one build log search page for a frontend deployment.

func (Service) Get

func (s Service) Get(ctx context.Context, identifier string) (*apiclient.Frontend, error)

Get returns one frontend by name or UUID.

func (Service) GetCustomDomain

func (s Service) GetCustomDomain(ctx context.Context, identifier string) (*apiclient.Frontend, *apiclient.FrontendCustomDomainResponse, error)

GetCustomDomain returns the configured custom domain for a frontend.

func (Service) LatestDeployment

func (s Service) LatestDeployment(ctx context.Context, frontendID uuid.UUID) (*apiclient.FrontendDeployment, error)

LatestDeployment returns the first deployment on the default deployment page.

func (Service) ListCustomDomains

func (s Service) ListCustomDomains(ctx context.Context) ([]CustomDomainEntry, error)

ListCustomDomains lists frontend custom domains in the current project.

func (Service) ListPage

func (s Service) ListPage(ctx context.Context, page, limit int) (*apiclient.PaginatedFrontends, error)

ListPage returns one frontend page in the current project.

func (Service) Redeploy

func (s Service) Redeploy(ctx context.Context, identifier string) (*apiclient.Frontend, error)

Redeploy starts a new deployment for the named frontend using the previously uploaded archive.

func (Service) Resolve

func (s Service) Resolve(ctx context.Context, identifier string) (*apiclient.Frontend, error)

Resolve returns a frontend by name or UUID in the current project.

func (Service) ResolveDeployment

func (s Service) ResolveDeployment(ctx context.Context, frontendID uuid.UUID, deploymentID string) (*apiclient.FrontendDeployment, error)

ResolveDeployment returns a frontend deployment by ID, paging internally.

func (Service) RuntimeLogs

func (s Service) RuntimeLogs(ctx context.Context, frontendID uuid.UUID, limit int, cursor string) (*apiclient.LogSearchResponse, error)

RuntimeLogs returns one runtime log search page for a frontend.

func (Service) StreamDeploymentLogs added in v0.0.4

func (s Service) StreamDeploymentLogs(ctx context.Context, frontendID, deploymentID uuid.UUID, limit int) (*api.ProjectLogStream, error)

StreamDeploymentLogs opens a build log stream for a frontend deployment.

func (Service) StreamRuntimeLogs added in v0.0.4

func (s Service) StreamRuntimeLogs(ctx context.Context, frontendID uuid.UUID, limit int, lastEventID string) (*api.ProjectLogStream, error)

StreamRuntimeLogs opens a runtime log stream for a frontend, resuming after lastEventID when it is set.

Jump to

Keyboard shortcuts

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