Documentation
¶
Index ¶
- type ArtifactAPI
- type CatalogAPI
- type CollectionAPI
- type Config
- type ManagedArtifactAPI
- type ProtectionAPI
- type ResourceAPI
- type RootAPI
- type SchemaAPI
- type SourceAPI
- type Store
- func (s *Store) Close() error
- func (s *Store) CommitTopologyHydration(ctx context.Context, desired topology.Hydration) error
- func (s *Store) EnsureProtectedTopology(ctx context.Context, declaration topology.Declaration) (topology.Installed, error)
- func (s *Store) PrepareTopologyHydrations(ctx context.Context, desired []topology.Hydration) (map[string]bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArtifactAPI ¶
type ArtifactAPI interface {
Get(
ctx context.Context,
ref artifact.ArtifactRef,
) (artifact.Artifact, error)
ListByCollection(
ctx context.Context,
ref collection.CollectionRef,
) ([]artifact.Artifact, error)
Adopt(
ctx context.Context,
request catalog.AdoptRequest,
) (artifact.Artifact, error)
Pin(
ctx context.Context,
request catalog.PinRequest,
) (artifact.Artifact, error)
SetEnabled(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
enabled bool,
) (artifact.Artifact, error)
SetName(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
name string,
) (artifact.Artifact, error)
UpdateData(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
data json.RawMessage,
) (artifact.Artifact, error)
Unadopt(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
suppress bool,
) error
Purge(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
) error
PurgeAndSuppress(
ctx context.Context,
ref artifact.ArtifactRef,
expectedRevision uint64,
) error
ListSuppressions(
ctx context.Context,
ref collection.CollectionRef,
) ([]artifact.Suppression, error)
Suppress(
ctx context.Context,
request catalog.SuppressRequest,
) (artifact.Suppression, error)
Unsuppress(
ctx context.Context,
ref collection.CollectionRef,
binding artifact.SourceBinding,
expectedRevision uint64,
) error
}
type CatalogAPI ¶
type CatalogAPI interface {
RefreshCollection(
ctx context.Context,
ref collection.CollectionRef,
) (catalog.RefreshCollectionResult, error)
CurrentCatalog(
ctx context.Context,
ref collection.CollectionRef,
) (catalog.Snapshot, error)
InspectCollectionCatalog(
ctx context.Context,
ref collection.CollectionRef,
) (catalog.CatalogInspection, error)
}
type CollectionAPI ¶
type CollectionAPI interface {
Create(
ctx context.Context,
rootID root.RootID,
draft collection.Draft,
attachments []collection.AttachmentDraft,
) (collection.Collection, []collection.Attachment, error)
Get(
ctx context.Context,
ref collection.CollectionRef,
) (collection.Collection, error)
GetRetired(
ctx context.Context,
ref collection.CollectionRef,
) (collection.Collection, error)
ListByRoot(
ctx context.Context,
rootID root.RootID,
) ([]collection.Collection, error)
Update(
ctx context.Context,
ref collection.CollectionRef,
update collection.Update,
) (collection.Collection, error)
Retire(
ctx context.Context,
ref collection.CollectionRef,
expectedRevision uint64,
) (collection.Collection, error)
Purge(
ctx context.Context,
ref collection.CollectionRef,
expectedRevision uint64,
) error
Attach(
ctx context.Context,
ref collection.CollectionRef,
expectedCollectionRevision uint64,
draft collection.AttachmentDraft,
) (collection.Collection, collection.Attachment, error)
GetAttachment(
ctx context.Context,
ref collection.CollectionRef,
sourceID source.SourceID,
) (collection.Attachment, error)
ListAttachments(
ctx context.Context,
ref collection.CollectionRef,
) ([]collection.Attachment, error)
UpdateAttachment(
ctx context.Context,
ref collection.CollectionRef,
sourceID source.SourceID,
update collection.AttachmentUpdate,
) (collection.Collection, collection.Attachment, error)
Detach(
ctx context.Context,
ref collection.CollectionRef,
sourceID source.SourceID,
expectedCollectionRevision uint64,
expectedAttachmentRevision uint64,
) (collection.Collection, error)
ReplaceAttachment(
ctx context.Context,
ref collection.CollectionRef,
replacement collection.AttachmentReplacement,
) (collection.Collection, collection.Attachment, error)
}
type Config ¶
type Config struct {
BaseDirectory string
Providers []providerapi.Provider
ProtectedRootIDs []root.RootID
RetainedRoots []root.RootDraft
}
Config contains application-composition inputs for one Artifact Store.
Providers are fully constructed before Open is called. RetainedRoots are both lifecycle-policy declarations and initial generic Root declarations.
type ManagedArtifactAPI ¶
type ManagedArtifactAPI interface {
Publish(
ctx context.Context,
request artifact.PublishArtifactRequest,
) (artifact.PublishArtifactResult, error)
PublishCollection(
ctx context.Context,
request collection.PublishCollectionRequest,
) (collection.PublishCollectionResult, error)
Remove(
ctx context.Context,
request artifact.RemoveArtifactRequest,
) error
}
type ProtectionAPI ¶
type ResourceAPI ¶
type ResourceAPI interface {
ResolveArtifact(
ctx context.Context,
ref artifact.ArtifactRef,
options resource.ResolveOptions,
) (resource.ResolvedArtifact, error)
InspectCollectionResources(
ctx context.Context,
ref collection.CollectionRef,
) (resource.CollectionResourceInspection, error)
ResolveVerifiedLocalPath(
ctx context.Context,
resolved resource.ResolvedArtifact,
localLocator basespec.Locator,
) (string, error)
ReadCollectionEntry(
ctx context.Context,
ref collection.CollectionRef,
sourceID source.SourceID,
locator basespec.Locator,
maximumBytes int64,
) (resource.VerifiedEntry, error)
ReadCollectionEntryWithCatalog(
ctx context.Context,
ref collection.CollectionRef,
sourceID source.SourceID,
locator basespec.Locator,
maximumBytes int64,
) (resource.VerifiedCollectionEntry, error)
ResolveSourceLocalPath(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
locator basespec.Locator,
) (string, error)
SupportsLocalPath(kind source.SourceKind) bool
}
type RootAPI ¶
type RootAPI interface {
Create(
ctx context.Context,
draft root.RootDraft,
) (root.Root, error)
Get(
ctx context.Context,
id root.RootID,
) (root.Root, error)
List(ctx context.Context) ([]root.Root, error)
Update(
ctx context.Context,
id root.RootID,
update root.RootUpdate,
) (root.Root, error)
Retire(
ctx context.Context,
id root.RootID,
expectedRevision uint64,
) (root.Root, error)
Purge(
ctx context.Context,
id root.RootID,
expectedRevision uint64,
) error
}
type SourceAPI ¶
type SourceAPI interface {
Create(
ctx context.Context,
rootID root.RootID,
draft source.Draft,
) (source.Summary, error)
CreateWithStatus(
ctx context.Context,
rootID root.RootID,
draft source.Draft,
) (source.Summary, bool, error)
Discard(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
expectedRevision uint64,
) error
Get(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
) (source.Summary, error)
List(
ctx context.Context,
rootID root.RootID,
) ([]source.Summary, error)
Update(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
update source.Update,
) (source.Summary, error)
Retire(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
expectedRevision uint64,
) (source.Summary, error)
Purge(
ctx context.Context,
rootID root.RootID,
sourceID source.SourceID,
expectedRevision uint64,
) error
Kinds() []source.SourceKind
}
type Store ¶
type Store struct {
Roots RootAPI
Sources SourceAPI
Collections CollectionAPI
Artifacts ArtifactAPI
Catalogs CatalogAPI
Resources ResourceAPI
Schemas SchemaAPI
ManagedArtifacts ManagedArtifactAPI
Protection ProtectionAPI
Topology installerapi.API
// contains filtered or unexported fields
}
Store owns the composed Artifact Store and its lifecycle.
The entity fields are direct, request-shape-free contracts. Application domains receive only the fields they need.
func (*Store) CommitTopologyHydration ¶
func (*Store) EnsureProtectedTopology ¶
Click to show internal directories.
Click to hide internal directories.