Documentation ¶
Index ¶
- Constants
- func GenOciManifestFromPkg(kclPkg *pkg.KclPkg) (map[string]string, error)
- func GetAllImageTags(imageName string) ([]string, error)
- func Login(hostname, username, password string, setting *settings.Settings) error
- func Logout(hostname string, setting *settings.Settings) error
- func ParsePlatform(platform string) (*v1.Platform, error)
- func Pull(localPath, hostName, repoName, tag string, settings *settings.Settings) error
- func Push(localPath, hostName, repoName, tag string, settings *settings.Settings) error
- func RepoIsNotExist(err error) bool
- type OciClient
- func (ociClient *OciClient) ContainsTag(tag string) (bool, *reporter.KpmEvent)
- func (ociClient *OciClient) FetchManifestIntoJsonStr(opts opt.OciFetchOptions) (string, error)
- func (ociClient *OciClient) GetReference() string
- func (ociClient *OciClient) Pull(localPath, tag string) error
- func (ociClient *OciClient) Push(localPath, tag string) *reporter.KpmEvent
- func (ociClient *OciClient) PushWithOciManifest(localPath, tag string, opts *opt.OciManifestOptions) *reporter.KpmEvent
- func (ociClient *OciClient) SetLogWriter(writer io.Writer)
- func (ociClient *OciClient) TheLatestTag() (string, error)
- type PullOciOptions
Constants ¶
const ( OciErrorCodeNameUnknown = "NAME_UNKNOWN" OciErrorCodeRepoNotFound = "NOT_FOUND" )
const ( MediaTypeConfig = "application/vnd.docker.container.image.v1+json" MediaTypeManifestList = "application/vnd.docker.distribution.manifest.list.v2+json" MediaTypeManifest = "application/vnd.docker.distribution.manifest.v2+json" MediaTypeForeignLayer = "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip" MediaTypeArtifactManifest = "application/vnd.oci.artifact.manifest.v1+json" )
const DEFAULT_LIMIT_STORE_SIZE = 64 * 1024 * 1024
The default limit of the store size is 64 MiB.
const DEFAULT_OCI_ARTIFACT_TYPE = "application/vnd.oci.image.layer.v1.tar"
const OCI_SCHEME = "oci"
Variables ¶
This section is empty.
Functions ¶
func GenOciManifestFromPkg ¶
GenOciManifestFromPkg will generate the oci manifest from the kcl package.
func GetAllImageTags ¶
func RepoIsNotExist ¶
RepoIsNotExist will check if the error is caused by the repo not found.
Types ¶
type OciClient ¶
type OciClient struct { PullOciOptions *PullOciOptions // contains filtered or unexported fields }
OciClient is mainly responsible for interacting with OCI registry
func NewOciClient ¶
NewOciClient will new an OciClient. regName is the registry. e.g. ghcr.io or docker.io. repoName is the repo name on registry.
func (*OciClient) ContainsTag ¶
ContainsTag will check if the tag exists in the repo.
func (*OciClient) FetchManifestIntoJsonStr ¶
func (ociClient *OciClient) FetchManifestIntoJsonStr(opts opt.OciFetchOptions) (string, error)
FetchManifestIntoJsonStr will fetch the manifest and return it into json string.
func (*OciClient) GetReference ¶
func (*OciClient) PushWithOciManifest ¶
func (ociClient *OciClient) PushWithOciManifest(localPath, tag string, opts *opt.OciManifestOptions) *reporter.KpmEvent
PushWithManifest will push the oci artifacts to oci registry from local path
func (*OciClient) SetLogWriter ¶
func (*OciClient) TheLatestTag ¶
TheLatestTag will return the latest tag of the kcl packages.
type PullOciOptions ¶
type PullOciOptions struct { Platform string CopyOpts *oras.CopyOptions }
func (*PullOciOptions) Successors ¶
func (popts *PullOciOptions) Successors(ctx context.Context, fetcher content.Fetcher, node v1.Descriptor) ([]v1.Descriptor, error)
Successors returns the nodes directly pointed by the current node. In other words, returns the "children" of the current descriptor.