workstation

package
v1.18.0 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyResult

type ApplyResult struct {
	ProfilesCreated int      `json:"profiles_created"`
	ProfilesUpdated int      `json:"profiles_updated"`
	ProfileNames    []string `json:"profile_names,omitempty"`
}

func Apply

func Apply(cfg *profile.Config, plan *SetupPlan) (*ApplyResult, error)

type CoverageSummary

type CoverageSummary struct {
	ProtectedNow         []string `json:"protected_now,omitempty"`
	SkippedIntentionally []string `json:"skipped_intentionally,omitempty"`
	NotAvailableNow      []string `json:"not_available_now,omitempty"`
	Warnings             []string `json:"warnings,omitempty"`
}

type DiscoveredSource

type DiscoveredSource struct {
	SourceURI   string `json:"source_uri"`
	DisplayName string `json:"display_name"`
	MountPoint  string `json:"mount_point"`
	DriveName   string `json:"drive_name,omitempty"`
	Identity    string `json:"identity,omitempty"`
	PathID      string `json:"path_id,omitempty"`
	FsType      string `json:"fs_type,omitempty"`
	Portable    bool   `json:"portable"`
}

DiscoveredSource describes a local source candidate that can be used for onboarding and source selection flows.

func DiscoverSources

func DiscoverSources(_ context.Context) ([]DiscoveredSource, error)

DiscoverSources returns local source candidates suitable for workstation onboarding and source-selection UX.

type FolderCandidate

type FolderCandidate struct {
	Key      string `json:"key"`
	Label    string `json:"label"`
	Category string `json:"category"`
	Path     string `json:"path"`
	Selected bool   `json:"selected"`
}

type ProfileDraft

type ProfileDraft struct {
	Name         string   `json:"name"`
	SourceURI    string   `json:"source_uri"`
	StoreRef     string   `json:"store_ref,omitempty"`
	Tags         []string `json:"tags,omitempty"`
	Action       string   `json:"action"`
	DisplayLabel string   `json:"display_label,omitempty"`
	Selected     bool     `json:"selected"`
}

type SetupOption

type SetupOption func(*setupOptions)

func WithDryRun

func WithDryRun() SetupOption

func WithProfiles

func WithProfiles(cfg *profile.Config) SetupOption

func WithStoreRef

func WithStoreRef(name string) SetupOption

type SetupPlan

type SetupPlan struct {
	Hostname        string             `json:"hostname"`
	StoreRef        string             `json:"store_ref,omitempty"`
	StoreAction     string             `json:"store_action"`
	Folders         []FolderCandidate  `json:"folders,omitempty"`
	PortableSources []DiscoveredSource `json:"portable_sources,omitempty"`
	Profiles        []ProfileDraft     `json:"profiles,omitempty"`
	Coverage        CoverageSummary    `json:"coverage"`
}

func Plan

func Plan(ctx context.Context, opts ...SetupOption) (*SetupPlan, error)

type SetupResult

type SetupResult struct {
	Plan    *SetupPlan   `json:"plan,omitempty"`
	Applied *ApplyResult `json:"applied,omitempty"`
}

func Setup

func Setup(ctx context.Context, opts ...SetupOption) (*SetupResult, error)

Jump to

Keyboard shortcuts

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