store

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package store provides storage interfaces and implementations for staging.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Drainer

type Drainer interface {
	// Drain retrieves the entire state from storage.
	// If service is empty, returns all services; otherwise filters to the specified service.
	// If keep is false, the source storage is cleared after reading.
	Drain(ctx context.Context, service staging.Service, keep bool) (*staging.State, error)
}

Drainer provides bulk read access to staging state (for drain command).

type FileStore

type FileStore interface {
	Drainer
	Writer
}

FileStore combines drain and write operations for file storage.

type ReadOperator

type ReadOperator interface {
	// GetEntry retrieves a staged entry.
	GetEntry(ctx context.Context, service staging.Service, name string) (*staging.Entry, error)
	// GetTag retrieves staged tag changes.
	GetTag(ctx context.Context, service staging.Service, name string) (*staging.TagEntry, error)
	// ListEntries returns all staged entries for a service.
	ListEntries(ctx context.Context, service staging.Service) (map[staging.Service]map[string]staging.Entry, error)
	// ListTags returns all staged tag changes for a service.
	ListTags(ctx context.Context, service staging.Service) (map[staging.Service]map[string]staging.TagEntry, error)
}

ReadOperator provides read-only access to individual staging entries.

type ReadWriteOperator

type ReadWriteOperator interface {
	ReadOperator
	WriteOperator
}

ReadWriteOperator combines read and write access to staging entries.

type WriteOperator

type WriteOperator interface {
	// StageEntry adds or updates a staged entry.
	StageEntry(ctx context.Context, service staging.Service, name string, entry staging.Entry) error
	// StageTag adds or updates staged tag changes.
	StageTag(ctx context.Context, service staging.Service, name string, tagEntry staging.TagEntry) error
	// UnstageEntry removes a staged entry.
	UnstageEntry(ctx context.Context, service staging.Service, name string) error
	// UnstageTag removes staged tag changes.
	UnstageTag(ctx context.Context, service staging.Service, name string) error
	// UnstageAll removes all staged changes for a service.
	UnstageAll(ctx context.Context, service staging.Service) error
}

WriteOperator provides write access to individual staging entries.

type Writer

type Writer interface {
	// WriteState writes the entire state to storage.
	// If service is empty, writes all services; otherwise writes only the specified service.
	WriteState(ctx context.Context, service staging.Service, state *staging.State) error
}

Writer provides bulk write access to staging state.

Directories

Path Synopsis
Package file provides file-based staging storage.
Package file provides file-based staging storage.
internal/crypt
Package crypt provides encryption for staging files.
Package crypt provides encryption for staging files.
internal/keyprovider
Package keyprovider resolves the AES-256 data key used to encrypt the working staging state files (param.json/secret.json).
Package keyprovider resolves the AES-256 data key used to encrypt the working staging state files (param.json/secret.json).
Package testutil provides test utilities for staging package.
Package testutil provides test utilities for staging package.

Jump to

Keyboard shortcuts

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