Help us shape the future of Go! Take the 2026 Go Developer Survey

installstage

package
v0.6.6 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound     = errors.New("install stage not found")
	ErrInvalidStage = errors.New("install stage is invalid")
)

Functions

func NewStageID

func NewStageID() (string, error)

Types

type Action

type Action string
const (
	ActionInstall Action = "install"
	ActionUpdate  Action = "update"
)

type CreateRequest

type CreateRequest struct {
	StageID           string            `json:"stage_id"`
	Action            Action            `json:"action"`
	PluginInstanceID  string            `json:"plugin_instance_id"`
	PublisherID       string            `json:"publisher_id"`
	PluginID          string            `json:"plugin_id"`
	Version           string            `json:"version"`
	PackageHash       string            `json:"package_hash"`
	ManifestHash      string            `json:"manifest_hash"`
	EntriesHash       string            `json:"entries_hash"`
	RequestedTrust    string            `json:"requested_trust,omitempty"`
	ValidationSummary map[string]string `json:"validation_summary,omitempty"`
	ExpiresAt         time.Time         `json:"expires_at"`
	Now               time.Time         `json:"-"`
}

type ListRequest

type ListRequest struct {
	PluginInstanceID string `json:"plugin_instance_id,omitempty"`
	Status           Status `json:"status,omitempty"`
}

type MarkCommittedRequest

type MarkCommittedRequest struct {
	StageID string    `json:"stage_id"`
	Now     time.Time `json:"-"`
}

type MarkFailedRequest

type MarkFailedRequest struct {
	StageID      string    `json:"stage_id"`
	ErrorCode    string    `json:"error_code,omitempty"`
	ErrorMessage string    `json:"error_message,omitempty"`
	Now          time.Time `json:"-"`
}

type MarkPreparedRequest

type MarkPreparedRequest struct {
	StageID           string            `json:"stage_id"`
	ResolvedTrust     string            `json:"resolved_trust,omitempty"`
	ValidationSummary map[string]string `json:"validation_summary,omitempty"`
	Now               time.Time         `json:"-"`
}

type MemoryStore

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

func NewMemoryStore

func NewMemoryStore() *MemoryStore

func (*MemoryStore) Create

func (s *MemoryStore) Create(ctx context.Context, req CreateRequest) (Record, error)

func (*MemoryStore) Delete

func (s *MemoryStore) Delete(ctx context.Context, stageID string) error

func (*MemoryStore) Durable added in v0.6.0

func (*MemoryStore) Durable() bool

func (*MemoryStore) ExpireBefore

func (s *MemoryStore) ExpireBefore(ctx context.Context, now time.Time) ([]Record, error)

func (*MemoryStore) Get

func (s *MemoryStore) Get(ctx context.Context, stageID string) (Record, error)

func (*MemoryStore) List

func (s *MemoryStore) List(ctx context.Context, req ListRequest) ([]Record, error)

func (*MemoryStore) MarkCommitted

func (s *MemoryStore) MarkCommitted(ctx context.Context, req MarkCommittedRequest) (Record, error)

func (*MemoryStore) MarkFailed

func (s *MemoryStore) MarkFailed(ctx context.Context, req MarkFailedRequest) (Record, error)

func (*MemoryStore) MarkPrepared

func (s *MemoryStore) MarkPrepared(ctx context.Context, req MarkPreparedRequest) (Record, error)

type Record

type Record struct {
	OwnerEnvHash      string            `json:"-"`
	StageID           string            `json:"stage_id"`
	Action            Action            `json:"action"`
	Status            Status            `json:"status"`
	PluginInstanceID  string            `json:"plugin_instance_id"`
	PublisherID       string            `json:"publisher_id"`
	PluginID          string            `json:"plugin_id"`
	Version           string            `json:"version"`
	PackageHash       string            `json:"package_hash"`
	ManifestHash      string            `json:"manifest_hash"`
	EntriesHash       string            `json:"entries_hash"`
	RequestedTrust    string            `json:"requested_trust,omitempty"`
	ResolvedTrust     string            `json:"resolved_trust,omitempty"`
	ValidationSummary map[string]string `json:"validation_summary,omitempty"`
	ErrorCode         string            `json:"error_code,omitempty"`
	ErrorMessage      string            `json:"error_message,omitempty"`
	ExpiresAt         time.Time         `json:"expires_at"`
	CreatedAt         time.Time         `json:"created_at"`
	UpdatedAt         time.Time         `json:"updated_at"`
	FinishedAt        *time.Time        `json:"finished_at,omitempty"`
}

type SQLiteStore

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

func NewSQLiteStore

func NewSQLiteStore(ctx context.Context, path string) (*SQLiteStore, error)

func (*SQLiteStore) Close

func (s *SQLiteStore) Close() error

func (*SQLiteStore) Create

func (s *SQLiteStore) Create(ctx context.Context, req CreateRequest) (Record, error)

func (*SQLiteStore) Delete

func (s *SQLiteStore) Delete(ctx context.Context, stageID string) error

func (*SQLiteStore) Durable added in v0.6.0

func (*SQLiteStore) Durable() bool

func (*SQLiteStore) ExpireBefore

func (s *SQLiteStore) ExpireBefore(ctx context.Context, now time.Time) ([]Record, error)

func (*SQLiteStore) Get

func (s *SQLiteStore) Get(ctx context.Context, stageID string) (Record, error)

func (*SQLiteStore) List

func (s *SQLiteStore) List(ctx context.Context, req ListRequest) ([]Record, error)

func (*SQLiteStore) MarkCommitted

func (s *SQLiteStore) MarkCommitted(ctx context.Context, req MarkCommittedRequest) (Record, error)

func (*SQLiteStore) MarkFailed

func (s *SQLiteStore) MarkFailed(ctx context.Context, req MarkFailedRequest) (Record, error)

func (*SQLiteStore) MarkPrepared

func (s *SQLiteStore) MarkPrepared(ctx context.Context, req MarkPreparedRequest) (Record, error)

type Status

type Status string
const (
	StatusStaged    Status = "staged"
	StatusPrepared  Status = "prepared"
	StatusCommitted Status = "committed"
	StatusFailed    Status = "failed"
	StatusExpired   Status = "expired"
)

type Store

type Store interface {
	Durable() bool
	Create(ctx context.Context, req CreateRequest) (Record, error)
	Get(ctx context.Context, stageID string) (Record, error)
	List(ctx context.Context, req ListRequest) ([]Record, error)
	MarkPrepared(ctx context.Context, req MarkPreparedRequest) (Record, error)
	MarkCommitted(ctx context.Context, req MarkCommittedRequest) (Record, error)
	MarkFailed(ctx context.Context, req MarkFailedRequest) (Record, error)
	ExpireBefore(ctx context.Context, now time.Time) ([]Record, error)
	Delete(ctx context.Context, stageID string) error
}

Jump to

Keyboard shortcuts

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