Documentation
      ¶
    
    
  
    
  
    Index ¶
- func ComponentReferencesForImageStream(is *imageapi.ImageStream) (func(string) imagereference.DockerImageReference, error)
 - func NewCmd(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
 - func NewExtract(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
 - func NewInfo(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
 - func NewMirror(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
 - func NewRelease(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
 - func NopManifestMapper(data []byte) ([]byte, error)
 - func ReplacementsForImageStream(is *imageapi.ImageStream, allowTags bool, ...) (map[string]string, error)
 - type BugInfo
 - type BugList
 - type CincinnatiMetadata
 - type CodeChange
 - type ComponentVersions
 - type ExtractOptions
 - type Image
 - type ImageChange
 - type ImageReference
 - type ImageReferenceDiff
 - type InfoOptions
 - type ManifestMapper
 - func NewComponentVersionsMapper(releaseName string, versions map[string]string, tagsByName map[string][]string) ManifestMapper
 - func NewExactMapper(mappings map[string]string) (ManifestMapper, error)
 - func NewImageMapper(images map[string]ImageReference) (ManifestMapper, error)
 - func NewTransformFromImageStreamFile(path string, input *imageapi.ImageStream, allowMissingImages bool) (ManifestMapper, error)
 
- type Mapping
 - type MergeCommit
 - type MirrorOptions
 - type NewOptions
 - type Payload
 - type PayloadVerifier
 - type ReleaseDiff
 - type ReleaseInfo
 - type ReleaseManifestDiff
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComponentReferencesForImageStream ¶
func ComponentReferencesForImageStream(is *imageapi.ImageStream) (func(string) imagereference.DockerImageReference, error)
func NewCmd ¶
func NewExtract ¶
func NewInfo ¶
func NewMirror ¶
func NewMirror(f kcmdutil.Factory, parentName string, streams genericclioptions.IOStreams) *cobra.Command
NewMirror creates a command to mirror an existing release.
Example command to mirror a release to a local repository to work offline ¶
$ oc adm release mirror \
    --from=registry.svc.ci.openshift.org/openshift/v4.0 \
    --to=mycompany.com/myrepository/repo
  
        func NewRelease ¶
func ReplacementsForImageStream ¶
func ReplacementsForImageStream(is *imageapi.ImageStream, allowTags bool, fn func(component string) imagereference.DockerImageReference) (map[string]string, error)
Types ¶
type BugInfo ¶
type CincinnatiMetadata ¶
type CodeChange ¶
type CodeChange struct {
	Repo     string
	From, To string
	AlternateRepos []string
	ImagesAffected []string
}
    func (CodeChange) FromShort ¶
func (c CodeChange) FromShort() string
func (CodeChange) ToShort ¶
func (c CodeChange) ToShort() string
type ComponentVersions ¶
ComponentVersions is a map of component names to semantic versions. Names are lowercase alphanumeric and dashes. Semantic versions will have all build labels removed, but prerelease segments are preserved.
func (ComponentVersions) String ¶
func (v ComponentVersions) String() string
type ExtractOptions ¶
type ExtractOptions struct {
	genericclioptions.IOStreams
	SecurityOptions imagemanifest.SecurityOptions
	ParallelOptions imagemanifest.ParallelOptions
	From string
	Tools                  bool
	Command                string
	CommandOperatingSystem string
	SigningKey             string
	// GitExtractDir is the path of a root directory to extract the source of a release to.
	GitExtractDir string
	Directory string
	File      string
	ImageMetadataCallback func(m *extract.Mapping, dgst, contentDigest digest.Digest, config *docker10.DockerImageConfig)
}
    func NewExtractOptions ¶
func NewExtractOptions(streams genericclioptions.IOStreams) *ExtractOptions
func (*ExtractOptions) Complete ¶
func (*ExtractOptions) Run ¶
func (o *ExtractOptions) Run() error
type Image ¶
type Image struct {
	Name          string                              `json:"name"`
	Ref           imagereference.DockerImageReference `json:"-"`
	Digest        digest.Digest                       `json:"digest"`
	ContentDigest digest.Digest                       `json:"contentDigest"`
	ListDigest    digest.Digest                       `json:"listDigest"`
	MediaType     string                              `json:"mediaType"`
	Layers        []distribution.Descriptor           `json:"layers"`
	Config        *docker10.DockerImageConfig         `json:"config"`
	Manifest distribution.Manifest `json:"-"`
}
    type ImageChange ¶
type ImageChange struct {
	Name     string
	From, To imagereference.DockerImageReference
}
    type ImageReferenceDiff ¶
type ImageReferenceDiff struct {
	Name string `json:"name"`
	From *imageapi.TagReference `json:"from"`
	To   *imageapi.TagReference `json:"to"`
}
    type InfoOptions ¶
type InfoOptions struct {
	genericclioptions.IOStreams
	Images []string
	From   string
	Output        string
	ImageFor      string
	IncludeImages bool
	ShowContents  bool
	ShowCommit    bool
	ShowPullSpec  bool
	ShowSize      bool
	Verify        bool
	ChangelogDir string
	BugsDir      string
	ParallelOptions imagemanifest.ParallelOptions
	SecurityOptions imagemanifest.SecurityOptions
}
    func NewInfoOptions ¶
func NewInfoOptions(streams genericclioptions.IOStreams) *InfoOptions
func (*InfoOptions) Complete ¶
func (*InfoOptions) LoadReleaseInfo ¶
func (o *InfoOptions) LoadReleaseInfo(image string, retrieveImages bool) (*ReleaseInfo, error)
func (*InfoOptions) Run ¶
func (o *InfoOptions) Run() error
func (*InfoOptions) Validate ¶
func (o *InfoOptions) Validate() error
type ManifestMapper ¶
func NewComponentVersionsMapper ¶
func NewComponentVersionsMapper(releaseName string, versions map[string]string, tagsByName map[string][]string) ManifestMapper
NewComponentVersionsMapper substitutes strings of the form 0.0.1-snapshot with releaseName and strings of the form 0.0.1-snapshot-[component] with the version value located in versions, or returns an error. tagsByName allows the caller to return an error if references are ambiguous (two tags declare different version values) - if that replacement is detected and tagsByName[component] has more than one entry, then an error is returned by the ManifestMapper. If the input release name is not a semver, a request for `0.0.1-snapshot` will be left unmodified.
func NewExactMapper ¶
func NewExactMapper(mappings map[string]string) (ManifestMapper, error)
func NewImageMapper ¶
func NewImageMapper(images map[string]ImageReference) (ManifestMapper, error)
func NewTransformFromImageStreamFile ¶
func NewTransformFromImageStreamFile(path string, input *imageapi.ImageStream, allowMissingImages bool) (ManifestMapper, error)
type MergeCommit ¶
type MirrorOptions ¶
type MirrorOptions struct {
	genericclioptions.IOStreams
	SecurityOptions imagemanifest.SecurityOptions
	ParallelOptions imagemanifest.ParallelOptions
	From string
	To            string
	ToImageStream string
	ToRelease   string
	SkipRelease bool
	DryRun bool
	ClientFn func() (imageclient.Interface, string, error)
	ImageStream *imagev1.ImageStream
	TargetFn    func(component string) imagereference.DockerImageReference
}
    func NewMirrorOptions ¶
func NewMirrorOptions(streams genericclioptions.IOStreams) *MirrorOptions
NewMirrorOptions creates the options for mirroring a release.
func (*MirrorOptions) Complete ¶
func (*MirrorOptions) Run ¶
func (o *MirrorOptions) Run() error
type NewOptions ¶
type NewOptions struct {
	genericclioptions.IOStreams
	SecurityOptions imagemanifest.SecurityOptions
	ParallelOptions imagemanifest.ParallelOptions
	FromDirectory    string
	Directory        string
	MappingFilenames []string
	Output           string
	Name             string
	FromReleaseImage string
	FromImageStream     string
	FromImageStreamFile string
	Namespace           string
	ReferenceMode       string
	ExtraComponentVersions string
	AllowedComponents      []string
	Exclude       []string
	AlwaysInclude []string
	ForceManifest    bool
	ReleaseMetadata  string
	PreviousVersions []string
	DryRun bool
	ToFile         string
	ToDir          string
	ToImage        string
	ToImageBase    string
	ToImageBaseTag string
	ToSignature    string
	Mirror string
	AllowMissingImages bool
	SkipManifestCheck  bool
	Mappings []Mapping
	ImageClient imageclient.Interface
	VerifyOutputFn func(dgst digest.Digest) error
	// contains filtered or unexported fields
}
    func NewNewOptions ¶
func NewNewOptions(streams genericclioptions.IOStreams) *NewOptions
func (*NewOptions) Complete ¶
func (*NewOptions) Run ¶
func (o *NewOptions) Run() error
func (*NewOptions) Validate ¶
func (o *NewOptions) Validate() error
type Payload ¶
type Payload struct {
	// contains filtered or unexported fields
}
    func (*Payload) References ¶
func (p *Payload) References() (*imageapi.ImageStream, error)
func (*Payload) Rewrite ¶
func (p *Payload) Rewrite(allowTags bool, fn func(component string) imagereference.DockerImageReference) error
Rewrite updates the image stream to point to the locations described by the provided function. If a new ID appears in the returned reference, it will be used instead of the existing digest. All references in manifest files will be updated and then the image stream will be written to the correct location with any updated metadata.
type ReleaseDiff ¶
type ReleaseDiff struct {
	From *ReleaseInfo `json:"from"`
	To   *ReleaseInfo `json:"to"`
	ChangedImages    map[string]*ImageReferenceDiff  `json:"changedImages"`
	ChangedManifests map[string]*ReleaseManifestDiff `json:"changedManifests"`
}
    type ReleaseInfo ¶
type ReleaseInfo struct {
	Image         string                              `json:"image"`
	ImageRef      imagereference.DockerImageReference `json:"-"`
	Digest        digest.Digest                       `json:"digest"`
	ContentDigest digest.Digest                       `json:"contentDigest"`
	// TODO: return the list digest in the future
	// ListDigest    digest.Digest                       `json:"listDigest"`
	Config     *docker10.DockerImageConfig `json:"config"`
	Metadata   *CincinnatiMetadata         `json:"metadata"`
	References *imageapi.ImageStream       `json:"references"`
	ComponentVersions map[string]string `json:"versions"`
	Images map[string]*Image `json:"images"`
	RawMetadata   map[string][]byte `json:"-"`
	ManifestFiles map[string][]byte `json:"-"`
	UnknownFiles  []string          `json:"-"`
	Warnings []string `json:"warnings"`
}
    func (*ReleaseInfo) Platform ¶
func (i *ReleaseInfo) Platform() string
func (*ReleaseInfo) PreferredName ¶
func (i *ReleaseInfo) PreferredName() string
      
      Source Files
      ¶
    
- annotations.go
 - extract.go
 - extract_tools.go
 - git.go
 - image_mapper.go
 - info.go
 - mirror.go
 - new.go
 - release.go
 - signature.go