assets

package
v1.20.0-beta.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2021 License: Apache-2.0 Imports: 17 Imported by: 260

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssetBuilder

type AssetBuilder struct {
	ContainerAssets []*ContainerAsset
	FileAssets      []*FileAsset
	AssetsLocation  *kops.Assets
	// TODO we'd like to use cloudup.Phase here, but that introduces a go cyclic dependency
	Phase string

	// KubernetesVersion is the version of kubernetes we are installing
	KubernetesVersion semver.Version

	// StaticManifests records static manifests
	StaticManifests []*StaticManifest
}

AssetBuilder discovers and remaps assets.

func NewAssetBuilder

func NewAssetBuilder(cluster *kops.Cluster, phase string) *AssetBuilder

NewAssetBuilder creates a new AssetBuilder.

func (*AssetBuilder) RemapFileAndSHA

func (a *AssetBuilder) RemapFileAndSHA(fileURL *url.URL) (*url.URL, *hashing.Hash, error)

RemapFileAndSHA returns a remapped URL for the file, if AssetsLocation is defined. It also returns the SHA hash of the file.

func (*AssetBuilder) RemapFileAndSHAValue

func (a *AssetBuilder) RemapFileAndSHAValue(fileURL *url.URL, shaValue string) (*url.URL, error)

RemapFileAndSHAValue returns a remapped URL for the file without a SHA file in object storage, if AssetsLocation is defined.

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 ContainerAsset

type ContainerAsset struct {
	// DockerImage will be the name of the container we should run.
	// This is used to copy a container to a ContainerRegistry.
	DockerImage string
	// CanonicalLocation will be the source location of the container.
	CanonicalLocation string
}

ContainerAsset models a container's location.

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 string
}

FileAsset models a file's location.

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL