Documentation ¶
Overview ¶
Package assertstate implements the manager and state aspects responsible for the enforcement of assertions in the system and manages the system-wide assertion database.
Index ¶
- func Add(s *state.State, a asserts.Assertion) error
- func AddBatch(s *state.State, batch *asserts.Batch, opts *asserts.CommitOptions) error
- func AutoAliases(s *state.State, info *snap.Info) (map[string]string, error)
- func AutoRefreshAssertions(s *state.State, userID int) error
- func BaseDeclaration(s *state.State) (*asserts.BaseDeclaration, error)
- func DB(s *state.State) asserts.RODatabase
- func Publisher(s *state.State, snapID string) (*asserts.Account, error)
- func RefreshSnapDeclarations(s *state.State, userID int) error
- func ReplaceDB(state *state.State, db *asserts.Database)
- func SnapDeclaration(s *state.State, snapID string) (*asserts.SnapDeclaration, error)
- func Store(s *state.State, store string) (*asserts.Store, error)
- func ValidateRefreshes(s *state.State, snapInfos []*snap.Info, ignoreValidation map[string]bool, ...) (validated []*snap.Info, err error)
- type AssertManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AutoAliases ¶
AutoAliases returns the explicit automatic aliases alias=>app mapping for the given installed snap.
func AutoRefreshAssertions ¶
AutoRefreshAssertions tries to refresh all assertions
func BaseDeclaration ¶
func BaseDeclaration(s *state.State) (*asserts.BaseDeclaration, error)
BaseDeclaration returns the base-declaration assertion with policies governing all snaps.
func DB ¶
func DB(s *state.State) asserts.RODatabase
DB returns a read-only view of system assertion database.
func Publisher ¶
Publisher returns the account assertion for publisher of the given snap-id if it is present in the system assertion database.
func RefreshSnapDeclarations ¶
RefreshSnapDeclarations refetches all the current snap declarations and their prerequisites.
func SnapDeclaration ¶
SnapDeclaration returns the snap-declaration for the given snap-id if it is present in the system assertion database.
func Store ¶
Store returns the store assertion with the given name/id if it is present in the system assertion database.
func ValidateRefreshes ¶
func ValidateRefreshes(s *state.State, snapInfos []*snap.Info, ignoreValidation map[string]bool, userID int, deviceCtx snapstate.DeviceContext) (validated []*snap.Info, err error)
ValidateRefreshes validates the refresh candidate revisions represented by the snapInfos, looking for the needed refresh control validation assertions, it returns a validated subset in validated and a summary error if not all candidates validated. ignoreValidation is a set of snap-instance-names that should not be gated.
Types ¶
type AssertManager ¶
type AssertManager struct{}
AssertManager is responsible for the enforcement of assertions in system states. It manipulates the observed system state to ensure nothing in it violates existing assertions, or misses required ones.
func Manager ¶
func Manager(s *state.State, runner *state.TaskRunner) (*AssertManager, error)
Manager returns a new assertion manager.
func (*AssertManager) Ensure ¶
func (m *AssertManager) Ensure() error
Ensure implements StateManager.Ensure.