Documentation ¶
Index ¶
- Variables
- type AssetBuilder
- func (a *AssetBuilder) RemapFileAndSHA(fileURL *url.URL) (*url.URL, *hashing.Hash, error)
- func (a *AssetBuilder) RemapFileAndSHAValue(fileURL *url.URL, shaValue string) (*url.URL, error)
- func (a *AssetBuilder) RemapImage(image string) (string, error)
- func (a *AssetBuilder) RemapManifest(data []byte) ([]byte, error)
- type ContainerAsset
- type FileAsset
- type StaticManifest
Constants ¶
This section is empty.
Variables ¶
var RewriteManifests = featureflag.New("RewriteManifests", featureflag.Bool(true))
RewriteManifests controls whether we rewrite manifests Because manifest rewriting converts everything to and from YAML, we normalize everything by doing so
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 ¶
RemapFileAndSHA returns a remapped URL for the file, if AssetsLocation is defined. It also returns the SHA hash of the file.
func (*AssetBuilder) RemapFileAndSHAValue ¶
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 }