Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Copy ¶ added in v1.21.3
func Copy(imageAssets []*ImageAsset, fileAssets []*FileAsset, vfsContext *vfs.VFSContext, cluster *kops.Cluster) error
func FindURLMirrors ¶ added in v1.30.0
FindURLMirrors will return a list of mirrors for well-known URL locations.
Types ¶
type AssetBuilder ¶
type AssetBuilder struct { ImageAssets []*ImageAsset FileAssets []*FileAsset AssetsLocation *kops.AssetsSpec GetAssets bool // KubernetesVersion is the version of kubernetes we are installing KubernetesVersion semver.Version // StaticManifests records manifests used by nodeup: // * e.g. sidecar manifests for static pods run by kubelet StaticManifests []*StaticManifest // StaticFiles records static files: // * Configuration files supporting static pods StaticFiles []*StaticFile // contains filtered or unexported fields }
AssetBuilder discovers and remaps assets.
func NewAssetBuilder ¶
func NewAssetBuilder(vfsContext *vfs.VFSContext, assets *kops.AssetsSpec, kubernetesVersion string, getAssets bool) *AssetBuilder
NewAssetBuilder creates a new AssetBuilder.
func (*AssetBuilder) RemapFile ¶ added in v1.30.0
func (a *AssetBuilder) RemapFile(canonicalURL *url.URL, knownHash *hashing.Hash) (*FileAsset, error)
RemapFile returns a remapped URL for the file, if AssetsLocation is defined. It is returns in a FileAsset, alongside the SHA hash of the file. The SHA hash is is knownHash is provided, and otherwise will be found first by checking the canonical URL against our well-known hashes, and failing that via download.
func (*AssetBuilder) RemapImage ¶
func (a *AssetBuilder) RemapImage(image string) (string, error)
RemapImage normalizes a containers location if a user sets the AssetsLocation ContainerRegistry location.
func (*AssetBuilder) RemapManifest ¶
func (a *AssetBuilder) RemapManifest(data []byte) ([]byte, error)
RemapManifest transforms a kubernetes manifest. Whenever we are building a Task that includes a manifest, we should pass it through RemapManifest first. This will: * rewrite the images if they are being redirected to a mirror, and ensure the image is uploaded
type CopyFile ¶ added in v1.21.3
type CopyFile struct { Name string SourceFile string TargetFile string SHA string VFSContext *vfs.VFSContext Cluster *kops.Cluster }
CopyFile copies an from a source file repository, to a target repository, typically used for highly secure clusters.
type CopyImage ¶ added in v1.21.3
CopyImage copies a docker image from a source registry, to a target registry, typically used for highly secure clusters.
type FileAsset ¶
type FileAsset struct { // DownloadURL is the URL from which the cluster should download the asset. DownloadURL *url.URL // CanonicalURL is the canonical location of the asset, for example as distributed by the kops project CanonicalURL *url.URL // SHAValue is the SHA hash of the FileAsset. SHAValue *hashing.Hash }
FileAsset models a file's location.
type ImageAsset ¶ added in v1.21.3
type ImageAsset struct { // DownloadLocation will be the name of the image we should run. // This is used to copy an image to a ContainerRegistry. DownloadLocation string // CanonicalLocation will be the source location of the image. CanonicalLocation string }
ImageAsset models an image's location.
type MirroredAsset ¶ added in v1.30.0
func BuildMirroredAsset ¶ added in v1.30.0
func BuildMirroredAsset(asset *FileAsset) *MirroredAsset
BuildMirroredAsset checks to see if this is a file under the standard base location, and if so constructs some mirror locations
func (*MirroredAsset) CompactString ¶ added in v1.30.0
func (a *MirroredAsset) CompactString() string
type StaticFile ¶ added in v1.25.0
type StaticFile struct { // Path is the path to the manifest. Path string // Content holds the desired file contents. Content string // The static manifest will only be applied to instances matching the specified role Roles []kops.InstanceGroupRole }
type StaticManifest ¶ added in v1.17.0
type StaticManifest struct { // Key is the unique identifier of the manifest Key string // Path is the path to the manifest. Path string // The static manifest will only be applied to instances matching the specified role Roles []kops.InstanceGroupRole }