tag v0.165.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.165.0 ---------------- * distro: move rhel9 into a generic distro (osbuild/images#1645) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * Revert "distro: drop `ImageType.BasePartitionTable()`" (osbuild/images#1691) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * Update dependencies 2025-07-20 (osbuild/images#1675) * Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger * defs: add missing `bootstrap_containers` (osbuild/images#1679) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * disk: handle adding `PReP` partition on PPC64/s390x (HMS-8884) (osbuild/images#1681) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * distro: bring per-distro checkOptions back (osbuild/images#1678) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * distro: cleanups in the pkg/distro/generic area (osbuild/images#1686) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * distro: move rhel8 into a generic distro (osbuild/images#1643) * Author: Michael Vogt, Reviewers: Nobody * distro: small followups for PR#1682 (osbuild/images#1689) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger, Tomáš Hozza * distro: unify transform/match into a single concept (osbuild/images#1682) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Tomáš Hozza * distros: de-duplicate runner build packages for centos10 (osbuild/images#1680) * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza * github: disable Go dep updates through dependabot (osbuild/images#1683) * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza * repos: include almalinux 9.6 (osbuild/images#1677) * Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza * rhel9: wsl distribution config (osbuild/images#1694) * Author: Simon de Vlieger, Reviewers: Michael Vogt, Sanne Raymaekers * test/manifests/all-customizations: don't embed local file via URI (osbuild/images#1684) * Author: Tomáš Hozza, Reviewers: Achilleas Koutsou, Brian C. Lane — Somewhere on the Internet, 2025-07-28 --- tag v0.166.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.166.0 ---------------- * customizations/subscription: conditionally enable semanage call (HMS-8866) (osbuild/images#1673) * Author: Sanne Raymaekers, Reviewers: Achilleas Koutsou, Michael Vogt * distro/rhel-10: versionlock shim-x64 in the azure-cvm image (osbuild/images#1697) * Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger * manifestmock: move container/pkg/commit mocks into helper (osbuild/images#1700) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * rhel9: `vagrant-libvirt`, `vagrant-virtualbox` (osbuild/images#1693) * Author: Simon de Vlieger, Reviewers: Michael Vogt, Sanne Raymaekers * rhel{9,10}: centos WSL refinement (HMS-8922) (osbuild/images#1690) * Author: Simon de Vlieger, Reviewers: Ondřej Budai, Sanne Raymaekers, Tomáš Hozza — Somewhere on the Internet, 2025-07-29 --- tag v0.167.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.167.0 ---------------- * RHEL/Azure: drop obsolete WAAgentConfig keys [RHEL-93894] and remove loglevel kernel option [RHEL-102372] (osbuild/images#1611) * Author: Achilleas Koutsou, Reviewers: Michael Vogt, Ondřej Budai, Sanne Raymaekers * Update dependencies 2025-07-27 (osbuild/images#1699) * Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger * distro/rhel9: set default_kernel to kernel-uki-virt (osbuild/images#1704) * Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Simon de Vlieger * distro: drop legacy loaders and update tests (osbuild/images#1687) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Tomáš Hozza * distro: fix issues with yaml distro definitions and enable yaml checks (osbuild/images#1702) * Author: Achilleas Koutsou, Reviewers: Michael Vogt, Ondřej Budai, Simon de Vlieger — Somewhere on the Internet, 2025-07-30 --- tag v0.168.0 Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> Changes with 0.168.0 ---------------- * distro: fix bug in variable substitution for static distros (osbuild/images#1710) * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger * rhel{9,10}: azure for non-RHEL (HMS-8949) (osbuild/images#1707) * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Michael Vogt — Somewhere on the Internet, 2025-07-30 ---
213 lines
8.6 KiB
Go
213 lines
8.6 KiB
Go
package storage
|
|
|
|
import (
|
|
"io"
|
|
"time"
|
|
|
|
drivers "github.com/containers/storage/drivers"
|
|
"github.com/containers/storage/pkg/archive"
|
|
digest "github.com/opencontainers/go-digest"
|
|
)
|
|
|
|
// The type definitions in this file exist ONLY to maintain formal API compatibility.
|
|
// DO NOT ADD ANY NEW METHODS TO THESE INTERFACES.
|
|
|
|
// ROFileBasedStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROFileBasedStore interface {
|
|
Locker
|
|
Load() error
|
|
ReloadIfChanged() error
|
|
}
|
|
|
|
// RWFileBasedStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type RWFileBasedStore interface {
|
|
Save() error
|
|
}
|
|
|
|
// FileBasedStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type FileBasedStore interface {
|
|
ROFileBasedStore
|
|
RWFileBasedStore
|
|
}
|
|
|
|
// ROMetadataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROMetadataStore interface {
|
|
Metadata(id string) (string, error)
|
|
}
|
|
|
|
// RWMetadataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type RWMetadataStore interface {
|
|
SetMetadata(id, metadata string) error
|
|
}
|
|
|
|
// MetadataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type MetadataStore interface {
|
|
ROMetadataStore
|
|
RWMetadataStore
|
|
}
|
|
|
|
// ROBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROBigDataStore interface {
|
|
BigData(id, key string) ([]byte, error)
|
|
BigDataSize(id, key string) (int64, error)
|
|
BigDataDigest(id, key string) (digest.Digest, error)
|
|
BigDataNames(id string) ([]string, error)
|
|
}
|
|
|
|
// RWImageBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type RWImageBigDataStore interface {
|
|
SetBigData(id, key string, data []byte, digestManifest func([]byte) (digest.Digest, error)) error
|
|
}
|
|
|
|
// ContainerBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ContainerBigDataStore interface {
|
|
ROBigDataStore
|
|
SetBigData(id, key string, data []byte) error
|
|
}
|
|
|
|
// ROLayerBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROLayerBigDataStore interface {
|
|
BigData(id, key string) (io.ReadCloser, error)
|
|
BigDataNames(id string) ([]string, error)
|
|
}
|
|
|
|
// RWLayerBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type RWLayerBigDataStore interface {
|
|
SetBigData(id, key string, data io.Reader) error
|
|
}
|
|
|
|
// LayerBigDataStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type LayerBigDataStore interface {
|
|
ROLayerBigDataStore
|
|
RWLayerBigDataStore
|
|
}
|
|
|
|
// FlaggableStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type FlaggableStore interface {
|
|
ClearFlag(id string, flag string) error
|
|
SetFlag(id string, flag string, value any) error
|
|
}
|
|
|
|
// ContainerStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ContainerStore interface {
|
|
FileBasedStore
|
|
MetadataStore
|
|
ContainerBigDataStore
|
|
FlaggableStore
|
|
Create(id string, names []string, image, layer, metadata string, options *ContainerOptions) (*Container, error)
|
|
SetNames(id string, names []string) error
|
|
AddNames(id string, names []string) error
|
|
RemoveNames(id string, names []string) error
|
|
Get(id string) (*Container, error)
|
|
Exists(id string) bool
|
|
Delete(id string) error
|
|
Wipe() error
|
|
Lookup(name string) (string, error)
|
|
Containers() ([]Container, error)
|
|
}
|
|
|
|
// ROImageStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROImageStore interface {
|
|
ROFileBasedStore
|
|
ROMetadataStore
|
|
ROBigDataStore
|
|
Exists(id string) bool
|
|
Get(id string) (*Image, error)
|
|
Lookup(name string) (string, error)
|
|
Images() ([]Image, error)
|
|
ByDigest(d digest.Digest) ([]*Image, error)
|
|
}
|
|
|
|
// ImageStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ImageStore interface {
|
|
ROImageStore
|
|
RWFileBasedStore
|
|
RWMetadataStore
|
|
RWImageBigDataStore
|
|
FlaggableStore
|
|
Create(id string, names []string, layer, metadata string, created time.Time, searchableDigest digest.Digest) (*Image, error)
|
|
SetNames(id string, names []string) error
|
|
AddNames(id string, names []string) error
|
|
RemoveNames(id string, names []string) error
|
|
Delete(id string) error
|
|
Wipe() error
|
|
}
|
|
|
|
// ROLayerStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type ROLayerStore interface {
|
|
ROFileBasedStore
|
|
ROMetadataStore
|
|
ROLayerBigDataStore
|
|
Exists(id string) bool
|
|
Get(id string) (*Layer, error)
|
|
Status() ([][2]string, error)
|
|
Changes(from, to string) ([]archive.Change, error)
|
|
Diff(from, to string, options *DiffOptions) (io.ReadCloser, error)
|
|
DiffSize(from, to string) (int64, error)
|
|
Size(name string) (int64, error)
|
|
Lookup(name string) (string, error)
|
|
LayersByCompressedDigest(d digest.Digest) ([]Layer, error)
|
|
LayersByUncompressedDigest(d digest.Digest) ([]Layer, error)
|
|
Layers() ([]Layer, error)
|
|
}
|
|
|
|
// LayerStore is a deprecated interface with no documented way to use it from callers outside of c/storage.
|
|
//
|
|
// Deprecated: There is no way to use this from any external user of c/storage to invoke c/storage functionality.
|
|
type LayerStore interface {
|
|
ROLayerStore
|
|
RWFileBasedStore
|
|
RWMetadataStore
|
|
FlaggableStore
|
|
RWLayerBigDataStore
|
|
Create(id string, parent *Layer, names []string, mountLabel string, options map[string]string, moreOptions *LayerOptions, writeable bool) (*Layer, error)
|
|
CreateWithFlags(id string, parent *Layer, names []string, mountLabel string, options map[string]string, moreOptions *LayerOptions, writeable bool, flags map[string]any) (layer *Layer, err error)
|
|
Put(id string, parent *Layer, names []string, mountLabel string, options map[string]string, moreOptions *LayerOptions, writeable bool, flags map[string]any, diff io.Reader) (*Layer, int64, error)
|
|
SetNames(id string, names []string) error
|
|
AddNames(id string, names []string) error
|
|
RemoveNames(id string, names []string) error
|
|
Delete(id string) error
|
|
Wipe() error
|
|
Mount(id string, options drivers.MountOpts) (string, error)
|
|
Unmount(id string, force bool) (bool, error)
|
|
Mounted(id string) (int, error)
|
|
ParentOwners(id string) (uids, gids []int, err error)
|
|
ApplyDiff(to string, diff io.Reader) (int64, error)
|
|
DifferTarget(id string) (string, error)
|
|
LoadLocked() error
|
|
PutAdditionalLayer(id string, parentLayer *Layer, names []string, aLayer drivers.AdditionalLayer) (layer *Layer, err error)
|
|
}
|