Documentation
¶
Index ¶
- Constants
- Variables
- func RunnableAuthorizationState(state AuthorizationState) bool
- func RunnablePluginRecord(record PluginRecord) bool
- func RunnableTrustState(state TrustState) bool
- type AuthorizationDecision
- type AuthorizationRevisionConflictError
- type AuthorizationRevisions
- type AuthorizationSnapshot
- type AuthorizationState
- type AuthorizationStore
- type AuthorizeRequest
- type CommitExternalPackageRequest
- type EnableState
- type ExecutionApproval
- type ExecutionApprovalStatus
- type ExternalPackageCommitIntent
- type ExternalPackageCommitResult
- type ExternalPackageCommitStatus
- type ExternalPackageStore
- type LocalImportProvenance
- type ManagementRevisionConflictError
- type MemoryStore
- func (s *MemoryStore) AbortInstall(ctx context.Context, pluginInstanceID string) error
- func (s *MemoryStore) Authorize(ctx context.Context, req AuthorizeRequest) (AuthorizationDecision, error)
- func (s *MemoryStore) BindRetained(ctx context.Context, expected plugindata.Binding, ...) (plugindata.Binding, error)
- func (s *MemoryStore) CleanupExpired(ctx context.Context, now time.Time, expected []plugindata.Binding) ([]plugindata.Binding, error)
- func (s *MemoryStore) CommitEnable(ctx context.Context, expectedManagementRevision uint64, ...) error
- func (s *MemoryStore) CommitExternalPackage(ctx context.Context, req CommitExternalPackageRequest) (ExternalPackageCommitResult, error)
- func (s *MemoryStore) CommitUninstall(ctx context.Context, req plugindata.CommitUninstallRequest) (plugindata.CommitUninstallResult, error)
- func (s *MemoryStore) CreateObject(ctx context.Context, scope sessionctx.ScopeKind, object plugindata.Object) error
- func (s *MemoryStore) DeleteObject(ctx context.Context, scope sessionctx.ScopeKind, ...) error
- func (s *MemoryStore) DeleteRetained(ctx context.Context, expected plugindata.Binding) error
- func (s *MemoryStore) DeleteSecurityPolicy(ctx context.Context, pluginInstanceID string, now time.Time, ...) (AuthorizationSnapshot, error)
- func (*MemoryStore) Durable() bool
- func (s *MemoryStore) GetAuthorization(ctx context.Context, pluginInstanceID string) (AuthorizationSnapshot, error)
- func (s *MemoryStore) GetBinding(ctx context.Context, pluginInstanceID string) (plugindata.Binding, bool, error)
- func (s *MemoryStore) GetObject(ctx context.Context, scope sessionctx.ScopeKind, ...) (plugindata.Object, bool, error)
- func (s *MemoryStore) GetPlugin(ctx context.Context, pluginInstanceID string) (PluginRecord, error)
- func (s *MemoryStore) GrantPermission(ctx context.Context, req permissions.GrantRequest, ...) (AuthorizationSnapshot, error)
- func (s *MemoryStore) ListAllBindingsForMaintenance(_ context.Context, cursor string, limit int) ([]plugindata.MaintenanceBinding, string, error)
- func (s *MemoryStore) ListAllObjectsForMaintenance(_ context.Context, cursor string, limit int) ([]plugindata.MaintenanceObject, string, error)
- func (s *MemoryStore) ListAuthorization(ctx context.Context) ([]AuthorizationSnapshot, error)
- func (s *MemoryStore) ListBindings(ctx context.Context, cursor string, limit int) ([]plugindata.Binding, string, error)
- func (s *MemoryStore) ListObjects(ctx context.Context, scope sessionctx.ScopeKind, ...) ([]plugindata.Object, string, error)
- func (s *MemoryStore) ListPlugins(ctx context.Context) ([]PluginRecord, error)
- func (s *MemoryStore) PutPlugin(ctx context.Context, record PluginRecord, opts PutOptions) (PluginRecord, error)
- func (s *MemoryStore) PutSecurityPolicy(ctx context.Context, req security.PutPolicyRequest, ...) (AuthorizationSnapshot, error)
- func (s *MemoryStore) QueryExternalPackageCommit(ctx context.Context, req QueryExternalPackageCommitRequest) (ExternalPackageCommitResult, error)
- func (s *MemoryStore) RevokePermission(ctx context.Context, req permissions.RevokeRequest, ...) (AuthorizationSnapshot, error)
- func (s *MemoryStore) SetEnableState(ctx context.Context, pluginInstanceID string, state EnableState, reason string, ...) (PluginRecord, error)
- func (s *MemoryStore) SwapImport(ctx context.Context, expectedManagementRevision uint64, ...) error
- type PackageSourceKind
- type PackageSourceProvenance
- type PackageSourceRedirectHop
- type PluginRecord
- type PluginVersion
- type PutOptions
- type QueryExternalPackageCommitRequest
- type ReleaseTrustBinding
- type RuntimeRequirement
- type SQLiteStore
- func (s *SQLiteStore) AbortInstall(ctx context.Context, pluginInstanceID string) error
- func (s *SQLiteStore) Authorize(ctx context.Context, req AuthorizeRequest) (AuthorizationDecision, error)
- func (s *SQLiteStore) BindRetained(ctx context.Context, expected plugindata.Binding, ...) (plugindata.Binding, error)
- func (s *SQLiteStore) CleanupExpired(ctx context.Context, now time.Time, expected []plugindata.Binding) ([]plugindata.Binding, error)
- func (s *SQLiteStore) Close() error
- func (s *SQLiteStore) CommitEnable(ctx context.Context, expectedManagementRevision uint64, ...) error
- func (s *SQLiteStore) CommitExternalPackage(ctx context.Context, req CommitExternalPackageRequest) (ExternalPackageCommitResult, error)
- func (s *SQLiteStore) CommitUninstall(ctx context.Context, req plugindata.CommitUninstallRequest) (plugindata.CommitUninstallResult, error)
- func (s *SQLiteStore) CreateObject(ctx context.Context, scope sessionctx.ScopeKind, object plugindata.Object) error
- func (s *SQLiteStore) DeleteObject(ctx context.Context, scope sessionctx.ScopeKind, ...) error
- func (s *SQLiteStore) DeleteRetained(ctx context.Context, expected plugindata.Binding) error
- func (s *SQLiteStore) DeleteSecurityPolicy(ctx context.Context, pluginInstanceID string, now time.Time, ...) (AuthorizationSnapshot, error)
- func (*SQLiteStore) Durable() bool
- func (s *SQLiteStore) GetAuthorization(ctx context.Context, pluginInstanceID string) (AuthorizationSnapshot, error)
- func (s *SQLiteStore) GetBinding(ctx context.Context, pluginInstanceID string) (plugindata.Binding, bool, error)
- func (s *SQLiteStore) GetObject(ctx context.Context, scope sessionctx.ScopeKind, ...) (plugindata.Object, bool, error)
- func (s *SQLiteStore) GetPlugin(ctx context.Context, pluginInstanceID string) (PluginRecord, error)
- func (s *SQLiteStore) GrantPermission(ctx context.Context, req permissions.GrantRequest, ...) (AuthorizationSnapshot, error)
- func (s *SQLiteStore) ListAllBindingsForMaintenance(ctx context.Context, cursor string, limit int) ([]plugindata.MaintenanceBinding, string, error)
- func (s *SQLiteStore) ListAllObjectsForMaintenance(ctx context.Context, cursor string, limit int) ([]plugindata.MaintenanceObject, string, error)
- func (s *SQLiteStore) ListAuthorization(ctx context.Context) ([]AuthorizationSnapshot, error)
- func (s *SQLiteStore) ListBindings(ctx context.Context, cursor string, limit int) ([]plugindata.Binding, string, error)
- func (s *SQLiteStore) ListObjects(ctx context.Context, scope sessionctx.ScopeKind, ...) ([]plugindata.Object, string, error)
- func (s *SQLiteStore) ListPlugins(ctx context.Context) ([]PluginRecord, error)
- func (s *SQLiteStore) PutPlugin(ctx context.Context, record PluginRecord, opts PutOptions) (PluginRecord, error)
- func (s *SQLiteStore) PutSecurityPolicy(ctx context.Context, req security.PutPolicyRequest, ...) (AuthorizationSnapshot, error)
- func (s *SQLiteStore) QueryExternalPackageCommit(ctx context.Context, req QueryExternalPackageCommitRequest) (ExternalPackageCommitResult, error)
- func (s *SQLiteStore) RevokePermission(ctx context.Context, req permissions.RevokeRequest, ...) (AuthorizationSnapshot, error)
- func (s *SQLiteStore) SetEnableState(ctx context.Context, pluginInstanceID string, state EnableState, reason string, ...) (PluginRecord, error)
- func (s *SQLiteStore) SwapImport(ctx context.Context, expectedManagementRevision uint64, ...) error
- type SecurityCapabilitySummary
- type SignatureAssessment
- type SignatureAssessmentStatus
- type Store
- type TrustAssessment
- type TrustHashSet
- type TrustState
- type UpdateEligibility
- type VerifiedSignature
Constants ¶
View Source
const ExternalPackageFailureHostRestarted = "host_restarted_before_commit"
Variables ¶
View Source
var ( ErrInvalidAuthorizationRevisions = errors.New("authorization revisions are invalid") ErrAuthorizationRevisionConflict = errors.New("authorization revision conflict") ErrAuthorizationSchemaIncomplete = errors.New("authorization schema is incomplete") )
View Source
var ( ErrExternalPackageCommitNotFound = errors.New("external package commit not found") ErrExternalPackageCommitConflict = errors.New("external package commit identity conflict") ErrInvalidExternalPackageCommit = errors.New("invalid external package commit") )
View Source
var ErrManagementRevisionConflict = errors.New("management revision conflict")
View Source
var ErrNotFound = errors.New("plugin record not found")
View Source
var ErrOwnerScopeMismatch = errors.New("plugin registry owner scope mismatch")
Functions ¶
func RunnableAuthorizationState ¶ added in v0.6.8
func RunnableAuthorizationState(state AuthorizationState) bool
func RunnablePluginRecord ¶ added in v0.6.8
func RunnablePluginRecord(record PluginRecord) bool
RunnablePluginRecord preserves the legacy trust projection for records that predate external-package facts. External packages are governed by their environment-and-package-bound execution approval instead of signature state.
func RunnableTrustState ¶
func RunnableTrustState(state TrustState) bool
Types ¶
type AuthorizationDecision ¶ added in v0.5.0
type AuthorizationDecision struct {
State AuthorizationState `json:"state"`
Allowed bool `json:"allowed"`
MissingPermissions []string `json:"missing_permissions,omitempty"`
PolicyEvaluation security.PolicyEvaluation `json:"policy_evaluation"`
}
type AuthorizationRevisionConflictError ¶ added in v0.5.0
type AuthorizationRevisionConflictError struct {
PluginInstanceID string
Expected AuthorizationRevisions
Actual AuthorizationRevisions
}
func (*AuthorizationRevisionConflictError) Error ¶ added in v0.5.0
func (e *AuthorizationRevisionConflictError) Error() string
func (*AuthorizationRevisionConflictError) Unwrap ¶ added in v0.5.0
func (e *AuthorizationRevisionConflictError) Unwrap() error
type AuthorizationRevisions ¶ added in v0.5.0
type AuthorizationRevisions struct {
PolicyRevision uint64 `json:"policy_revision"`
ManagementRevision uint64 `json:"management_revision"`
RevokeEpoch uint64 `json:"revoke_epoch"`
}
func AuthorizationRevisionsFromRecord ¶ added in v0.5.0
func AuthorizationRevisionsFromRecord(record PluginRecord) AuthorizationRevisions
type AuthorizationSnapshot ¶ added in v0.5.0
type AuthorizationSnapshot struct {
Plugin PluginRecord `json:"plugin"`
Grants []permissions.Record `json:"grants"`
Policy *security.PolicyRecord `json:"policy,omitempty"`
}
type AuthorizationState ¶ added in v0.5.0
type AuthorizationState struct {
PluginInstanceID string `json:"plugin_instance_id"`
PluginVersion string `json:"plugin_version"`
ActiveFingerprint string `json:"active_fingerprint"`
TrustState TrustState `json:"trust_state"`
SignatureAssessment SignatureAssessment `json:"signature_assessment"`
PackageSourceKind PackageSourceKind `json:"package_source_kind"`
ExecutionApproval ExecutionApproval `json:"execution_approval"`
EnableState EnableState `json:"enable_state"`
Revisions AuthorizationRevisions `json:"revisions"`
}
type AuthorizationStore ¶ added in v0.5.0
type AuthorizationStore interface {
GrantPermission(ctx context.Context, req permissions.GrantRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
RevokePermission(ctx context.Context, req permissions.RevokeRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
PutSecurityPolicy(ctx context.Context, req security.PutPolicyRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
DeleteSecurityPolicy(ctx context.Context, pluginInstanceID string, now time.Time, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
GetAuthorization(ctx context.Context, pluginInstanceID string) (AuthorizationSnapshot, error)
ListAuthorization(ctx context.Context) ([]AuthorizationSnapshot, error)
Authorize(ctx context.Context, req AuthorizeRequest) (AuthorizationDecision, error)
}
type AuthorizeRequest ¶ added in v0.5.0
type CommitExternalPackageRequest ¶ added in v0.6.8
type CommitExternalPackageRequest struct {
InspectionID string `json:"inspection_id"`
CommitID string `json:"commit_id"`
Intent ExternalPackageCommitIntent `json:"intent"`
ConfirmationDigest string `json:"confirmation_digest"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
IntendedFingerprint string `json:"intended_fingerprint"`
IntendedPackageSHA256 string `json:"intended_package_sha256"`
Record PluginRecord `json:"record"`
Now time.Time `json:"-"`
}
type EnableState ¶
type EnableState string
const ( EnableDisabled EnableState = "disabled" EnableEnabled EnableState = "enabled" EnableDisabledByPolicy EnableState = "disabled_by_policy" EnableDisabledIncompatible EnableState = "disabled_incompatible" )
type ExecutionApproval ¶ added in v0.6.8
type ExecutionApproval struct {
Status ExecutionApprovalStatus `json:"state"`
OwnerEnvHash string `json:"owner_env_hash,omitempty"`
PackageSHA256 string `json:"package_sha256,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
EvidenceReference string `json:"evidence_reference,omitempty"`
PolicyEpoch string `json:"policy_epoch,omitempty"`
AssessedAt time.Time `json:"assessed_at,omitempty"`
ApprovedAt time.Time `json:"approved_at,omitempty"`
}
ExecutionApproval is durable package authorization. Its audience is exactly one environment and one immutable package digest; session audiences must not be persisted here.
type ExecutionApprovalStatus ¶ added in v0.6.8
type ExecutionApprovalStatus string
const ( ExecutionApprovalPending ExecutionApprovalStatus = "pending" ExecutionApprovalUserApproved ExecutionApprovalStatus = "user_approved" ExecutionApprovalPolicyApproved ExecutionApprovalStatus = "policy_approved" ExecutionApprovalPolicyBlocked ExecutionApprovalStatus = "policy_blocked" )
type ExternalPackageCommitIntent ¶ added in v0.6.8
type ExternalPackageCommitIntent string
const ( ExternalPackageInstall ExternalPackageCommitIntent = "install" ExternalPackageUpdate ExternalPackageCommitIntent = "update" )
type ExternalPackageCommitResult ¶ added in v0.6.8
type ExternalPackageCommitResult struct {
InspectionID string `json:"inspection_id"`
CommitID string `json:"commit_id"`
Intent ExternalPackageCommitIntent `json:"intent"`
PluginInstanceID string `json:"plugin_instance_id"`
ExpectedManagementRevision uint64 `json:"expected_management_revision,omitempty"`
IntendedFingerprint string `json:"intended_fingerprint"`
IntendedPackageSHA256 string `json:"intended_package_sha256"`
Status ExternalPackageCommitStatus `json:"status"`
MutationOutcome mutation.Outcome `json:"mutation_outcome"`
RecordSnapshot *PluginRecord `json:"record_snapshot,omitempty"`
FailureCode string `json:"failure_code,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ExternalPackageCommitStatus ¶ added in v0.6.8
type ExternalPackageCommitStatus string
const ( ExternalPackageCommitting ExternalPackageCommitStatus = "committing" ExternalPackageCommitted ExternalPackageCommitStatus = "committed" ExternalPackageFailed ExternalPackageCommitStatus = "failed" )
type ExternalPackageStore ¶ added in v0.6.8
type ExternalPackageStore interface {
CommitExternalPackage(context.Context, CommitExternalPackageRequest) (ExternalPackageCommitResult, error)
QueryExternalPackageCommit(context.Context, QueryExternalPackageCommitRequest) (ExternalPackageCommitResult, error)
}
type LocalImportProvenance ¶
type ManagementRevisionConflictError ¶ added in v0.5.0
type ManagementRevisionConflictError struct {
PluginInstanceID string
Expected uint64
Actual uint64
}
func (*ManagementRevisionConflictError) Error ¶ added in v0.5.0
func (e *ManagementRevisionConflictError) Error() string
func (*ManagementRevisionConflictError) Unwrap ¶ added in v0.5.0
func (e *ManagementRevisionConflictError) Unwrap() error
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
func NewMemoryStore ¶
func NewMemoryStore() *MemoryStore
func (*MemoryStore) AbortInstall ¶ added in v0.5.0
func (s *MemoryStore) AbortInstall(ctx context.Context, pluginInstanceID string) error
func (*MemoryStore) Authorize ¶ added in v0.5.0
func (s *MemoryStore) Authorize(ctx context.Context, req AuthorizeRequest) (AuthorizationDecision, error)
func (*MemoryStore) BindRetained ¶ added in v0.5.0
func (s *MemoryStore) BindRetained(ctx context.Context, expected plugindata.Binding, targetPluginInstanceID string, targetExpectedManagementRevision uint64, targetShape plugindata.Shape, now time.Time) (plugindata.Binding, error)
func (*MemoryStore) CleanupExpired ¶ added in v0.5.0
func (s *MemoryStore) CleanupExpired(ctx context.Context, now time.Time, expected []plugindata.Binding) ([]plugindata.Binding, error)
func (*MemoryStore) CommitEnable ¶ added in v0.5.0
func (s *MemoryStore) CommitEnable(ctx context.Context, expectedManagementRevision uint64, expected *plugindata.Binding, next plugindata.Binding, shape plugindata.Shape, now time.Time) error
func (*MemoryStore) CommitExternalPackage ¶ added in v0.6.8
func (s *MemoryStore) CommitExternalPackage(ctx context.Context, req CommitExternalPackageRequest) (ExternalPackageCommitResult, error)
func (*MemoryStore) CommitUninstall ¶ added in v0.5.0
func (s *MemoryStore) CommitUninstall(ctx context.Context, req plugindata.CommitUninstallRequest) (plugindata.CommitUninstallResult, error)
func (*MemoryStore) CreateObject ¶ added in v0.5.0
func (s *MemoryStore) CreateObject(ctx context.Context, scope sessionctx.ScopeKind, object plugindata.Object) error
func (*MemoryStore) DeleteObject ¶ added in v0.5.0
func (s *MemoryStore) DeleteObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) error
func (*MemoryStore) DeleteRetained ¶ added in v0.5.0
func (s *MemoryStore) DeleteRetained(ctx context.Context, expected plugindata.Binding) error
func (*MemoryStore) DeleteSecurityPolicy ¶ added in v0.5.0
func (s *MemoryStore) DeleteSecurityPolicy(ctx context.Context, pluginInstanceID string, now time.Time, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*MemoryStore) Durable ¶ added in v0.6.0
func (*MemoryStore) Durable() bool
func (*MemoryStore) GetAuthorization ¶ added in v0.5.0
func (s *MemoryStore) GetAuthorization(ctx context.Context, pluginInstanceID string) (AuthorizationSnapshot, error)
func (*MemoryStore) GetBinding ¶ added in v0.5.0
func (s *MemoryStore) GetBinding(ctx context.Context, pluginInstanceID string) (plugindata.Binding, bool, error)
func (*MemoryStore) GetObject ¶ added in v0.5.0
func (s *MemoryStore) GetObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) (plugindata.Object, bool, error)
func (*MemoryStore) GetPlugin ¶
func (s *MemoryStore) GetPlugin(ctx context.Context, pluginInstanceID string) (PluginRecord, error)
func (*MemoryStore) GrantPermission ¶ added in v0.5.0
func (s *MemoryStore) GrantPermission(ctx context.Context, req permissions.GrantRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*MemoryStore) ListAllBindingsForMaintenance ¶ added in v0.5.0
func (s *MemoryStore) ListAllBindingsForMaintenance(_ context.Context, cursor string, limit int) ([]plugindata.MaintenanceBinding, string, error)
func (*MemoryStore) ListAllObjectsForMaintenance ¶ added in v0.5.0
func (s *MemoryStore) ListAllObjectsForMaintenance(_ context.Context, cursor string, limit int) ([]plugindata.MaintenanceObject, string, error)
func (*MemoryStore) ListAuthorization ¶ added in v0.5.0
func (s *MemoryStore) ListAuthorization(ctx context.Context) ([]AuthorizationSnapshot, error)
func (*MemoryStore) ListBindings ¶ added in v0.5.0
func (s *MemoryStore) ListBindings(ctx context.Context, cursor string, limit int) ([]plugindata.Binding, string, error)
func (*MemoryStore) ListObjects ¶ added in v0.5.0
func (s *MemoryStore) ListObjects(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, cursor string, limit int) ([]plugindata.Object, string, error)
func (*MemoryStore) ListPlugins ¶
func (s *MemoryStore) ListPlugins(ctx context.Context) ([]PluginRecord, error)
func (*MemoryStore) PutPlugin ¶
func (s *MemoryStore) PutPlugin(ctx context.Context, record PluginRecord, opts PutOptions) (PluginRecord, error)
func (*MemoryStore) PutSecurityPolicy ¶ added in v0.5.0
func (s *MemoryStore) PutSecurityPolicy(ctx context.Context, req security.PutPolicyRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*MemoryStore) QueryExternalPackageCommit ¶ added in v0.6.8
func (s *MemoryStore) QueryExternalPackageCommit(ctx context.Context, req QueryExternalPackageCommitRequest) (ExternalPackageCommitResult, error)
func (*MemoryStore) RevokePermission ¶ added in v0.5.0
func (s *MemoryStore) RevokePermission(ctx context.Context, req permissions.RevokeRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*MemoryStore) SetEnableState ¶
func (s *MemoryStore) SetEnableState(ctx context.Context, pluginInstanceID string, state EnableState, reason string, now time.Time) (PluginRecord, error)
func (*MemoryStore) SwapImport ¶ added in v0.5.0
func (s *MemoryStore) SwapImport(ctx context.Context, expectedManagementRevision uint64, expected *plugindata.Binding, next plugindata.Binding, shape plugindata.Shape, now time.Time) error
type PackageSourceKind ¶ added in v0.6.8
type PackageSourceKind string
const ( PackageSourceGitHubRepository PackageSourceKind = "github_repository" PackageSourcePackageURL PackageSourceKind = "package_url" PackageSourcePackageUpload PackageSourceKind = "package_upload" PackageSourceOfficialCatalog PackageSourceKind = "official_catalog" PackageSourceApprovedCatalog PackageSourceKind = "approved_catalog" PackageSourceLocalGenerated PackageSourceKind = "local_generated" PackageSourceLegacyRegistry PackageSourceKind = "legacy_registry" )
type PackageSourceProvenance ¶ added in v0.6.8
type PackageSourceProvenance struct {
Kind PackageSourceKind `json:"kind"`
UploadID string `json:"upload_id,omitempty"`
SourceOrigin string `json:"source_origin,omitempty"`
SourceURL string `json:"source_url,omitempty"`
FinalURL string `json:"final_url,omitempty"`
RedirectChain []PackageSourceRedirectHop `json:"redirect_chain,omitempty"`
RepositoryURL string `json:"repository_url,omitempty"`
GitHubRepositoryID string `json:"repository_id,omitempty"`
GitHubReleaseID string `json:"release_id,omitempty"`
GitHubAssetID string `json:"asset_id,omitempty"`
GitHubOwner string `json:"owner,omitempty"`
GitHubRepository string `json:"repository,omitempty"`
ReleaseTag string `json:"release_tag,omitempty"`
AssetName string `json:"asset_name,omitempty"`
PackageSHA256 string `json:"package_sha256,omitempty"`
SourceReference string `json:"source_reference,omitempty"`
SourcePath string `json:"source_path,omitempty"`
ResolvedRevision string `json:"resolved_commit_sha,omitempty"`
CatalogEntryID string `json:"catalog_entry_id,omitempty"`
RetrievedAt time.Time `json:"resolved_at,omitempty"`
}
type PackageSourceRedirectHop ¶ added in v0.6.8
type PluginRecord ¶
type PluginRecord struct {
OwnerEnvHash string `json:"-"`
PluginInstanceID string `json:"plugin_instance_id"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Version string `json:"version"`
ActiveFingerprint string `json:"active_fingerprint"`
PackageHash string `json:"package_hash"`
ManifestHash string `json:"manifest_hash"`
EntriesHash string `json:"entries_hash"`
TrustState TrustState `json:"trust_state"`
TrustAssessment TrustAssessment `json:"trust_assessment"`
SignatureAssessment SignatureAssessment `json:"signature_assessment"`
PackageSourceProvenance PackageSourceProvenance `json:"source_provenance"`
ExecutionApproval ExecutionApproval `json:"execution_approval"`
UpdateEligibility UpdateEligibility `json:"update_eligibility"`
SecurityCapabilitySummary SecurityCapabilitySummary `json:"security_summary"`
ReleaseTrustBinding *ReleaseTrustBinding `json:"release_trust_binding,omitempty"`
LocalImportProvenance *LocalImportProvenance `json:"local_import_provenance,omitempty"`
CapabilityContracts []capabilitycontract.Pin `json:"capability_contracts,omitempty"`
EnableState EnableState `json:"enable_state"`
DisabledReason string `json:"disabled_reason,omitempty"`
PolicyRevision uint64 `json:"policy_revision"`
ManagementRevision uint64 `json:"management_revision"`
RevokeEpoch uint64 `json:"revoke_epoch"`
Manifest manifest.Manifest `json:"manifest"`
PackageEntries []pluginpkg.Entry `json:"package_entries"`
RuntimeRequirement *RuntimeRequirement `json:"runtime_requirement,omitempty"`
VersionHistory []PluginVersion `json:"version_history,omitempty"`
InstalledAt time.Time `json:"installed_at"`
EnabledAt *time.Time `json:"enabled_at,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type PluginVersion ¶
type PluginVersion struct {
Version string `json:"version"`
ActiveFingerprint string `json:"active_fingerprint"`
PackageHash string `json:"package_hash"`
ManifestHash string `json:"manifest_hash"`
EntriesHash string `json:"entries_hash"`
TrustState TrustState `json:"trust_state"`
TrustAssessment TrustAssessment `json:"trust_assessment"`
SignatureAssessment SignatureAssessment `json:"signature_assessment"`
PackageSourceProvenance PackageSourceProvenance `json:"source_provenance"`
ExecutionApproval ExecutionApproval `json:"execution_approval"`
UpdateEligibility UpdateEligibility `json:"update_eligibility"`
SecurityCapabilitySummary SecurityCapabilitySummary `json:"security_summary"`
ReleaseTrustBinding *ReleaseTrustBinding `json:"release_trust_binding,omitempty"`
LocalImportProvenance *LocalImportProvenance `json:"local_import_provenance,omitempty"`
CapabilityContracts []capabilitycontract.Pin `json:"capability_contracts,omitempty"`
Manifest manifest.Manifest `json:"manifest"`
PackageEntries []pluginpkg.Entry `json:"package_entries"`
RuntimeRequirement *RuntimeRequirement `json:"runtime_requirement,omitempty"`
ActivatedAt time.Time `json:"activated_at"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type PutOptions ¶
type QueryExternalPackageCommitRequest ¶ added in v0.6.8
type ReleaseTrustBinding ¶ added in v0.6.0
type ReleaseTrustBinding struct {
SourceID string `json:"source_id"`
Channel string `json:"channel"`
ReleaseMetadataRef string `json:"release_metadata_ref"`
ReleaseMetadataSHA256 string `json:"release_metadata_sha256"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Version string `json:"version"`
VerifiedStateSHA256 string `json:"verified_state_sha256"`
RootEpoch string `json:"root_epoch"`
PolicyEpoch string `json:"policy_epoch"`
RevocationEpoch string `json:"revocation_epoch"`
}
type RuntimeRequirement ¶ added in v0.5.0
type RuntimeRequirement struct {
MinVersion string `json:"min_version"`
SupportedTargets []runtimetarget.Target `json:"supported_targets,omitempty"`
}
RuntimeRequirement is the exact worker-runtime compatibility contract that was verified for an installed package version. UI-only packages leave it nil.
type SQLiteStore ¶
type SQLiteStore struct {
// contains filtered or unexported fields
}
func NewSQLiteStore ¶
func NewSQLiteStore(ctx context.Context, path string) (*SQLiteStore, error)
func (*SQLiteStore) AbortInstall ¶ added in v0.5.0
func (s *SQLiteStore) AbortInstall(ctx context.Context, pluginInstanceID string) error
func (*SQLiteStore) Authorize ¶ added in v0.5.0
func (s *SQLiteStore) Authorize(ctx context.Context, req AuthorizeRequest) (AuthorizationDecision, error)
func (*SQLiteStore) BindRetained ¶ added in v0.5.0
func (s *SQLiteStore) BindRetained(ctx context.Context, expected plugindata.Binding, targetPluginInstanceID string, targetExpectedManagementRevision uint64, targetShape plugindata.Shape, now time.Time) (plugindata.Binding, error)
func (*SQLiteStore) CleanupExpired ¶ added in v0.5.0
func (s *SQLiteStore) CleanupExpired(ctx context.Context, now time.Time, expected []plugindata.Binding) ([]plugindata.Binding, error)
func (*SQLiteStore) Close ¶
func (s *SQLiteStore) Close() error
func (*SQLiteStore) CommitEnable ¶ added in v0.5.0
func (s *SQLiteStore) CommitEnable(ctx context.Context, expectedManagementRevision uint64, expected *plugindata.Binding, next plugindata.Binding, shape plugindata.Shape, now time.Time) error
func (*SQLiteStore) CommitExternalPackage ¶ added in v0.6.8
func (s *SQLiteStore) CommitExternalPackage(ctx context.Context, req CommitExternalPackageRequest) (ExternalPackageCommitResult, error)
func (*SQLiteStore) CommitUninstall ¶ added in v0.5.0
func (s *SQLiteStore) CommitUninstall(ctx context.Context, req plugindata.CommitUninstallRequest) (plugindata.CommitUninstallResult, error)
func (*SQLiteStore) CreateObject ¶ added in v0.5.0
func (s *SQLiteStore) CreateObject(ctx context.Context, scope sessionctx.ScopeKind, object plugindata.Object) error
func (*SQLiteStore) DeleteObject ¶ added in v0.5.0
func (s *SQLiteStore) DeleteObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) error
func (*SQLiteStore) DeleteRetained ¶ added in v0.5.0
func (s *SQLiteStore) DeleteRetained(ctx context.Context, expected plugindata.Binding) error
func (*SQLiteStore) DeleteSecurityPolicy ¶ added in v0.5.0
func (s *SQLiteStore) DeleteSecurityPolicy(ctx context.Context, pluginInstanceID string, now time.Time, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*SQLiteStore) Durable ¶ added in v0.6.0
func (*SQLiteStore) Durable() bool
func (*SQLiteStore) GetAuthorization ¶ added in v0.5.0
func (s *SQLiteStore) GetAuthorization(ctx context.Context, pluginInstanceID string) (AuthorizationSnapshot, error)
func (*SQLiteStore) GetBinding ¶ added in v0.5.0
func (s *SQLiteStore) GetBinding(ctx context.Context, pluginInstanceID string) (plugindata.Binding, bool, error)
func (*SQLiteStore) GetObject ¶ added in v0.5.0
func (s *SQLiteStore) GetObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) (plugindata.Object, bool, error)
func (*SQLiteStore) GetPlugin ¶
func (s *SQLiteStore) GetPlugin(ctx context.Context, pluginInstanceID string) (PluginRecord, error)
func (*SQLiteStore) GrantPermission ¶ added in v0.5.0
func (s *SQLiteStore) GrantPermission(ctx context.Context, req permissions.GrantRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*SQLiteStore) ListAllBindingsForMaintenance ¶ added in v0.5.0
func (s *SQLiteStore) ListAllBindingsForMaintenance(ctx context.Context, cursor string, limit int) ([]plugindata.MaintenanceBinding, string, error)
func (*SQLiteStore) ListAllObjectsForMaintenance ¶ added in v0.5.0
func (s *SQLiteStore) ListAllObjectsForMaintenance(ctx context.Context, cursor string, limit int) ([]plugindata.MaintenanceObject, string, error)
func (*SQLiteStore) ListAuthorization ¶ added in v0.5.0
func (s *SQLiteStore) ListAuthorization(ctx context.Context) ([]AuthorizationSnapshot, error)
func (*SQLiteStore) ListBindings ¶ added in v0.5.0
func (s *SQLiteStore) ListBindings(ctx context.Context, cursor string, limit int) ([]plugindata.Binding, string, error)
func (*SQLiteStore) ListObjects ¶ added in v0.5.0
func (s *SQLiteStore) ListObjects(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, cursor string, limit int) ([]plugindata.Object, string, error)
func (*SQLiteStore) ListPlugins ¶
func (s *SQLiteStore) ListPlugins(ctx context.Context) ([]PluginRecord, error)
func (*SQLiteStore) PutPlugin ¶
func (s *SQLiteStore) PutPlugin(ctx context.Context, record PluginRecord, opts PutOptions) (PluginRecord, error)
func (*SQLiteStore) PutSecurityPolicy ¶ added in v0.5.0
func (s *SQLiteStore) PutSecurityPolicy(ctx context.Context, req security.PutPolicyRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*SQLiteStore) QueryExternalPackageCommit ¶ added in v0.6.8
func (s *SQLiteStore) QueryExternalPackageCommit(ctx context.Context, req QueryExternalPackageCommitRequest) (ExternalPackageCommitResult, error)
func (*SQLiteStore) RevokePermission ¶ added in v0.5.0
func (s *SQLiteStore) RevokePermission(ctx context.Context, req permissions.RevokeRequest, expected AuthorizationRevisions) (AuthorizationSnapshot, error)
func (*SQLiteStore) SetEnableState ¶
func (s *SQLiteStore) SetEnableState(ctx context.Context, pluginInstanceID string, state EnableState, reason string, now time.Time) (PluginRecord, error)
func (*SQLiteStore) SwapImport ¶ added in v0.5.0
func (s *SQLiteStore) SwapImport(ctx context.Context, expectedManagementRevision uint64, expected *plugindata.Binding, next plugindata.Binding, shape plugindata.Shape, now time.Time) error
type SecurityCapabilitySummary ¶ added in v0.6.8
type SecurityCapabilitySummary struct {
SchemaVersion string `json:"schema_version,omitempty"`
CapabilityIDs []string `json:"capability_ids,omitempty"`
Summary string `json:"summary,omitempty"`
CanonicalJSON string `json:"canonical_json,omitempty"`
Reference string `json:"reference,omitempty"`
SHA256 string `json:"sha256,omitempty"`
}
type SignatureAssessment ¶ added in v0.6.8
type SignatureAssessment struct {
Status SignatureAssessmentStatus `json:"state"`
Algorithm string `json:"algorithm,omitempty"`
KeyID string `json:"key_id,omitempty"`
AssessedHashes TrustHashSet `json:"assessed_hashes"`
PackageSHA256 string `json:"package_sha256,omitempty"`
ManifestSHA256 string `json:"manifest_sha256,omitempty"`
EntriesSHA256 string `json:"entries_sha256,omitempty"`
KeyringGeneration string `json:"keyring_generation,omitempty"`
RevocationGeneration string `json:"revocation_generation,omitempty"`
AssessmentEpoch string `json:"assessment_epoch,omitempty"`
TrustRootEpoch string `json:"trust_root_epoch,omitempty"`
PolicyEpoch string `json:"policy_epoch,omitempty"`
RevocationEpoch string `json:"revocation_epoch,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
EvidenceReference string `json:"evidence_reference,omitempty"`
AssessedAt time.Time `json:"assessed_at,omitempty"`
}
type SignatureAssessmentStatus ¶ added in v0.6.8
type SignatureAssessmentStatus string
const ( SignatureVerified SignatureAssessmentStatus = "verified" SignatureAbsent SignatureAssessmentStatus = "absent" SignatureUnknownSigner SignatureAssessmentStatus = "unknown_signer" SignatureInvalid SignatureAssessmentStatus = "invalid" SignatureRevoked SignatureAssessmentStatus = "revoked" )
type Store ¶
type Store interface {
Durable() bool
AuthorizationStore
ExternalPackageStore
plugindata.Catalog
PutPlugin(ctx context.Context, record PluginRecord, opts PutOptions) (PluginRecord, error)
GetPlugin(ctx context.Context, pluginInstanceID string) (PluginRecord, error)
ListPlugins(ctx context.Context) ([]PluginRecord, error)
SetEnableState(ctx context.Context, pluginInstanceID string, state EnableState, reason string, now time.Time) (PluginRecord, error)
CommitUninstall(ctx context.Context, req plugindata.CommitUninstallRequest) (plugindata.CommitUninstallResult, error)
AbortInstall(ctx context.Context, pluginInstanceID string) error
}
type TrustAssessment ¶
type TrustAssessment struct {
TrustState TrustState `json:"trust_state"`
ReasonCodes []string `json:"reason_codes,omitempty"`
VerifiedHashes TrustHashSet `json:"verified_hashes"`
VerifiedSignature *VerifiedSignature `json:"verified_signature,omitempty"`
TrustAssessmentEpoch string `json:"trust_assessment_epoch,omitempty"`
PolicyEpoch string `json:"policy_epoch,omitempty"`
RevocationEpoch string `json:"revocation_epoch,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type TrustHashSet ¶
type TrustState ¶
type TrustState string
const ( TrustVerified TrustState = "verified" TrustUnsignedLocal TrustState = "unsigned_local" TrustUntrusted TrustState = "untrusted" TrustNeedsReview TrustState = "needs_review" TrustBlockedSecurity TrustState = "blocked_security" )
type UpdateEligibility ¶ added in v0.6.8
type UpdateEligibility string
const ( UpdateManualOnly UpdateEligibility = "manual_only" UpdateAutomaticEligible UpdateEligibility = "automatic_eligible" )
type VerifiedSignature ¶
Click to show internal directories.
Click to hide internal directories.