From fc049f40f309c72303f9a900ec4c25ed323ffee5 Mon Sep 17 00:00:00 2001 From: justinsb Date: Sat, 30 Mar 2024 06:45:34 -0400 Subject: [PATCH 1/2] Use embedded hashes for our well-known assets Rather than downloading the hash every time, we can record the hashes for our well-known assets and bake them into the kOps binary. If the hash is not baked in, we will continue to fall-back to downloading it, this is important for new k8s versions, or where the user specifies a version of one of our well-known assets (such as containerd). --- cmd/kops/get_assets.go | 2 +- hack/generate-asset-hashes.sh | 13 +- pkg/assets/assetdata/data_test.go | 19 +- pkg/assets/assetdata/runc-1.1.yaml | 2 +- pkg/assets/builder.go | 77 +++---- pkg/assets/copy.go | 2 +- pkg/assets/mirrored_asset.go | 9 +- pkg/nodemodel/fileassets.go | 44 ++-- pkg/nodemodel/nodeupconfigbuilder.go | 18 +- pkg/nodemodel/wellknownassets/cni.go | 22 +- pkg/nodemodel/wellknownassets/cni_test.go | 24 +-- pkg/nodemodel/wellknownassets/containerd.go | 78 +++---- .../wellknownassets/containerd_test.go | 6 +- pkg/nodemodel/wellknownassets/crictl.go | 13 +- pkg/nodemodel/wellknownassets/crictl_test.go | 10 +- pkg/nodemodel/wellknownassets/kopsassets.go | 29 ++- .../wellknownassets/kopsassets_test.go | 7 +- pkg/nodemodel/wellknownassets/nerdctl.go | 8 +- pkg/nodemodel/wellknownassets/runc.go | 124 ++--------- pkg/nodemodel/wellknownassets/runc_test.go | 194 ------------------ 20 files changed, 216 insertions(+), 485 deletions(-) diff --git a/cmd/kops/get_assets.go b/cmd/kops/get_assets.go index 2b51599215a1c..7d86cda2516db 100644 --- a/cmd/kops/get_assets.go +++ b/cmd/kops/get_assets.go @@ -132,7 +132,7 @@ func RunGetAssets(ctx context.Context, f *util.Factory, out io.Writer, options * file := File{ Canonical: fileAsset.CanonicalURL.String(), Download: fileAsset.DownloadURL.String(), - SHA: fileAsset.SHAValue, + SHA: fileAsset.SHAValue.Hex(), } if !seen[file.Canonical] { result.Files = append(result.Files, &file) diff --git a/hack/generate-asset-hashes.sh b/hack/generate-asset-hashes.sh index 0942032db20f4..7359b0be1bc20 100755 --- a/hack/generate-asset-hashes.sh +++ b/hack/generate-asset-hashes.sh @@ -35,7 +35,7 @@ filestores: files: EOF - for ((patch = 0 ; patch < max_patch ; patch++ )); do + for ((patch = 0 ; patch <= max_patch ; patch++ )); do version="${prefix}.${patch}" echo "k8s ${version}" @@ -62,12 +62,12 @@ function generate_runc_hashes() { # This file is generated by generate-asset-hashes.sh filestores: -- base: https://dl.k8s.io/release/ +- base: https://github.com/opencontainers/runc/releases/download/ files: EOF - for ((patch = 0 ; patch < max_patch ; patch++ )); do + for ((patch = 0 ; patch <= max_patch ; patch++ )); do version="${prefix}.${patch}" echo "runc ${version}" @@ -83,9 +83,10 @@ EOF generate_k8s_hashes 1.24 17 generate_k8s_hashes 1.25 16 generate_k8s_hashes 1.26 15 -generate_k8s_hashes 1.27 12 -generate_k8s_hashes 1.28 8 -generate_k8s_hashes 1.29 3 +generate_k8s_hashes 1.27 13 +generate_k8s_hashes 1.28 9 +generate_k8s_hashes 1.29 4 +generate_k8s_hashes 1.30 0 generate_runc_hashes 1.1 12 diff --git a/pkg/assets/assetdata/data_test.go b/pkg/assets/assetdata/data_test.go index c641fe08fd388..40bf36a8c92dc 100644 --- a/pkg/assets/assetdata/data_test.go +++ b/pkg/assets/assetdata/data_test.go @@ -26,7 +26,22 @@ func TestGetHash(t *testing.T) { Name string Hash string }{ - {Name: "https://dl.k8s.io/release/v1.26.0/bin/linux/amd64/kubelet", Hash: "sha256:b64949fe696c77565edbe4100a315b6bf8f0e2325daeb762f7e865f16a6e54b5"}, + { + Name: "https://dl.k8s.io/release/v1.26.0/bin/linux/amd64/kubelet", + Hash: "b64949fe696c77565edbe4100a315b6bf8f0e2325daeb762f7e865f16a6e54b5", + }, + { + Name: "https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.amd64", + Hash: "ab1c67fbcbdddbe481e48a55cf0ef9a86b38b166b5079e0010737fd87d7454bb", + }, + { + Name: "https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.arm64", + Hash: "9ec8e68feabc4e7083a4cfa45ebe4d529467391e0b03ee7de7ddda5770b05e68", + }, + { + Name: "https://github.com/opencontainers/runc/releases/download/v1.1.12/runc.amd64", + Hash: "aadeef400b8f05645768c1476d1023f7875b78f52c7ff1967a6dbce236b8cbd8", + }, } for _, g := range grid { @@ -41,7 +56,7 @@ func TestGetHash(t *testing.T) { if !found { t.Fatalf("hash for %q was not found", g.Name) } - got := h.String() + got := h.Hex() want := g.Hash if got != g.Hash { t.Errorf("unexpected hash for %q; got %q, want %q", g.Name, got, want) diff --git a/pkg/assets/assetdata/runc-1.1.yaml b/pkg/assets/assetdata/runc-1.1.yaml index 6803584aebf19..949e4bef9f70e 100644 --- a/pkg/assets/assetdata/runc-1.1.yaml +++ b/pkg/assets/assetdata/runc-1.1.yaml @@ -1,7 +1,7 @@ # This file is generated by generate-asset-hashes.sh filestores: -- base: https://dl.k8s.io/release/ +- base: https://github.com/opencontainers/runc/releases/download/ files: # runc 1.1.0 diff --git a/pkg/assets/builder.go b/pkg/assets/builder.go index 2e985539435d5..4102a85ecab85 100644 --- a/pkg/assets/builder.go +++ b/pkg/assets/builder.go @@ -32,6 +32,7 @@ import ( "k8s.io/klog/v2" "k8s.io/kops/pkg/apis/kops" "k8s.io/kops/pkg/apis/kops/util" + "k8s.io/kops/pkg/assets/assetdata" "k8s.io/kops/pkg/featureflag" "k8s.io/kops/pkg/kubemanifest" "k8s.io/kops/pkg/values" @@ -97,7 +98,7 @@ type FileAsset struct { // 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 + SHAValue *hashing.Hash } // NewAssetBuilder creates a new AssetBuilder. @@ -235,73 +236,49 @@ func (a *AssetBuilder) RemapImage(image string) (string, error) { return image + "@" + digest, nil } -// RemapFileAndSHA returns a remapped URL for the file, if AssetsLocation is defined. -// It also returns the SHA hash of the file. -func (a *AssetBuilder) RemapFileAndSHA(fileURL *url.URL) (*url.URL, *hashing.Hash, error) { - if fileURL == nil { - return nil, nil, fmt.Errorf("unable to remap a nil URL") +// 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 (a *AssetBuilder) RemapFile(canonicalURL *url.URL, knownHash *hashing.Hash) (*FileAsset, error) { + if canonicalURL == nil { + return nil, fmt.Errorf("unable to remap a nil URL") } fileAsset := &FileAsset{ - DownloadURL: fileURL, - CanonicalURL: fileURL, + DownloadURL: canonicalURL, + CanonicalURL: canonicalURL, } if a.AssetsLocation != nil && a.AssetsLocation.FileRepository != nil { - - normalizedFile, err := a.remapURL(fileURL) + normalizedFile, err := a.remapURL(canonicalURL) if err != nil { - return nil, nil, err + return nil, err } - if fileURL.Host != normalizedFile.Host { + if canonicalURL.Host != normalizedFile.Host { fileAsset.DownloadURL = normalizedFile klog.V(4).Infof("adding remapped file: %q", fileAsset.DownloadURL.String()) } } - h, err := a.findHash(fileAsset) - if err != nil { - return nil, nil, err - } - fileAsset.SHAValue = h.Hex() - - klog.V(8).Infof("adding file: %+v", fileAsset) - a.FileAssets = append(a.FileAssets, fileAsset) - - return fileAsset.DownloadURL, h, nil -} - -// RemapFileAndSHAValue returns a remapped URL for the file without a SHA file in object storage, if AssetsLocation is defined. -func (a *AssetBuilder) RemapFileAndSHAValue(fileURL *url.URL, shaValue string) (*url.URL, error) { - if fileURL == nil { - return nil, fmt.Errorf("unable to remap a nil URL") - } - - fileAsset := &FileAsset{ - DownloadURL: fileURL, - CanonicalURL: fileURL, - SHAValue: shaValue, - } - - if a.AssetsLocation != nil && a.AssetsLocation.FileRepository != nil { - normalizedFile, err := a.remapURL(fileURL) + if knownHash == nil { + h, err := a.findHash(fileAsset) if err != nil { return nil, err } - if fileURL.Host != normalizedFile.Host { - fileAsset.DownloadURL = normalizedFile - klog.V(4).Infof("adding remapped file: %q", fileAsset.DownloadURL.String()) - } + knownHash = h } + fileAsset.SHAValue = knownHash + klog.V(8).Infof("adding file: %+v", fileAsset) a.FileAssets = append(a.FileAssets, fileAsset) - return fileAsset.DownloadURL, nil + return fileAsset, nil } -// FindHash returns the hash value of a FileAsset. +// findHash returns the hash value of a FileAsset. func (a *AssetBuilder) findHash(file *FileAsset) (*hashing.Hash, error) { // If the phase is "assets" we use the CanonicalFileURL, // but during other phases we use the hash from the FileRepository or the base kops path. @@ -324,6 +301,16 @@ func (a *AssetBuilder) findHash(file *FileAsset) (*hashing.Hash, error) { return nil, fmt.Errorf("file url is not defined") } + knownHash, found, err := assetdata.GetHash(file.CanonicalURL) + if err != nil { + return nil, err + } + if found { + return knownHash, nil + } + + klog.Infof("asset %q is not well-known, downloading hash", file.CanonicalURL) + // We now prefer sha256 hashes for backoffSteps := 1; backoffSteps <= 3; backoffSteps++ { // We try first with a short backoff, so we don't @@ -338,7 +325,7 @@ func (a *AssetBuilder) findHash(file *FileAsset) (*hashing.Hash, error) { for _, ext := range []string{".sha256", ".sha256sum"} { for _, mirror := range FindURLMirrors(u.String()) { hashURL := mirror + ext - klog.V(3).Infof("Trying to read hash fie: %q", hashURL) + klog.V(3).Infof("Trying to read hash file: %q", hashURL) b, err := a.vfsContext.ReadFile(hashURL, vfs.WithBackoff(backoff)) if err != nil { // Try to log without being too alarming - issue #7550 diff --git a/pkg/assets/copy.go b/pkg/assets/copy.go index a561a9cd12070..134dbac920318 100644 --- a/pkg/assets/copy.go +++ b/pkg/assets/copy.go @@ -56,7 +56,7 @@ func Copy(imageAssets []*ImageAsset, fileAssets []*FileAsset, vfsContext *vfs.VF Name: fileAsset.CanonicalURL.String(), TargetFile: fileAsset.DownloadURL.String(), SourceFile: fileAsset.CanonicalURL.String(), - SHA: fileAsset.SHAValue, + SHA: fileAsset.SHAValue.Hex(), VFSContext: vfsContext, Cluster: cluster, } diff --git a/pkg/assets/mirrored_asset.go b/pkg/assets/mirrored_asset.go index 7c764eb0ca656..0aea8be35f4af 100644 --- a/pkg/assets/mirrored_asset.go +++ b/pkg/assets/mirrored_asset.go @@ -17,7 +17,6 @@ limitations under the License. package assets import ( - "net/url" "strings" "k8s.io/klog/v2" @@ -30,12 +29,14 @@ type MirroredAsset struct { } // BuildMirroredAsset checks to see if this is a file under the standard base location, and if so constructs some mirror locations -func BuildMirroredAsset(u *url.URL, hash *hashing.Hash) *MirroredAsset { +func BuildMirroredAsset(asset *FileAsset) *MirroredAsset { + u := asset.DownloadURL + a := &MirroredAsset{ - Hash: hash, + Hash: asset.SHAValue, } - if hash == nil { + if asset.SHAValue == nil { klog.Warningf("not using mirrors for asset %s as it does not have a known hash", u) a.Locations = []string{u.String()} } else { diff --git a/pkg/nodemodel/fileassets.go b/pkg/nodemodel/fileassets.go index f03e8053118bc..76f1e59464cf3 100644 --- a/pkg/nodemodel/fileassets.go +++ b/pkg/nodemodel/fileassets.go @@ -75,11 +75,11 @@ func (c *FileAssets) AddFileAssets(assetBuilder *assets.AssetBuilder) error { } k.Path = path.Join(k.Path, an) - u, hash, err := assetBuilder.RemapFileAndSHA(k) + asset, err := assetBuilder.RemapFile(k, nil) if err != nil { return err } - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(u, hash)) + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(asset)) } kubernetesVersion, _ := util.ParseKubernetesVersion(c.Cluster.Spec.KubernetesVersion) @@ -98,6 +98,7 @@ func (c *FileAssets) AddFileAssets(assetBuilder *assets.AssetBuilder) error { return err } + // TODO: Move these hashes to assetdata hashes := map[architectures.Architecture]string{ "amd64": "827d558953d861b81a35c3b599191a73f53c1f63bce42c61e7a3fee21a717a89", "arm64": "f1617c0ef77f3718e12a3efc6f650375d5b5e96eebdbcbad3e465e89e781bdfa", @@ -106,70 +107,69 @@ func (c *FileAssets) AddFileAssets(assetBuilder *assets.AssetBuilder) error { if err != nil { return fmt.Errorf("unable to parse auth-provider-gcp binary asset hash %q: %v", hashes[arch], err) } - u, err := assetBuilder.RemapFileAndSHAValue(k, hashes[arch]) + asset, err := assetBuilder.RemapFile(k, hash) if err != nil { return err } - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(u, hash)) + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(asset)) case kops.CloudProviderAWS: binaryLocation := c.Cluster.Spec.CloudProvider.AWS.BinariesLocation if binaryLocation == nil { binaryLocation = fi.PtrTo("https://artifacts.k8s.io/binaries/cloud-provider-aws/v1.27.1") } - k, err := url.Parse(fmt.Sprintf("%s/linux/%s/ecr-credential-provider-linux-%s", *binaryLocation, arch, arch)) + u, err := url.Parse(fmt.Sprintf("%s/linux/%s/ecr-credential-provider-linux-%s", *binaryLocation, arch, arch)) if err != nil { return err } - u, hash, err := assetBuilder.RemapFileAndSHA(k) + asset, err := assetBuilder.RemapFile(u, nil) if err != nil { return err } - - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(u, hash)) + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(asset)) } } { - cniAsset, cniAssetHash, err := wellknownassets.FindCNIAssets(c.Cluster, assetBuilder, arch) + cniAsset, err := wellknownassets.FindCNIAssets(c.Cluster, assetBuilder, arch) if err != nil { return err } - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(cniAsset, cniAssetHash)) + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(cniAsset)) } if c.Cluster.Spec.Containerd == nil || !c.Cluster.Spec.Containerd.SkipInstall { - containerdAssetUrl, containerdAssetHash, err := wellknownassets.FindContainerdAsset(c.Cluster, assetBuilder, arch) + containerdAsset, err := wellknownassets.FindContainerdAsset(c.Cluster, assetBuilder, arch) if err != nil { return err } - if containerdAssetUrl != nil && containerdAssetHash != nil { - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(containerdAssetUrl, containerdAssetHash)) + if containerdAsset != nil { + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(containerdAsset)) } - runcAssetUrl, runcAssetHash, err := wellknownassets.FindRuncAsset(c.Cluster, assetBuilder, arch) + runcAsset, err := wellknownassets.FindRuncAsset(c.Cluster, assetBuilder, arch) if err != nil { return err } - if runcAssetUrl != nil && runcAssetHash != nil { - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(runcAssetUrl, runcAssetHash)) + if runcAsset != nil { + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(runcAsset)) } - nerdctlAssetUrl, nerdctlAssetHash, err := wellknownassets.FindNerdctlAsset(c.Cluster, assetBuilder, arch) + nerdctlAsset, err := wellknownassets.FindNerdctlAsset(c.Cluster, assetBuilder, arch) if err != nil { return err } - if nerdctlAssetUrl != nil && nerdctlAssetHash != nil { - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(nerdctlAssetUrl, nerdctlAssetHash)) + if nerdctlAsset != nil { + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(nerdctlAsset)) } } - crictlAssetUrl, crictlAssetHash, err := wellknownassets.FindCrictlAsset(c.Cluster, assetBuilder, arch) + crictlAsset, err := wellknownassets.FindCrictlAsset(c.Cluster, assetBuilder, arch) if err != nil { return err } - if crictlAssetUrl != nil && crictlAssetHash != nil { - c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(crictlAssetUrl, crictlAssetHash)) + if crictlAsset != nil { + c.Assets[arch] = append(c.Assets[arch], assets.BuildMirroredAsset(crictlAsset)) } asset, err := wellknownassets.NodeUpAsset(assetBuilder, arch) diff --git a/pkg/nodemodel/nodeupconfigbuilder.go b/pkg/nodemodel/nodeupconfigbuilder.go index 66b04d3ad50f0..6acbbbfb47ffd 100644 --- a/pkg/nodemodel/nodeupconfigbuilder.go +++ b/pkg/nodemodel/nodeupconfigbuilder.go @@ -117,14 +117,14 @@ func NewNodeUpConfigBuilder(cluster *kops.Cluster, assetBuilder *assets.AssetBui baseURL.Path = path.Join(baseURL.Path, "/bin/linux", string(arch), component+".tar") - u, hash, err := assetBuilder.RemapFileAndSHA(baseURL) + asset, err := assetBuilder.RemapFile(baseURL, nil) if err != nil { return nil, err } image := &nodeup.Image{ - Sources: []string{u.String()}, - Hash: hash.Hex(), + Sources: []string{asset.DownloadURL.String()}, + Hash: asset.SHAValue.Hex(), } images[role][arch] = append(images[role][arch], image) } @@ -143,14 +143,14 @@ func NewNodeUpConfigBuilder(cluster *kops.Cluster, assetBuilder *assets.AssetBui baseURL.Path = path.Join(baseURL.Path, "/images/"+name+"-"+string(arch)+".tar.gz") - u, hash, err := assetBuilder.RemapFileAndSHA(baseURL) + asset, err := assetBuilder.RemapFile(baseURL, nil) if err != nil { return nil, err } image := &nodeup.Image{ - Sources: []string{u.String()}, - Hash: hash.Hex(), + Sources: []string{asset.DownloadURL.String()}, + Hash: asset.SHAValue.Hex(), } images[role][arch] = append(images[role][arch], image) } @@ -166,14 +166,14 @@ func NewNodeUpConfigBuilder(cluster *kops.Cluster, assetBuilder *assets.AssetBui baseURL.Path = path.Join(baseURL.Path, "/images/"+name+"-"+string(arch)+".tar.gz") - u, hash, err := assetBuilder.RemapFileAndSHA(baseURL) + asset, err := assetBuilder.RemapFile(baseURL, nil) if err != nil { return nil, err } image := &nodeup.Image{ - Sources: []string{u.String()}, - Hash: hash.Hex(), + Sources: []string{asset.DownloadURL.String()}, + Hash: asset.SHAValue.Hex(), } images[role][arch] = append(images[role][arch], image) } diff --git a/pkg/nodemodel/wellknownassets/cni.go b/pkg/nodemodel/wellknownassets/cni.go index b529c0ab8a4bb..58addeb1b6804 100644 --- a/pkg/nodemodel/wellknownassets/cni.go +++ b/pkg/nodemodel/wellknownassets/cni.go @@ -47,7 +47,7 @@ const ( ENV_VAR_CNI_ASSET_HASH = "CNI_ASSET_HASH_STRING" ) -func FindCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*url.URL, *hashing.Hash, error) { +func FindCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) { // Override CNI packages from env vars cniAssetURL := os.Getenv(ENV_VAR_CNI_ASSET_URL) cniAssetHash := os.Getenv(ENV_VAR_CNI_ASSET_HASH) @@ -58,20 +58,20 @@ func FindCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch a u, err := url.Parse(cniAssetURL) if err != nil { - return nil, nil, fmt.Errorf("unable to parse CNI plugin binaries asset URL %q: %v", cniAssetURL, err) + return nil, fmt.Errorf("unable to parse CNI plugin binaries asset URL %q: %v", cniAssetURL, err) } h, err := hashing.FromString(cniAssetHash) if err != nil { - return nil, nil, fmt.Errorf("unable to parse CNI plugin binaries asset hash %q: %v", cniAssetHash, err) + return nil, fmt.Errorf("unable to parse CNI plugin binaries asset hash %q: %v", cniAssetHash, err) } - u, err = assetBuilder.RemapFileAndSHAValue(u, cniAssetHash) + asset, err := assetBuilder.RemapFile(u, h) if err != nil { - return nil, nil, fmt.Errorf("unable to remap CNI plugin binaries asset: %v", err) + return nil, fmt.Errorf("unable to remap CNI plugin binaries asset: %v", err) } - return u, h, nil + return asset, nil } switch arch { @@ -90,18 +90,18 @@ func FindCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch a } klog.V(2).Infof("Adding default AMD64 CNI plugin binaries asset: %s", cniAssetURL) default: - return nil, nil, fmt.Errorf("unknown arch for CNI plugin binaries asset: %s", arch) + return nil, fmt.Errorf("unknown arch for CNI plugin binaries asset: %s", arch) } u, err := url.Parse(cniAssetURL) if err != nil { - return nil, nil, fmt.Errorf("unable to parse CNI plugin binaries asset URL %q: %v", cniAssetURL, err) + return nil, fmt.Errorf("unable to parse CNI plugin binaries asset URL %q: %v", cniAssetURL, err) } - u, h, err := assetBuilder.RemapFileAndSHA(u) + asset, err := assetBuilder.RemapFile(u, nil) if err != nil { - return nil, nil, fmt.Errorf("unable to remap CNI plugin binaries asset: %v", err) + return nil, fmt.Errorf("unable to remap CNI plugin binaries asset: %v", err) } - return u, h, nil + return asset, nil } diff --git a/pkg/nodemodel/wellknownassets/cni_test.go b/pkg/nodemodel/wellknownassets/cni_test.go index 28a033a299827..9425fa008ea42 100644 --- a/pkg/nodemodel/wellknownassets/cni_test.go +++ b/pkg/nodemodel/wellknownassets/cni_test.go @@ -36,17 +36,17 @@ func Test_FindCNIAssetFromEnvironmentVariable(t *testing.T) { cluster.Spec.KubernetesVersion = "v1.18.0" assetBuilder := assets.NewAssetBuilder(vfs.Context, cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false) - cniAsset, cniAssetHash, err := FindCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64) + asset, err := FindCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64) if err != nil { - t.Errorf("Unable to parse CNI version %s", err) + t.Fatalf("Unable to parse CNI version: %v", err) } - if cniAsset.String() != desiredCNIVersion { - t.Errorf("Expected CNI version from env var %q, but got %q instead", desiredCNIVersion, cniAsset) + if asset.DownloadURL.String() != desiredCNIVersion { + t.Errorf("Expected CNI version from env var %q, but got %q instead", desiredCNIVersion, asset.DownloadURL.String()) } - if cniAssetHash.String() != desiredCNIVersionHash { - t.Errorf("Expected empty CNI version hash, but got %v instead", cniAssetHash) + if asset.SHAValue.String() != desiredCNIVersionHash { + t.Errorf("Expected empty CNI version hash, but got %v instead", asset.SHAValue.String()) } } @@ -58,16 +58,16 @@ func Test_FindCNIAssetFromDefaults122(t *testing.T) { cluster.Spec.KubernetesVersion = "v1.22.0" assetBuilder := assets.NewAssetBuilder(vfs.Context, cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false) - cniAsset, cniAssetHash, err := FindCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64) + asset, err := FindCNIAssets(cluster, assetBuilder, architectures.ArchitectureAmd64) if err != nil { - t.Errorf("Unable to parse CNI version %s", err) + t.Fatalf("Unable to parse CNI version: %s", err) } - if cniAsset.String() != desiredCNIVersionURL { - t.Errorf("Expected default CNI version %q, but got %q instead", desiredCNIVersionURL, cniAsset) + if asset.DownloadURL.String() != desiredCNIVersionURL { + t.Errorf("Expected default CNI version %q, but got %q instead", desiredCNIVersionURL, asset.DownloadURL) } - if cniAssetHash.String() != desiredCNIVersionHash { - t.Errorf("Expected default CNI version hash %q, but got %q instead", desiredCNIVersionHash, cniAssetHash) + if asset.SHAValue.String() != desiredCNIVersionHash { + t.Errorf("Expected default CNI version hash %q, but got %q instead", desiredCNIVersionHash, asset.SHAValue.String()) } } diff --git a/pkg/nodemodel/wellknownassets/containerd.go b/pkg/nodemodel/wellknownassets/containerd.go index 3173ec8b5a9e4..8c0e7c2cf5f94 100644 --- a/pkg/nodemodel/wellknownassets/containerd.go +++ b/pkg/nodemodel/wellknownassets/containerd.go @@ -37,53 +37,49 @@ const ( containerdBundleUrlAmd64 = "https://github.com/containerd/containerd/releases/download/v%s/cri-containerd-cni-%s-linux-amd64.tar.gz" ) -func FindContainerdAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*url.URL, *hashing.Hash, error) { +func FindContainerdAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) { if c.Spec.Containerd == nil { - return nil, nil, fmt.Errorf("unable to find containerd config") + return nil, fmt.Errorf("unable to find containerd config") } containerd := c.Spec.Containerd + canonicalURL := "" + knownHash := "" + if containerd.Packages != nil { if arch == architectures.ArchitectureAmd64 && containerd.Packages.UrlAmd64 != nil && containerd.Packages.HashAmd64 != nil { - assetUrl := fi.ValueOf(containerd.Packages.UrlAmd64) - assetHash := fi.ValueOf(containerd.Packages.HashAmd64) - return findAssetsUrlHash(assetBuilder, assetUrl, assetHash) + canonicalURL = fi.ValueOf(containerd.Packages.UrlAmd64) + knownHash = fi.ValueOf(containerd.Packages.HashAmd64) } if arch == architectures.ArchitectureArm64 && containerd.Packages.UrlArm64 != nil && containerd.Packages.HashArm64 != nil { - assetUrl := fi.ValueOf(containerd.Packages.UrlArm64) - assetHash := fi.ValueOf(containerd.Packages.HashArm64) - return findAssetsUrlHash(assetBuilder, assetUrl, assetHash) + canonicalURL = fi.ValueOf(containerd.Packages.UrlArm64) + knownHash = fi.ValueOf(containerd.Packages.HashArm64) } } - version := fi.ValueOf(containerd.Version) - if version == "" { - return nil, nil, fmt.Errorf("unable to find containerd version") - } - - return findContainerdVersionUrlHash(assetBuilder, arch, version) -} + if canonicalURL == "" { + version := fi.ValueOf(containerd.Version) + if version == "" { + return nil, fmt.Errorf("unable to find containerd version") + } -func findContainerdVersionUrlHash(assetBuilder *assets.AssetBuilder, arch architectures.Architecture, version string) (u *url.URL, h *hashing.Hash, e error) { - assetUrl, err := findContainerdVersionUrl(arch, version) - if err != nil { - return nil, nil, err - } - fileUrl, err := url.Parse(assetUrl) - if err != nil { - return nil, nil, err + assetURL, err := findContainerdVersionUrl(arch, version) + if err != nil { + return nil, err + } + canonicalURL = assetURL.String() } - return assetBuilder.RemapFileAndSHA(fileUrl) + return buildFileAsset(assetBuilder, canonicalURL, knownHash) } -func findContainerdVersionUrl(arch architectures.Architecture, version string) (string, error) { +func findContainerdVersionUrl(arch architectures.Architecture, version string) (*url.URL, error) { sv, err := semver.ParseTolerant(version) if err != nil { - return "", fmt.Errorf("unable to parse version string: %q", version) + return nil, fmt.Errorf("unable to parse version string: %q", version) } if sv.LT(semver.MustParse("1.4.0")) { - return "", fmt.Errorf("unsupported legacy containerd version: %q", version) + return nil, fmt.Errorf("unsupported legacy containerd version: %q", version) } var u string @@ -99,31 +95,35 @@ func findContainerdVersionUrl(arch architectures.Architecture, version string) ( u = fmt.Sprintf(containerdReleaseUrlArm64, version, version) } default: - return "", fmt.Errorf("unknown arch: %q", arch) + return nil, fmt.Errorf("unknown arch: %q", arch) } if u == "" { - return "", fmt.Errorf("unknown url for containerd version: %s - %s", arch, version) + return nil, fmt.Errorf("unknown url for containerd version: %s - %s", arch, version) } - return u, nil + return url.Parse(u) } -func findAssetsUrlHash(assetBuilder *assets.AssetBuilder, assetUrl string, assetHash string) (*url.URL, *hashing.Hash, error) { - u, err := url.Parse(assetUrl) +func buildFileAsset(assetBuilder *assets.AssetBuilder, canonicalURL string, knownHashString string) (*assets.FileAsset, error) { + u, err := url.Parse(canonicalURL) if err != nil { - return nil, nil, fmt.Errorf("unable to parse asset URL %q: %v", assetUrl, err) + return nil, fmt.Errorf("unable to parse asset URL %q: %w", canonicalURL, err) } - h, err := hashing.FromString(assetHash) - if err != nil { - return nil, nil, fmt.Errorf("unable to parse asset hash %q: %v", assetHash, err) + var knownHash *hashing.Hash + if knownHashString != "" { + h, err := hashing.FromString(knownHashString) + if err != nil { + return nil, fmt.Errorf("unable to parse asset hash %q: %w", knownHashString, err) + } + knownHash = h } - u, err = assetBuilder.RemapFileAndSHAValue(u, assetHash) + asset, err := assetBuilder.RemapFile(u, knownHash) if err != nil { - return nil, nil, fmt.Errorf("unable to remap asset: %v", err) + return nil, fmt.Errorf("unable to remap asset: %w", err) } - return u, h, nil + return asset, nil } diff --git a/pkg/nodemodel/wellknownassets/containerd_test.go b/pkg/nodemodel/wellknownassets/containerd_test.go index f990571a87f07..5820df1ef1262 100644 --- a/pkg/nodemodel/wellknownassets/containerd_test.go +++ b/pkg/nodemodel/wellknownassets/containerd_test.go @@ -87,7 +87,11 @@ func TestContainerdVersionUrl(t *testing.T) { t.Errorf("actual error %q differs from expected error %q", err, test.err) return } - if url != test.url { + got := "" + if url != nil { + got = url.String() + } + if got != test.url { t.Errorf("actual url %q differs from expected url %q", url, test.url) return } diff --git a/pkg/nodemodel/wellknownassets/crictl.go b/pkg/nodemodel/wellknownassets/crictl.go index ae24263c0f2b2..0edaa94e57463 100644 --- a/pkg/nodemodel/wellknownassets/crictl.go +++ b/pkg/nodemodel/wellknownassets/crictl.go @@ -23,7 +23,6 @@ import ( "k8s.io/kops/pkg/apis/kops" "k8s.io/kops/pkg/assets" "k8s.io/kops/util/pkg/architectures" - "k8s.io/kops/util/pkg/hashing" ) const ( @@ -31,7 +30,7 @@ const ( crictlAssetUrlArm64 = "https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.29.0/crictl-v1.29.0-linux-arm64.tar.gz" ) -func FindCrictlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*url.URL, *hashing.Hash, error) { +func FindCrictlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) { var assetURL string switch arch { case architectures.ArchitectureAmd64: @@ -39,18 +38,18 @@ func FindCrictlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch ar case architectures.ArchitectureArm64: assetURL = crictlAssetUrlArm64 default: - return nil, nil, fmt.Errorf("unknown arch for crictl binaries asset: %s", arch) + return nil, fmt.Errorf("unknown arch for crictl binaries asset: %s", arch) } u, err := url.Parse(assetURL) if err != nil { - return nil, nil, fmt.Errorf("unable to parse crictl binaries asset URL %q: %v", assetURL, err) + return nil, fmt.Errorf("unable to parse crictl binaries asset URL %q: %v", assetURL, err) } - u, h, err := assetBuilder.RemapFileAndSHA(u) + asset, err := assetBuilder.RemapFile(u, nil) if err != nil { - return nil, nil, fmt.Errorf("unable to remap crictl binaries asset: %v", err) + return nil, fmt.Errorf("unable to remap crictl binaries asset: %v", err) } - return u, h, err + return asset, err } diff --git a/pkg/nodemodel/wellknownassets/crictl_test.go b/pkg/nodemodel/wellknownassets/crictl_test.go index b869d65dc0afb..0977f6ccb7a4e 100644 --- a/pkg/nodemodel/wellknownassets/crictl_test.go +++ b/pkg/nodemodel/wellknownassets/crictl_test.go @@ -33,14 +33,14 @@ func Test_FindCrictlVersionHash(t *testing.T) { cluster.Spec.KubernetesVersion = "v1.29.0" assetBuilder := assets.NewAssetBuilder(vfs.Context, cluster.Spec.Assets, cluster.Spec.KubernetesVersion, false) - crictlAsset, crictlAssetHash, err := FindCrictlAsset(cluster, assetBuilder, architectures.ArchitectureAmd64) + crictlAsset, err := FindCrictlAsset(cluster, assetBuilder, architectures.ArchitectureAmd64) if err != nil { t.Errorf("Unable to parse crictl version %s", err) } - if crictlAsset.String() != desiredCrictlURL { - t.Errorf("Expected crictl version %q, but got %q instead", desiredCrictlURL, crictlAsset) + if crictlAsset.DownloadURL.String() != desiredCrictlURL { + t.Errorf("Expected crictl version %q, but got %q instead", desiredCrictlURL, crictlAsset.DownloadURL) } - if crictlAssetHash.String() != desiredCirctlHash { - t.Errorf("Expected crictl version hash %q, but got %q instead", desiredCirctlHash, crictlAssetHash) + if crictlAsset.SHAValue.String() != desiredCirctlHash { + t.Errorf("Expected crictl version hash %q, but got %q instead", desiredCirctlHash, crictlAsset.SHAValue) } } diff --git a/pkg/nodemodel/wellknownassets/kopsassets.go b/pkg/nodemodel/wellknownassets/kopsassets.go index 0bb206d53bbc1..5b979df2b5770 100644 --- a/pkg/nodemodel/wellknownassets/kopsassets.go +++ b/pkg/nodemodel/wellknownassets/kopsassets.go @@ -26,7 +26,6 @@ import ( "k8s.io/kops" "k8s.io/kops/pkg/assets" "k8s.io/kops/util/pkg/architectures" - "k8s.io/kops/util/pkg/hashing" ) const ( @@ -93,12 +92,12 @@ func NodeUpAsset(assetsBuilder *assets.AssetBuilder, arch architectures.Architec return nodeUpAsset[arch], nil } - u, hash, err := KopsFileURL(fmt.Sprintf("linux/%s/nodeup", arch), assetsBuilder) + asset, err := KopsFileURL(fmt.Sprintf("linux/%s/nodeup", arch), assetsBuilder) if err != nil { return nil, err } - nodeUpAsset[arch] = assets.BuildMirroredAsset(u, hash) - klog.V(8).Infof("Using default nodeup location for %s: %q", arch, u.String()) + nodeUpAsset[arch] = assets.BuildMirroredAsset(asset) + klog.V(8).Infof("Using default nodeup location for %s: %q", arch, asset.DownloadURL.String()) return nodeUpAsset[arch], nil } @@ -113,12 +112,12 @@ func ProtokubeAsset(assetsBuilder *assets.AssetBuilder, arch architectures.Archi return protokubeAsset[arch], nil } - u, hash, err := KopsFileURL(fmt.Sprintf("linux/%s/protokube", arch), assetsBuilder) + asset, err := KopsFileURL(fmt.Sprintf("linux/%s/protokube", arch), assetsBuilder) if err != nil { return nil, err } - protokubeAsset[arch] = assets.BuildMirroredAsset(u, hash) - klog.V(8).Infof("Using default protokube location for %s: %q", arch, u.String()) + protokubeAsset[arch] = assets.BuildMirroredAsset(asset) + klog.V(8).Infof("Using default protokube location for %s: %q", arch, asset.DownloadURL.String()) return protokubeAsset[arch], nil } @@ -133,29 +132,29 @@ func ChannelsAsset(assetsBuilder *assets.AssetBuilder, arch architectures.Archit return channelsAsset[arch], nil } - u, hash, err := KopsFileURL(fmt.Sprintf("linux/%s/channels", arch), assetsBuilder) + asset, err := KopsFileURL(fmt.Sprintf("linux/%s/channels", arch), assetsBuilder) if err != nil { return nil, err } - channelsAsset[arch] = assets.BuildMirroredAsset(u, hash) - klog.V(8).Infof("Using default channels location for %s: %q", arch, u.String()) + channelsAsset[arch] = assets.BuildMirroredAsset(asset) + klog.V(8).Infof("Using default channels location for %s: %q", arch, asset.DownloadURL.String()) return channelsAsset[arch], nil } // KopsFileURL returns the base url for the distribution of kops - in particular for nodeup & docker images -func KopsFileURL(file string, assetBuilder *assets.AssetBuilder) (*url.URL, *hashing.Hash, error) { +func KopsFileURL(file string, assetBuilder *assets.AssetBuilder) (*assets.FileAsset, error) { base, err := BaseURL() if err != nil { - return nil, nil, err + return nil, err } base.Path = path.Join(base.Path, file) - fileURL, hash, err := assetBuilder.RemapFileAndSHA(base) + asset, err := assetBuilder.RemapFile(base, nil) if err != nil { - return nil, nil, err + return nil, err } - return fileURL, hash, nil + return asset, nil } diff --git a/pkg/nodemodel/wellknownassets/kopsassets_test.go b/pkg/nodemodel/wellknownassets/kopsassets_test.go index e7c16d9fe6282..88434f9d558b6 100644 --- a/pkg/nodemodel/wellknownassets/kopsassets_test.go +++ b/pkg/nodemodel/wellknownassets/kopsassets_test.go @@ -56,7 +56,12 @@ func Test_BuildMirroredAsset(t *testing.T) { t.Errorf("cannot parse URL: %s", fmt.Sprintf(tc.url, kops.Version)) return } - actual := assets.BuildMirroredAsset(u, h) + asset := &assets.FileAsset{ + DownloadURL: u, + CanonicalURL: u, + SHAValue: h, + } + actual := assets.BuildMirroredAsset(asset) if !reflect.DeepEqual(actual.Locations, tc.expected) { t.Errorf("Locations differ:\nActual: %+v\nExpect: %+v", actual.Locations, tc.expected) diff --git a/pkg/nodemodel/wellknownassets/nerdctl.go b/pkg/nodemodel/wellknownassets/nerdctl.go index 25b9afb8b9f4b..e002009f27c1b 100644 --- a/pkg/nodemodel/wellknownassets/nerdctl.go +++ b/pkg/nodemodel/wellknownassets/nerdctl.go @@ -18,12 +18,10 @@ package wellknownassets import ( "fmt" - "net/url" "k8s.io/kops/pkg/apis/kops" "k8s.io/kops/pkg/assets" "k8s.io/kops/util/pkg/architectures" - "k8s.io/kops/util/pkg/hashing" ) const ( @@ -33,7 +31,7 @@ const ( nerdctlAssetHashArm64 = "d8df47708ca57b9cd7f498055126ba7dcfc811d9ba43aae1830c93a09e70e22d" ) -func FindNerdctlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*url.URL, *hashing.Hash, error) { +func FindNerdctlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) { var assetURL, assetHash string switch arch { case architectures.ArchitectureAmd64: @@ -43,8 +41,8 @@ func FindNerdctlAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch a assetURL = nerdctlAssetUrlArm64 assetHash = nerdctlAssetHashArm64 default: - return nil, nil, fmt.Errorf("unknown arch for nerdctl binaries asset: %s", arch) + return nil, fmt.Errorf("unknown arch for nerdctl binaries asset: %s", arch) } - return findAssetsUrlHash(assetBuilder, assetURL, assetHash) + return buildFileAsset(assetBuilder, assetURL, assetHash) } diff --git a/pkg/nodemodel/wellknownassets/runc.go b/pkg/nodemodel/wellknownassets/runc.go index c9d2a586ab433..c5683281d7d78 100644 --- a/pkg/nodemodel/wellknownassets/runc.go +++ b/pkg/nodemodel/wellknownassets/runc.go @@ -18,7 +18,6 @@ package wellknownassets import ( "fmt" - "net/url" "github.com/blang/semver/v4" @@ -26,7 +25,6 @@ import ( "k8s.io/kops/pkg/assets" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/util/pkg/architectures" - "k8s.io/kops/util/pkg/hashing" ) const ( @@ -34,70 +32,54 @@ const ( runcVersionUrlArm64 = "https://github.com/opencontainers/runc/releases/download/v%s/runc.arm64" ) -func FindRuncAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*url.URL, *hashing.Hash, error) { +func FindRuncAsset(c *kops.Cluster, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) { if c.Spec.Containerd == nil { - return nil, nil, fmt.Errorf("unable to find containerd config") + return nil, fmt.Errorf("unable to find containerd config") } containerd := c.Spec.Containerd containerdVersion, err := semver.ParseTolerant(fi.ValueOf(containerd.Version)) if err != nil { - return nil, nil, fmt.Errorf("unable to parse version string: %q", fi.ValueOf(containerd.Version)) + return nil, fmt.Errorf("unable to parse version string: %q", fi.ValueOf(containerd.Version)) } // A compatible runc binary is bundled with containerd builds < v1.6.0 // https://github.com/containerd/containerd/issues/6541 if containerdVersion.LT(semver.MustParse("1.6.0")) { - return nil, nil, nil + return nil, nil } if containerd.Runc == nil { - return nil, nil, fmt.Errorf("unable to find runc config") + return nil, fmt.Errorf("unable to find runc config") } runc := containerd.Runc + canonicalURL := "" + knownHash := "" + if runc.Packages != nil { if arch == architectures.ArchitectureAmd64 && runc.Packages.UrlAmd64 != nil && runc.Packages.HashAmd64 != nil { - assetUrl := fi.ValueOf(runc.Packages.UrlAmd64) - assetHash := fi.ValueOf(runc.Packages.HashAmd64) - return findAssetsUrlHash(assetBuilder, assetUrl, assetHash) + canonicalURL = fi.ValueOf(runc.Packages.UrlAmd64) + knownHash = fi.ValueOf(runc.Packages.HashAmd64) } if arch == architectures.ArchitectureArm64 && runc.Packages.UrlArm64 != nil && runc.Packages.HashArm64 != nil { - assetUrl := fi.ValueOf(runc.Packages.UrlArm64) - assetHash := fi.ValueOf(runc.Packages.HashArm64) - return findAssetsUrlHash(assetBuilder, assetUrl, assetHash) + canonicalURL = fi.ValueOf(runc.Packages.UrlArm64) + knownHash = fi.ValueOf(runc.Packages.HashArm64) } } - version := fi.ValueOf(runc.Version) - if version == "" { - return nil, nil, fmt.Errorf("unable to find runc version") - } - assetUrl, assetHash, err := findRuncVersionUrlHash(arch, version) - if err != nil { - return nil, nil, err - } - - return findAssetsUrlHash(assetBuilder, assetUrl, assetHash) -} - -func findRuncVersionUrlHash(arch architectures.Architecture, version string) (u string, h string, e error) { - var runcAssetUrl, runcAssetHash string - - if findAllRuncHashesAmd64()[version] != "" { - var err error - runcAssetUrl, err = findRuncVersionUrl(arch, version) - if err != nil { - return "", "", err + if canonicalURL == "" { + version := fi.ValueOf(runc.Version) + if version == "" { + return nil, fmt.Errorf("unable to find runc version") } - runcAssetHash, err = findRuncVersionHash(arch, version) + u, err := findRuncVersionUrl(arch, version) if err != nil { - return "", "", err + return nil, err } - } else { - return "", "", fmt.Errorf("unknown url and hash for runc version: %s - %s", arch, version) + canonicalURL = u } - return runcAssetUrl, runcAssetHash, nil + return buildFileAsset(assetBuilder, canonicalURL, knownHash) } func findRuncVersionUrl(arch architectures.Architecture, version string) (string, error) { @@ -125,69 +107,3 @@ func findRuncVersionUrl(arch architectures.Architecture, version string) (string return u, nil } - -func findRuncVersionHash(arch architectures.Architecture, version string) (string, error) { - sv, err := semver.ParseTolerant(version) - if err != nil { - return "", fmt.Errorf("unable to parse version string: %q", version) - } - if sv.LT(semver.MustParse("1.1.0")) { - return "", fmt.Errorf("unsupported runc version: %q", version) - } - - var h string - switch arch { - case architectures.ArchitectureAmd64: - h = findAllRuncHashesAmd64()[version] - case architectures.ArchitectureArm64: - h = findAllRuncHashesArm64()[version] - default: - return "", fmt.Errorf("unknown arch: %q", arch) - } - - if h == "" { - return "", fmt.Errorf("unknown hash for runc version: %s - %s", arch, version) - } - - return h, nil -} - -func findAllRuncHashesAmd64() map[string]string { - hashes := map[string]string{ - "1.1.0": "ab1c67fbcbdddbe481e48a55cf0ef9a86b38b166b5079e0010737fd87d7454bb", - "1.1.1": "5798c85d2c8b6942247ab8d6830ef362924cd72a8e236e77430c3ab1be15f080", - "1.1.2": "e0436dfc5d26ca88f00e84cbdab5801dd9829b1e5ded05dcfc162ce5718c32ce", - "1.1.3": "6e8b24be90fffce6b025d254846da9d2ca6d65125f9139b6354bab0272253d01", - "1.1.4": "db772be63147a4e747b4fe286c7c16a2edc4a8458bd3092ea46aaee77750e8ce", - "1.1.5": "f00b144e86f8c1db347a2e8f22caade07d55382c5f76dd5c0a5b1ab64eaec8bb", - "1.1.6": "868bee5b8dc2a01df0ca41d0accfad6a3372dc1165ebfb76143d2c6672e86115", - "1.1.7": "c3aadb419e5872af49504b6de894055251d2e685fddddb981a79703e7f895cbd", - "1.1.8": "1d05ed79854efc707841dfc7afbf3b86546fc1d0b3a204435ca921c14af8385b", - "1.1.9": "b9bfdd4cb27cddbb6172a442df165a80bfc0538a676fbca1a6a6c8f4c6933b43", - "1.1.10": "81f73a59be3d122ab484d7dfe9ddc81030f595cc59968f61c113a9a38a2c113a", - "1.1.11": "77ae134de014613c44d25e6310a57a219a7a91155cd47d069a0f22a2cad5caea", - "1.1.12": "aadeef400b8f05645768c1476d1023f7875b78f52c7ff1967a6dbce236b8cbd8", - } - - return hashes -} - -func findAllRuncHashesArm64() map[string]string { - hashes := map[string]string{ - "1.1.0": "9ec8e68feabc4e7083a4cfa45ebe4d529467391e0b03ee7de7ddda5770b05e68", - "1.1.1": "20c436a736547309371c7ac2a335f5fe5a42b450120e497d09c8dc3902c28444", - "1.1.2": "6ebd968d46d00a3886e9a0cae2e0a7b399e110cf5d7b26e63ce23c1d81ea10ef", - "1.1.3": "00c9ad161a77a01d9dcbd25b1d76fa9822e57d8e4abf26ba8907c98f6bcfcd0f", - "1.1.4": "dbb71e737eaef454a406ce21fd021bd8f1b35afb7635016745992bbd7c17a223", - "1.1.5": "54e79e4d48b9e191767e4abc08be1a8476a1c757e9a9f8c45c6ded001226867f", - "1.1.6": "da5b2ed26a173a69ea66eae7c369feebf59c1031e14985f512a0a293bb5f76fb", - "1.1.7": "1b309c4d5aa4cc7b888b2f79c385ecee26ca3d55dae0852e7c4a692196d5faab", - "1.1.8": "7c22cb618116d1d5216d79e076349f93a672253d564b19928a099c20e4acd658", - "1.1.9": "b43e9f561e85906f469eef5a7b7992fc586f750f44a0e011da4467e7008c33a0", - "1.1.10": "4830afd426bdeacbdf9cb8729524aa2ed51790b8c4b28786995925593708f1c8", - "1.1.11": "9f1ee53f06b78cc4a115ca6ae4eec10567999539ce828a22c5351edba043ed12", - "1.1.12": "879f910a05c95c10c64ad8eb7d5e3aa8e4b30e65587b3d68e009a3565aed5bb8", - } - - return hashes -} diff --git a/pkg/nodemodel/wellknownassets/runc_test.go b/pkg/nodemodel/wellknownassets/runc_test.go index 2d164dcc2459c..187f214790619 100644 --- a/pkg/nodemodel/wellknownassets/runc_test.go +++ b/pkg/nodemodel/wellknownassets/runc_test.go @@ -18,72 +18,12 @@ package wellknownassets import ( "fmt" - "os" - "path" - "path/filepath" "reflect" "testing" - "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/util/pkg/architectures" ) -func TestRuncVersionUrlHash(t *testing.T) { - tests := []struct { - version string - arch architectures.Architecture - hash string - url string - err error - }{ - { - arch: architectures.ArchitectureAmd64, - version: "1.100.0", - url: "", - hash: "", - err: fmt.Errorf("unknown url and hash for runc version: amd64 - 1.100.0"), - }, - { - arch: architectures.ArchitectureArm64, - version: "1.100.0", - url: "", - hash: "", - err: fmt.Errorf("unknown url and hash for runc version: arm64 - 1.100.0"), - }, - { - arch: architectures.ArchitectureAmd64, - version: "1.1.0", - url: "https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.amd64", - hash: "ab1c67fbcbdddbe481e48a55cf0ef9a86b38b166b5079e0010737fd87d7454bb", - err: nil, - }, - { - arch: architectures.ArchitectureArm64, - version: "1.1.0", - url: "https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.arm64", - hash: "9ec8e68feabc4e7083a4cfa45ebe4d529467391e0b03ee7de7ddda5770b05e68", - err: nil, - }, - } - for _, test := range tests { - t.Run(fmt.Sprintf("%s-%s", test.version, test.arch), func(t *testing.T) { - url, hash, err := findRuncVersionUrlHash(test.arch, test.version) - if !reflect.DeepEqual(err, test.err) { - t.Errorf("actual error %q differs from expected error %q", err, test.err) - return - } - if url != test.url { - t.Errorf("actual url %q differs from expected url %q", url, test.url) - return - } - if hash != test.hash { - t.Errorf("actual hash %q differs from expected hash %q", hash, test.hash) - return - } - }) - } -} - func TestRuncVersionUrl(t *testing.T) { tests := []struct { version string @@ -154,137 +94,3 @@ func TestRuncVersionUrl(t *testing.T) { }) } } - -func TestRuncVersionHash(t *testing.T) { - tests := []struct { - version string - arch architectures.Architecture - hash string - err error - }{ - { - arch: "", - version: "1.1.0", - hash: "", - err: fmt.Errorf("unknown arch: \"\""), - }, - { - arch: "arm", - version: "1.1.0", - hash: "", - err: fmt.Errorf("unknown arch: \"arm\""), - }, - { - arch: architectures.ArchitectureAmd64, - version: "", - hash: "", - err: fmt.Errorf("unable to parse version string: \"\""), - }, - { - arch: architectures.ArchitectureArm64, - version: "", - hash: "", - err: fmt.Errorf("unable to parse version string: \"\""), - }, - { - arch: architectures.ArchitectureAmd64, - version: "1.0.0", - hash: "", - err: fmt.Errorf("unsupported runc version: \"1.0.0\""), - }, - { - arch: architectures.ArchitectureArm64, - version: "1.0.0", - hash: "", - err: fmt.Errorf("unsupported runc version: \"1.0.0\""), - }, - { - arch: architectures.ArchitectureAmd64, - version: "1.100.0", - hash: "", - err: fmt.Errorf("unknown hash for runc version: amd64 - 1.100.0"), - }, - { - arch: architectures.ArchitectureArm64, - version: "1.100.0", - hash: "", - err: fmt.Errorf("unknown hash for runc version: arm64 - 1.100.0"), - }, - { - arch: architectures.ArchitectureAmd64, - version: "1.1.0", - hash: "ab1c67fbcbdddbe481e48a55cf0ef9a86b38b166b5079e0010737fd87d7454bb", - err: nil, - }, - { - arch: architectures.ArchitectureArm64, - version: "1.1.0", - hash: "9ec8e68feabc4e7083a4cfa45ebe4d529467391e0b03ee7de7ddda5770b05e68", - err: nil, - }, - } - for _, test := range tests { - t.Run(fmt.Sprintf("%s-%s", test.version, test.arch), func(t *testing.T) { - hash, err := findRuncVersionHash(test.arch, test.version) - if !reflect.DeepEqual(err, test.err) { - t.Errorf("actual error %q differs from expected error %q", err, test.err) - return - } - if hash != test.hash { - t.Errorf("actual hash %q differs from expected hash %q", hash, test.hash) - return - } - }) - } -} - -func TestRuncVersionsHashesAmd64(t *testing.T) { - if os.Getenv("VERIFY_HASHES") == "" { - t.Skip("VERIFY_HASHES not set, won't download & verify runc hashes") - } - - for version, hash := range findAllRuncHashesAmd64() { - t.Run(version+"-amd64", func(t *testing.T) { - url, _ := findRuncVersionUrl(architectures.ArchitectureAmd64, version) - if err := verifyPackageHash(url, hash); err != nil { - t.Errorf("error verifying package %q: %v", url, err) - } - }) - } -} - -func TestRuncVersionsHashesArm64(t *testing.T) { - if os.Getenv("VERIFY_HASHES") == "" { - t.Skip("VERIFY_HASHES not set, won't download & verify runc hashes") - } - - for version, hash := range findAllRuncHashesArm64() { - t.Run(version+"-arm64", func(t *testing.T) { - url, _ := findRuncVersionUrl(architectures.ArchitectureArm64, version) - if err := verifyPackageHash(url, hash); err != nil { - t.Errorf("error verifying package %q: %v", url, err) - } - }) - } -} - -func verifyPackageHash(u string, h string) error { - name := fmt.Sprintf("%s-%s", h, path.Base(u)) - path := filepath.Join("/tmp", name) - - actualHash, err := fi.DownloadURL(u, path, nil) - if err != nil { - return err - } - - err = os.Remove(path) - if err != nil { - return err - } - - if h != actualHash.Hex() { - return fmt.Errorf("actual hash %q differs from expected hash %q", actualHash.Hex(), h) - } - - return nil -} From 4ab4ccf2c06fce6a97b690b3824407c7ff9d571a Mon Sep 17 00:00:00 2001 From: justinsb Date: Thu, 9 May 2024 10:26:48 -0400 Subject: [PATCH 2/2] assets: add hashes for newest assets Some new releases, and the latest patch in each. --- pkg/assets/assetdata/k8s-1.24.yaml | 97 +++++++++++++ pkg/assets/assetdata/k8s-1.25.yaml | 97 +++++++++++++ pkg/assets/assetdata/k8s-1.26.yaml | 97 +++++++++++++ pkg/assets/assetdata/k8s-1.27.yaml | 194 ++++++++++++++++++++++++++ pkg/assets/assetdata/k8s-1.28.yaml | 210 +++++++++++++++++++++++++++++ pkg/assets/assetdata/k8s-1.29.yaml | 210 +++++++++++++++++++++++++++++ pkg/assets/assetdata/k8s-1.30.yaml | 111 +++++++++++++++ pkg/assets/assetdata/runc-1.1.yaml | 17 +++ 8 files changed, 1033 insertions(+) create mode 100644 pkg/assets/assetdata/k8s-1.30.yaml diff --git a/pkg/assets/assetdata/k8s-1.24.yaml b/pkg/assets/assetdata/k8s-1.24.yaml index 87d91084c4a47..8b1538098a2e0 100644 --- a/pkg/assets/assetdata/k8s-1.24.yaml +++ b/pkg/assets/assetdata/k8s-1.24.yaml @@ -1653,3 +1653,100 @@ files: sha256: c21615a59254e931323e939bc79627ce4a98006b3632108c372dcfbe739eb147 - name: v1.24.16/kubernetes-source.spdx sha256: a69f3779e7c117327d4a48d76f0ad7b6f413414106c36149beda3663d6da022b +# kubernetes 1.24.17 +- name: v1.24.17/bin/darwin/amd64/kubectl + sha256: 1eb904b2c1148ff8431b0bd86677287a48bff000f93fd2d36377fbe956bd1e49 +- name: v1.24.17/bin/darwin/amd64/kubectl-convert + sha256: 7f4d03fbaa6b1c860c3e895894b97592cca55f166d5de482595029ea453d4bca +- name: v1.24.17/bin/darwin/arm64/kubectl + sha256: 7addbe3f1e22a366fa05aed4f268e77e83d902b40a5854e192b4205ed92e5f8d +- name: v1.24.17/bin/darwin/arm64/kubectl-convert + sha256: a0e5ea01668501c93184aaa8164726c0d5cd8259a141ecbd81481373ecd3b449 +- name: v1.24.17/bin/linux/386/kubectl + sha256: b0cde7ca2973a4420aaaca967fe45fe3d763a319a4850955333f0e2c1036b4a4 +- name: v1.24.17/bin/linux/386/kubectl-convert + sha256: 119d814d9e6df5dcdcc07cd603efe5a0288d9a7142e33c2fc277b169e3e89499 +- name: v1.24.17/bin/linux/amd64/apiextensions-apiserver + sha256: d9597f0bb60747e7f10370c7c544d541421b095db7580f0bc48a24ddfc5f7dcf +- name: v1.24.17/bin/linux/amd64/kube-aggregator + sha256: 922207c55954e51723ad1e1895374b0fa3f36139ffeabb68d1f2160382ef9883 +- name: v1.24.17/bin/linux/amd64/kube-apiserver + sha256: b92a2631a9aa741b268b71844ed8920039bdbdaa8aee0d595562a8fb9b58bf99 +- name: v1.24.17/bin/linux/amd64/kube-apiserver.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/amd64/kube-apiserver.tar + sha256: 3b65d653386b0d6dd00160c0e85f36ae131c0f2b47eab364cd70c7fbfbe8b4ab +- name: v1.24.17/bin/linux/amd64/kube-controller-manager + sha256: c8801bca5d80e31607b24c3979a843e4da4ab8cf2145d5cfa88db6ce9e0b93d1 +- name: v1.24.17/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/amd64/kube-controller-manager.tar + sha256: 45fc89995bd17a201a67eecf8ea0e3744622daa3a8f30c6967f1894b1a4480fb +- name: v1.24.17/bin/linux/amd64/kube-log-runner + sha256: f97e37714ca0a0a3585f714235f9a51c1f8fa07deab2b53a5a5bd376226a1998 +- name: v1.24.17/bin/linux/amd64/kube-proxy + sha256: d6663ca58e29da5ad54c8ab0846efbce9eb07568bbf6f728e1ec0a5c835b58d1 +- name: v1.24.17/bin/linux/amd64/kube-proxy.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/amd64/kube-proxy.tar + sha256: b89dc9686b81bbbb0989c64b34e27fc1c84d7e14b768ea93733386bfc4f5485a +- name: v1.24.17/bin/linux/amd64/kube-scheduler + sha256: ce2f040ffed8e7e75e4733b26d9c58e197264a603bb9a04e1b8cb8d863acdf12 +- name: v1.24.17/bin/linux/amd64/kube-scheduler.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/amd64/kube-scheduler.tar + sha256: e7193255c9ece8f49004a0649be006613d2299d89f0f352b1084bbc077a2a36a +- name: v1.24.17/bin/linux/amd64/kubeadm + sha256: 774bae9f86c093fd28c7649cf4a84cb3555a70d29ea5dba438abc990dd0febc9 +- name: v1.24.17/bin/linux/amd64/kubectl + sha256: 3e9588e3326c7110a163103fc3ea101bb0e85f4d6fd228cf928fa9a2a20594d5 +- name: v1.24.17/bin/linux/amd64/kubectl-convert + sha256: d5d0ebf549345a622106740ec3bfa43f7a0389778b14e032b44df59ad1333941 +- name: v1.24.17/bin/linux/amd64/kubelet + sha256: babf327f3089982b271ac0acff51009eb0d649f7d1f4fbd976419ee76864f633 +- name: v1.24.17/bin/linux/amd64/mounter + sha256: af57e269cce129610b5b70c8f48d5153e4e094a5fe46c5da39481387707d6e08 +- name: v1.24.17/bin/linux/arm64/apiextensions-apiserver + sha256: a9cb5b9597b194d747bd432c246ee1a4062bf390748d8c81ee7037e99eaf9895 +- name: v1.24.17/bin/linux/arm64/kube-aggregator + sha256: 54430f0fcfd106e470fb019c143a1f84fec69b102f4600d46d26233cb29a468c +- name: v1.24.17/bin/linux/arm64/kube-apiserver + sha256: cd1025d49b69907aa1b0abd98a4569de15ffbdd4252a7a36479894988803d095 +- name: v1.24.17/bin/linux/arm64/kube-apiserver.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/arm64/kube-apiserver.tar + sha256: 1908ea1c29c601836273878a0d5e49bb0703b8bd492d9b28c66a38b7ec440ece +- name: v1.24.17/bin/linux/arm64/kube-controller-manager + sha256: dd5bf9c31597975dcae53a650b682b34f77f5c1d375ca597a413852a887988d2 +- name: v1.24.17/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/arm64/kube-controller-manager.tar + sha256: 1bf59c33803796a84f8f99622417222cd2fe43e53d5b7ce3e8051e416952464d +- name: v1.24.17/bin/linux/arm64/kube-log-runner + sha256: b54f4ed74a47797e02b51266de1ff87c64eae3745f236057f1a5d92fa43a0f62 +- name: v1.24.17/bin/linux/arm64/kube-proxy + sha256: df7173fef6ed86c1d776898b83c0148928c7b6a146304111d17d2c3497eda172 +- name: v1.24.17/bin/linux/arm64/kube-proxy.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/arm64/kube-proxy.tar + sha256: 4e7d53a4ab6201c619484be9692229419e9bf8a93d5b5c0bbf7cc69bc8a790fa +- name: v1.24.17/bin/linux/arm64/kube-scheduler + sha256: 6cf8ae89e4f777df6d330ec755a8972ffdec28243513711b71063eb0e8ff4fdf +- name: v1.24.17/bin/linux/arm64/kube-scheduler.docker_tag + sha256: 92969c8802c0bcabebb3fc8a117a41bb1a383ac3a1c3d71e18e39098d8fea2e9 +- name: v1.24.17/bin/linux/arm64/kube-scheduler.tar + sha256: 4ae7812152bd6bfd303abe12b833ec44033a960ef02d110148c2ebf28dee32a6 +- name: v1.24.17/bin/linux/arm64/kubeadm + sha256: 1d484faddd1b789c67cdadb315d53250d9906e5b727c9254131c01b2f8f17beb +- name: v1.24.17/bin/linux/arm64/kubectl + sha256: 66885bda3a202546778c77f0b66dcf7f576b5a49ff9456acf61329da784a602d +- name: v1.24.17/bin/linux/arm64/kubectl-convert + sha256: cfc733d10193f887ffefbada494f9734c084df947269db3cb249c2a06a69a965 +- name: v1.24.17/bin/linux/arm64/kubelet + sha256: dc83bc7a47715f1fa29ea7f1e1d13e3626a8bfbe3a6793d8cb97273289fe9bba +- name: v1.24.17/bin/linux/arm64/mounter + sha256: eee629ce9443b9dd57e47cbca163ebd8e156cf11e0880d905b976296810ec55f +- name: v1.24.17/kubernetes-release.spdx + sha256: 78f6454e018213006313ffdc4713d63cbd1e160f9dbf84240366c2ce1ec437a7 +- name: v1.24.17/kubernetes-source.spdx + sha256: bd288ea8af006ce0581b55f3f25a40d279e24276bf54e5a637ee2cca8e752202 diff --git a/pkg/assets/assetdata/k8s-1.25.yaml b/pkg/assets/assetdata/k8s-1.25.yaml index 0d55e6b20aa0b..37d0c7fa07740 100644 --- a/pkg/assets/assetdata/k8s-1.25.yaml +++ b/pkg/assets/assetdata/k8s-1.25.yaml @@ -1556,3 +1556,100 @@ files: sha256: e6e3d6c49279b2b97b3447ce262ff3ce142a0e2b7b0d8eb2156b140fcf06b687 - name: v1.25.15/kubernetes-source.spdx sha256: 86c51af4c39254848e8ab4a0e6292de20c4513c36fab3ca00fc0cafaab48da90 +# kubernetes 1.25.16 +- name: v1.25.16/bin/darwin/amd64/kubectl + sha256: 34e87fdf0613502edbd2a2b00de5ee8c7789ab10e33257d14423dc6879321920 +- name: v1.25.16/bin/darwin/amd64/kubectl-convert + sha256: a91a6d8a8d12984876518b72e2f3412b89b162d7539a5ee6c9a16e7027d9c5ae +- name: v1.25.16/bin/darwin/arm64/kubectl + sha256: d364f73df218b02642d06f3fa9b7345d64c03567b96ca21d361b487f48a33ccc +- name: v1.25.16/bin/darwin/arm64/kubectl-convert + sha256: a334e7d78e6a0ad48cab54a70347b727bf01f2da5eb1b0d0f55a3953c2cd2ee8 +- name: v1.25.16/bin/linux/386/kubectl + sha256: fc402605202b90c8fe4461ec57ce444c1e6f4eeec8d8713bc9bd13c836750c2d +- name: v1.25.16/bin/linux/386/kubectl-convert + sha256: 90bd36fc98aa95f9f95c58dbb1a3f06a0b8c815b436a0effc635666c6469e92b +- name: v1.25.16/bin/linux/amd64/apiextensions-apiserver + sha256: 8a40ed7a2da5407d43e7379327f6ba9c4afce784d7bcc38a31181a4bb44a4d63 +- name: v1.25.16/bin/linux/amd64/kube-aggregator + sha256: d47663a21e983e113c62c4e1f53a831a8ce260c00ee1ce10772f5f970d6618d0 +- name: v1.25.16/bin/linux/amd64/kube-apiserver + sha256: ed78a3575f238061f8602f1f0f6f2097499c855390c7af4bcb7530bcc8a1ec82 +- name: v1.25.16/bin/linux/amd64/kube-apiserver.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/amd64/kube-apiserver.tar + sha256: 6002cf0d62fcbb0ab1c526a2efe1aa5de3bd3f220ffcbc160e442efbccc62a95 +- name: v1.25.16/bin/linux/amd64/kube-controller-manager + sha256: e22f880e14233ad056699de1ea65f0e9cf94ac0391ad9342228be78feac646b4 +- name: v1.25.16/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/amd64/kube-controller-manager.tar + sha256: 41ead11c6cf132bcdbf1fce92a2758b4a2103f81475863f51805b74613f31d08 +- name: v1.25.16/bin/linux/amd64/kube-log-runner + sha256: 1c2102e73829c1f8f4be7d62c706b14f11aba91ff7e784f693ea409a73d6e8e1 +- name: v1.25.16/bin/linux/amd64/kube-proxy + sha256: 1e42e209c389c2f24665f986d0bba931ba00c066dcd0baea2d4baf62288b7b9c +- name: v1.25.16/bin/linux/amd64/kube-proxy.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/amd64/kube-proxy.tar + sha256: 8a245fee7e05e220723d98b6f762e5deaec33ae34c5634f193632eb077a16a21 +- name: v1.25.16/bin/linux/amd64/kube-scheduler + sha256: 9b6bd6fe686d8c6121b8c370edf5e2d00f54809f73403af32297d83215e4181e +- name: v1.25.16/bin/linux/amd64/kube-scheduler.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/amd64/kube-scheduler.tar + sha256: a14f440c8c22688b259d262d04a64b831f0a5811e2b01f499c8fac8b848b4af7 +- name: v1.25.16/bin/linux/amd64/kubeadm + sha256: 11c70502ac5bad303b5b4103b9eb5b2a83376cf6a1bce878b6018c6ca44a7d6e +- name: v1.25.16/bin/linux/amd64/kubectl + sha256: 5a9bc1d3ebfc7f6f812042d5f97b82730f2bdda47634b67bddf36ed23819ab17 +- name: v1.25.16/bin/linux/amd64/kubectl-convert + sha256: f0f3db15a1c5107c032edad1b72a25c5bd584548ad2627d7be396d5c191e7599 +- name: v1.25.16/bin/linux/amd64/kubelet + sha256: b159f4b0ce7987385902faf6b97530489a6340d728a9688c5791d8d18144b4b7 +- name: v1.25.16/bin/linux/amd64/mounter + sha256: d4db60a86ce606a43c85f0b34a7fc16a4f7413d22a4227560e42ae3967099dad +- name: v1.25.16/bin/linux/arm64/apiextensions-apiserver + sha256: 43fdae4029ff69a0c7bd1cab09107e367aeb40c2debffd674e64db9ae28b4afb +- name: v1.25.16/bin/linux/arm64/kube-aggregator + sha256: a7eb1535fc33d1f8a5554f198e5669d9fd173b686689398c6b8f3f0a3637542c +- name: v1.25.16/bin/linux/arm64/kube-apiserver + sha256: bb7a54deeda14d113fe9ef04412dfa70ed1c81283da118d367c224546d8d0d5f +- name: v1.25.16/bin/linux/arm64/kube-apiserver.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/arm64/kube-apiserver.tar + sha256: afbc4d5847c422277546e96d62f1e459864e910e1dad077d43d3e7f9501e46d6 +- name: v1.25.16/bin/linux/arm64/kube-controller-manager + sha256: a2cc5e2ce6bccc692dfea1278d0437ae2abf4532f707726701047cc5be89a9d3 +- name: v1.25.16/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/arm64/kube-controller-manager.tar + sha256: ab3a272dfd688b660a49139f38bf9c96d8afe26647bc787546032b935ee9d3f6 +- name: v1.25.16/bin/linux/arm64/kube-log-runner + sha256: 90e2e6207ca963af538c9e6bdd60efe6201bd0d59f183ac35ba0ba5057251b9a +- name: v1.25.16/bin/linux/arm64/kube-proxy + sha256: 0d180ce4259200319d58c802e0dd336627665511f5e6017df59596486b5c5ff0 +- name: v1.25.16/bin/linux/arm64/kube-proxy.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/arm64/kube-proxy.tar + sha256: d2ebd32194eee7973de03139ec5e339205f3366bdeb884a4ad20e89fe8c415a4 +- name: v1.25.16/bin/linux/arm64/kube-scheduler + sha256: d9cfbad115d9118ff353e8882c621eb213e1fedd65d0fb7df0c39700214287a7 +- name: v1.25.16/bin/linux/arm64/kube-scheduler.docker_tag + sha256: b9e46e7e6810dc6e288be45503d778aa48dd64fd805f91e8ee20f5319aabec6c +- name: v1.25.16/bin/linux/arm64/kube-scheduler.tar + sha256: 14e3a028a84d64cc4aeed966c32a5efdee0771d949370ee3575418859d623408 +- name: v1.25.16/bin/linux/arm64/kubeadm + sha256: 55cc8e3c5985858b9f683bf6c7352d76f073d3dc136f450e8761c0ed7092c0f3 +- name: v1.25.16/bin/linux/arm64/kubectl + sha256: d6c23c80828092f028476743638a091f2f5e8141273d5228bf06c6671ef46924 +- name: v1.25.16/bin/linux/arm64/kubectl-convert + sha256: bae6df75b4d397e6cbaf38fa46043f51b88909a1a6532a077313176e9c0279dd +- name: v1.25.16/bin/linux/arm64/kubelet + sha256: 5f379fc59db0efc288236dbd0abd32b1b0206d1c435001b9c0c3996171e20ffd +- name: v1.25.16/bin/linux/arm64/mounter + sha256: 34741a7956e5c54ccb227ee8de554c702163757a9db5963b9dd228dd9d239ef7 +- name: v1.25.16/kubernetes-release.spdx + sha256: a1acde1a9164f7cec948e375141e88167d3589167fa54c57526c095e27c44251 +- name: v1.25.16/kubernetes-source.spdx + sha256: c50966fc9a676330b1c85f4a21440f676550419959dd2dd2798e78f2b14676d8 diff --git a/pkg/assets/assetdata/k8s-1.26.yaml b/pkg/assets/assetdata/k8s-1.26.yaml index 462f9b4271ec1..c791ff5582196 100644 --- a/pkg/assets/assetdata/k8s-1.26.yaml +++ b/pkg/assets/assetdata/k8s-1.26.yaml @@ -1459,3 +1459,100 @@ files: sha256: daf52d99a2dbaad95f670bbf3566091bf7f1bad80861ca5fb3bf964e961886c5 - name: v1.26.14/kubernetes-source.spdx sha256: 1111e203ea2dcfd3deed9ebbfffd2a7379624ab42d3662d0f293455c6f0ffad6 +# kubernetes 1.26.15 +- name: v1.26.15/bin/darwin/amd64/kubectl + sha256: ad4e980f9c304840ec9227a78a998e132ea23f3ca1bc0df7718ed160341bad0b +- name: v1.26.15/bin/darwin/amd64/kubectl-convert + sha256: 14fadcebeee205967b7546be2680c463de8ad9ad701f8762c7829007428aa42e +- name: v1.26.15/bin/darwin/arm64/kubectl + sha256: c20b920d7e8e3ce3209c7c109fcfc4c09ad599613bc04b72c3f70d9fee598b68 +- name: v1.26.15/bin/darwin/arm64/kubectl-convert + sha256: 3068f54693737ad0a9b1c2b17873e87d5d927876e7ad8f998141357f9bc5f633 +- name: v1.26.15/bin/linux/386/kubectl + sha256: 5522ebc742d12e12ac616ccc5c33d15db952ad3b5c63724841209bc0acf6578d +- name: v1.26.15/bin/linux/386/kubectl-convert + sha256: aa56734619ab3239ae2c7b94bf9dfeae2a99a996a4adfc4850df3ff531a70dc9 +- name: v1.26.15/bin/linux/amd64/apiextensions-apiserver + sha256: f1e3b3d29ebb834d95554c27d2c48745665d8e89ff42781f9ffd519101773826 +- name: v1.26.15/bin/linux/amd64/kube-aggregator + sha256: 714356703264bcf02ee4991a9847476aedce167ede30bf6fe7a5016a60cfcf2d +- name: v1.26.15/bin/linux/amd64/kube-apiserver + sha256: 678d12bccc05b62939a6b88d0f259e74b0a8f89a948683fa8384ed45f96ecb36 +- name: v1.26.15/bin/linux/amd64/kube-apiserver.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/amd64/kube-apiserver.tar + sha256: 03f7cfbbf4fcdcc587b9dd0ed233a52d033d2d0d1a48a2bdf74fcd8c13a4222e +- name: v1.26.15/bin/linux/amd64/kube-controller-manager + sha256: c28537f358853704a8f81ae295d8fe16cb9f5708a45395a8f03df35f8afc37b1 +- name: v1.26.15/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/amd64/kube-controller-manager.tar + sha256: ea38cb930791e9064571ecbd32ee81fb43fb1ff24b11100cdf8ac05fce644e73 +- name: v1.26.15/bin/linux/amd64/kube-log-runner + sha256: a5df27dd50e3cda5e0dcc70589968184948945f42c6156f2040c3c1ad03c5db8 +- name: v1.26.15/bin/linux/amd64/kube-proxy + sha256: eeb52b9c27b368b14e078720be5fc7f6c203469ce49b89bbfa60164965afc74f +- name: v1.26.15/bin/linux/amd64/kube-proxy.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/amd64/kube-proxy.tar + sha256: 916220ee9be1b0d795c8d67c8d651b10c2bf062f7e54b51c92aaeb85c3b2ddda +- name: v1.26.15/bin/linux/amd64/kube-scheduler + sha256: 6a48bed17b490ae94fa17738523422f1d541c405a5f308225d46962c6d7351cc +- name: v1.26.15/bin/linux/amd64/kube-scheduler.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/amd64/kube-scheduler.tar + sha256: 54af7a5b73de2c33918871ab856e914ef220bf4c34a2c065f6403287d9862471 +- name: v1.26.15/bin/linux/amd64/kubeadm + sha256: 7e0f5bd34ddc6fac932cf9a137c57ade150ec53f9558d693e336ed9948d6ba76 +- name: v1.26.15/bin/linux/amd64/kubectl + sha256: b75f359e6fad3cdbf05a0ee9d5872c43383683bb8527a9e078bb5b8a44350a41 +- name: v1.26.15/bin/linux/amd64/kubectl-convert + sha256: f2c0018e9532ca51964f55f8e8fcb15dc038042f5ba84a163b08528b1282e2f7 +- name: v1.26.15/bin/linux/amd64/kubelet + sha256: 20db3c21d8e7215a581e48393be5b924267f1bb82ac69e22bd701a10df9f3974 +- name: v1.26.15/bin/linux/amd64/mounter + sha256: c835edbd8fe6f1fbd2d95d400eb6457620d761336a6b2ecf8bbe0c9952c61b5b +- name: v1.26.15/bin/linux/arm64/apiextensions-apiserver + sha256: cd190390392e8554474defdb156b3a5d3163b76cecb9c4e98b0b8dca0b1e80a8 +- name: v1.26.15/bin/linux/arm64/kube-aggregator + sha256: ae42919851062832866b8cba58177a8eecafef4d9e9283ff1cf75185eb2b2bca +- name: v1.26.15/bin/linux/arm64/kube-apiserver + sha256: 01c28100b8c6525d86ad108db95bf84b3190cfc721f882487d12d4eedab44dc1 +- name: v1.26.15/bin/linux/arm64/kube-apiserver.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/arm64/kube-apiserver.tar + sha256: 7ecd9095d604e18c5fb331f6dac671061089649277070a23a20bcf55aacae6d9 +- name: v1.26.15/bin/linux/arm64/kube-controller-manager + sha256: 2eb867bac54b008ed3c82712ca18439bf489c4415d1d4dc4f0180e4f36f6139b +- name: v1.26.15/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/arm64/kube-controller-manager.tar + sha256: 077efeb0efec1edcc2e2b896da6194c6b6a577d5fc33442e0fe68b621e15f072 +- name: v1.26.15/bin/linux/arm64/kube-log-runner + sha256: be0764213a3905a02a3de81a5258a1247bcde23b97531179327f5511eb694815 +- name: v1.26.15/bin/linux/arm64/kube-proxy + sha256: ddfd38ea10b7874897d551495b32daf44ca6faaf987752fbf97239f85845ad21 +- name: v1.26.15/bin/linux/arm64/kube-proxy.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/arm64/kube-proxy.tar + sha256: 9b59fde21fbed04f74f936eaf4fce63956c739050871c4bda3d62b3a1c14d2c1 +- name: v1.26.15/bin/linux/arm64/kube-scheduler + sha256: 578e17236a1aae8b6c11a919013a3ab8d40afeef16e2c823299b5e59363851aa +- name: v1.26.15/bin/linux/arm64/kube-scheduler.docker_tag + sha256: fa944786bbc3f02d583c2ec221039346bbf782208f8850634690d1f82c8aefb7 +- name: v1.26.15/bin/linux/arm64/kube-scheduler.tar + sha256: 47d72ddd6223e1e43d6fdaa37807baac7c48fcfc01fac5dc6c95841fd76851f4 +- name: v1.26.15/bin/linux/arm64/kubeadm + sha256: 881a76cc98da0fe91394cb26f909186d0dcbf378262d11803ccf76f2a84a9039 +- name: v1.26.15/bin/linux/arm64/kubectl + sha256: 1396313f0f8e84ab1879757797992f1af043e1050283532e0fd8469902632216 +- name: v1.26.15/bin/linux/arm64/kubectl-convert + sha256: f7e7fee8402bd5d19e85d8b4a75bb8528c47ab88aff8e2dbf998b5d4ba88b810 +- name: v1.26.15/bin/linux/arm64/kubelet + sha256: 4de64168aa08fe2149ec4a29cfaa683947a8ad866090aaf2c75336ce547b85b0 +- name: v1.26.15/bin/linux/arm64/mounter + sha256: a181bd30aace153710639b537b9e9826da69a2ac5a8ad26d0adeff380e13a804 +- name: v1.26.15/kubernetes-release.spdx + sha256: 786d5c7e452de913b985f9c0cddb9293a3d6d8b417f9c6d166989e61568ce837 +- name: v1.26.15/kubernetes-source.spdx + sha256: 840d3227c4870b332517ba86c316de084bdd3f5fe77aa6a40433006ddaa60523 diff --git a/pkg/assets/assetdata/k8s-1.27.yaml b/pkg/assets/assetdata/k8s-1.27.yaml index ddaa4c8f137b2..3b7ddb0691087 100644 --- a/pkg/assets/assetdata/k8s-1.27.yaml +++ b/pkg/assets/assetdata/k8s-1.27.yaml @@ -1168,3 +1168,197 @@ files: sha256: 4646c6595a2def16f3451f27f93023006edb9e8dd204c3524434cbef6fbfef8f - name: v1.27.11/kubernetes-source.spdx sha256: 00afb60ac7bc600d3c86a098d778172ba8d265e93996f125907c619cd39f2bea +# kubernetes 1.27.12 +- name: v1.27.12/bin/darwin/amd64/kubectl + sha256: bb4cb346b20fdb40a20f6f55c527974f5e5f2eb7bcf7950c545ac6d65f00eeaf +- name: v1.27.12/bin/darwin/amd64/kubectl-convert + sha256: 4c56a869c778a9d5e16dd4038c5b9572ec89d14fe7294fde2110a83385bcffdb +- name: v1.27.12/bin/darwin/arm64/kubectl + sha256: ad6191bca8a725596ec67181c1c541ab919f87444ed149ed0b1cf30a28a6d1bf +- name: v1.27.12/bin/darwin/arm64/kubectl-convert + sha256: 15e7bb1c2ddf2a10100ee50450579b23b392b769903dd6889bad4e3b3a8170b5 +- name: v1.27.12/bin/linux/386/kubectl + sha256: bff8f2ae918cdf244abe020c601e770200bd06700e2ed68952846c4d637feb82 +- name: v1.27.12/bin/linux/386/kubectl-convert + sha256: b6f3587cd89d742c416dd5d50790a09fb5fa74ed65f76cd638f9fdb478b5a327 +- name: v1.27.12/bin/linux/amd64/apiextensions-apiserver + sha256: 7a7d2e862d4f5cb102265f18aea9ab8ba26ec78b2394c9102ae04c5528d5fbfc +- name: v1.27.12/bin/linux/amd64/kube-aggregator + sha256: 6b85c6aa3d104599ce7e229f8c785bd1894a25773e889dd63dc28cb5e2f0cd40 +- name: v1.27.12/bin/linux/amd64/kube-apiserver + sha256: 7bcd89a3e0f4dea0f2c3148759a18f71267e508c47109c731422a0d959f22852 +- name: v1.27.12/bin/linux/amd64/kube-apiserver.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/amd64/kube-apiserver.tar + sha256: cf65348a11aba99e7c768c24298f5793412f227e6a34979843e11b2ab6948f91 +- name: v1.27.12/bin/linux/amd64/kube-controller-manager + sha256: dbb9e0eecfc8205a5d5d754ae2a491708c15ba65d36d5a8e70fabe63e8648424 +- name: v1.27.12/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/amd64/kube-controller-manager.tar + sha256: 48b96dec18a6c0bfa86325b6703de5474810cc5e63d0183b0f3517e8b42228e4 +- name: v1.27.12/bin/linux/amd64/kube-log-runner + sha256: 1f1e0b4617ad04fd408b7a76442b87e2c940b61652192d8a69883495694ac900 +- name: v1.27.12/bin/linux/amd64/kube-proxy + sha256: c12d70708c68d8819dbcb3dc569d0b2d9e876130d4ba2c594509d02b5d82f619 +- name: v1.27.12/bin/linux/amd64/kube-proxy.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/amd64/kube-proxy.tar + sha256: 393d1f0e2edfd8f95cbd7ddbf34897817d9ea040b7bff420ca3154189b215c2e +- name: v1.27.12/bin/linux/amd64/kube-scheduler + sha256: 0221a56b98803ddad3cfff722deb742b3fb697df42ac442b58a0f614abae4f52 +- name: v1.27.12/bin/linux/amd64/kube-scheduler.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/amd64/kube-scheduler.tar + sha256: 29517a962d66aef3f02ea96cead4d7a57059e09706a4d2d53a5aaee2478598b0 +- name: v1.27.12/bin/linux/amd64/kubeadm + sha256: 06ee36cc80cfdfc01c937d750783d3ca6169a3da76382c7af3dd172d9f6bfa4e +- name: v1.27.12/bin/linux/amd64/kubectl + sha256: d639eda39be2dce42fbec21e038942ab5734541715e3ea5fb29c9ad76686bd7f +- name: v1.27.12/bin/linux/amd64/kubectl-convert + sha256: dec3650fdd6ed74dacc73b647432f9817e7d81e65e0a3328c04adebea026b96c +- name: v1.27.12/bin/linux/amd64/kubelet + sha256: aae861a21913c274228ccdad1609b370e5198c9f4b39b8924b20a7ffe7f148e0 +- name: v1.27.12/bin/linux/amd64/mounter + sha256: cffdb89f07c8a6b5f2afd7b096af01cb2a14f84330cf793b5feae1a3d69277d6 +- name: v1.27.12/bin/linux/arm64/apiextensions-apiserver + sha256: 5fd8a9941745e4ff7dfcd4a09547754041668f037b7280b05a6c56861f6de0ac +- name: v1.27.12/bin/linux/arm64/kube-aggregator + sha256: 0bc32e26a319adb65444f46e89b0d296523637be9cd7a55e85948990260c701c +- name: v1.27.12/bin/linux/arm64/kube-apiserver + sha256: f8281ef811a70b5bb97d4ae267c9fda7749c9edfafb6e45afecca994f5edeb75 +- name: v1.27.12/bin/linux/arm64/kube-apiserver.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/arm64/kube-apiserver.tar + sha256: 4ccc9baba8cf869f7a870b3511db719701918a2660406c09c6b2aa09e4b0ec34 +- name: v1.27.12/bin/linux/arm64/kube-controller-manager + sha256: 93ed31fc2efffde1f916e7108bcda16cbdf450855da5993182ddcf4d88d2d292 +- name: v1.27.12/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/arm64/kube-controller-manager.tar + sha256: 3ea5d8b11bb3f0bd2956d587b68913af62e5870e9e29a6e69014e427767fd982 +- name: v1.27.12/bin/linux/arm64/kube-log-runner + sha256: de7e400ffba205718b1129ecd2b37e3c6ec00adeadf103a1e39129274ea3f119 +- name: v1.27.12/bin/linux/arm64/kube-proxy + sha256: 4215d48faab6c17cc8ae581d748dd4b6cac0b208c311af042cba504af1380223 +- name: v1.27.12/bin/linux/arm64/kube-proxy.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/arm64/kube-proxy.tar + sha256: 0537d692635ee878539f4d678526dbd459bafbd340ecacc4ef0d3b7dde728271 +- name: v1.27.12/bin/linux/arm64/kube-scheduler + sha256: 708f334d7eadc1c4a2d854a2f331c59a538b86c846753eb8e4c03522176eba30 +- name: v1.27.12/bin/linux/arm64/kube-scheduler.docker_tag + sha256: e7c0d1b99ada69614fc13bcfb368a3bddfe2cdd93f6426179be3f36663567203 +- name: v1.27.12/bin/linux/arm64/kube-scheduler.tar + sha256: 2b4c5e1ae3de84e5f93c25ee19779d4154d60d1d08aee7d354b6347d03e01b28 +- name: v1.27.12/bin/linux/arm64/kubeadm + sha256: e74d47c14b5a251cff961dcce92cd632abcfd0fba4a07e78f0a5a5b2796e4b84 +- name: v1.27.12/bin/linux/arm64/kubectl + sha256: bfc6cb71041ebc0f048402988eccc107cfff2b866c864231c9ada05ab328e5bf +- name: v1.27.12/bin/linux/arm64/kubectl-convert + sha256: 0ec6a7ed22e99725522022126d5c16afc0615cba5d9f362a76779437cdb22817 +- name: v1.27.12/bin/linux/arm64/kubelet + sha256: 0d7d2d25c8b909d6cec7c1c2a5bfe51428ec33eaa5e8b209c718b77983e9dcba +- name: v1.27.12/bin/linux/arm64/mounter + sha256: 94d7bed9e8358c5c57d355273022e97c139b5a9847f489cb38630072c5b2269d +- name: v1.27.12/kubernetes-release.spdx + sha256: 964a9e521278f9d2c9ae0eb18dafce43582d0ebe2ec3504eb53c99ad2de30629 +- name: v1.27.12/kubernetes-source.spdx + sha256: 4b0a9319351c548d1e64337e39979cd4b5ed51219f7331c893d71131f2b072fb +# kubernetes 1.27.13 +- name: v1.27.13/bin/darwin/amd64/kubectl + sha256: 7f39c78f21b1181638789253b8d19a8ae93d2e57152f20c9a672a45927b7c501 +- name: v1.27.13/bin/darwin/amd64/kubectl-convert + sha256: 6c6d771e4306f944efe45634b9739464bc2e190e1f61fd7cbfa1915c5d1be88a +- name: v1.27.13/bin/darwin/arm64/kubectl + sha256: 959cb92818559ed81ac9260e83211f7075a19e4856b2f37a09f4ccf37d379e6e +- name: v1.27.13/bin/darwin/arm64/kubectl-convert + sha256: c43d981ea9edd91428d62e5662b1dd01c74934684895690e10f888b361d6d050 +- name: v1.27.13/bin/linux/386/kubectl + sha256: ca654a9ff05fcfb9408d6a7dae8bbdd237920c2aa863773bfb4a1c69b3d1751e +- name: v1.27.13/bin/linux/386/kubectl-convert + sha256: 7636a8e8d1b8e6ac9f80e24a1681be8d7e0306577b61a483e0ee740bc83b87fb +- name: v1.27.13/bin/linux/amd64/apiextensions-apiserver + sha256: a0bd58ff4e4c60b2065bbd345bac3deacbfd2620aec87aa1a68156082b500273 +- name: v1.27.13/bin/linux/amd64/kube-aggregator + sha256: 0481e7e20fd9de179d504128cd47aa9121598465869d35bd6fcd2c42a53cfd41 +- name: v1.27.13/bin/linux/amd64/kube-apiserver + sha256: c893071cc87a35e85cc3719daf53d3acbac36b911c170108db4a1cba4dbce7a2 +- name: v1.27.13/bin/linux/amd64/kube-apiserver.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/amd64/kube-apiserver.tar + sha256: 0618693cd212bfac4996a1027c43f853de148d48c6f07aed44208cc15f4c43e0 +- name: v1.27.13/bin/linux/amd64/kube-controller-manager + sha256: 633d79e1b543f4cb51dc038a9f253ed3e1b8267ae6bab78b50b430f02f8c9196 +- name: v1.27.13/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/amd64/kube-controller-manager.tar + sha256: 3d2a0e7ccd14aec5c47f41bd00f83d5e57887c809482c2676baf9b9e2193fe38 +- name: v1.27.13/bin/linux/amd64/kube-log-runner + sha256: e5fadc3274e7be50d9ed2047c568e24ee9f1023070a34336af4e92cadd1e1329 +- name: v1.27.13/bin/linux/amd64/kube-proxy + sha256: 3b1c38f3af95f68a840319b6002719f12f2f23ad7a924ac962182aa232f44d89 +- name: v1.27.13/bin/linux/amd64/kube-proxy.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/amd64/kube-proxy.tar + sha256: 0310561b64aa425c93be070d6bce5e3f4941a47bac7eda9d3229529137692ee9 +- name: v1.27.13/bin/linux/amd64/kube-scheduler + sha256: ee6263f19c706f56676c698b2c1ddad615d770898e588e7a222ea991e77eaf8c +- name: v1.27.13/bin/linux/amd64/kube-scheduler.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/amd64/kube-scheduler.tar + sha256: 59704f83c35f5bdbc8b899259b372298272498f3fd8be8270fbab06136ae0d6a +- name: v1.27.13/bin/linux/amd64/kubeadm + sha256: b88c30b7067f095b7fa02c5560cc50d6e69a5a9fecc606ef477dc7efc86453b9 +- name: v1.27.13/bin/linux/amd64/kubectl + sha256: e991f163197cbd85bbff22f656a74d48b69db5addfa43cc04cca0cf5328f57f1 +- name: v1.27.13/bin/linux/amd64/kubectl-convert + sha256: 71006a6a89738cb246755c05a52ed874edc6ab6bbfbf0f9807bd1ada4f7abbcb +- name: v1.27.13/bin/linux/amd64/kubelet + sha256: ed68df2a77f3057ab47f57eacb6e9310e91731e4f43c58a3c3b5c857d78d0080 +- name: v1.27.13/bin/linux/amd64/mounter + sha256: eb12327d4d520aaab4a70e433a6cbf7cd12634d48a804220809c730327773269 +- name: v1.27.13/bin/linux/arm64/apiextensions-apiserver + sha256: 3d8c6fd107e34a6dea9ea2d73f47ccf7abbd02615b8cfcd5e1f311803c5a2449 +- name: v1.27.13/bin/linux/arm64/kube-aggregator + sha256: bc58d290486f060c2a529668af262ce1905a1f43ff24e5e8ce57e54a4a76b6b5 +- name: v1.27.13/bin/linux/arm64/kube-apiserver + sha256: b59e0978eca381dfaddec83ade254ef2c00ce8b3a47fc3caa39452194343e093 +- name: v1.27.13/bin/linux/arm64/kube-apiserver.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/arm64/kube-apiserver.tar + sha256: e6bb6a44460f0fdde87a25cd6a14d4294546be2b39e269dfd4004550c3591e43 +- name: v1.27.13/bin/linux/arm64/kube-controller-manager + sha256: 4afd7df70d894574682e048f9323c0df4c1a3d03669671ff13842f3b633d3e10 +- name: v1.27.13/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/arm64/kube-controller-manager.tar + sha256: e3d5ddf0c1a3292ff6d900fe886959e79b2008390cafe1261d58e72876a74d18 +- name: v1.27.13/bin/linux/arm64/kube-log-runner + sha256: f6766a609f695b34a249a449299e1b8e002e87cec0e9f9ebaa85bb5746ecb1df +- name: v1.27.13/bin/linux/arm64/kube-proxy + sha256: 31dab5ef8e4160a43ab573e47ec78fec0bd3383ec128c60783b11d64b6942a88 +- name: v1.27.13/bin/linux/arm64/kube-proxy.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/arm64/kube-proxy.tar + sha256: 1a387b8294b4d7250c02b55593f396e90a3a26e36ba03b9fc8b9a48196e3d63d +- name: v1.27.13/bin/linux/arm64/kube-scheduler + sha256: 7c0cce53bfb90ba3326648fe938c7c74bef173488f0d52b3f21759f22fa47cfd +- name: v1.27.13/bin/linux/arm64/kube-scheduler.docker_tag + sha256: c46f3cbd5c675eb78035dd8d78b5c3f9a1907a99f0456e7b55a841f6f057dd55 +- name: v1.27.13/bin/linux/arm64/kube-scheduler.tar + sha256: 22845273722c5e8c7400fd18e0e2306c14a6b6704ef76f5e1cdfdae3b9613008 +- name: v1.27.13/bin/linux/arm64/kubeadm + sha256: f334ba0612fada50e98a7ea56b686b35c22f0e3243ec2210f2a6a87e841a139f +- name: v1.27.13/bin/linux/arm64/kubectl + sha256: 4838ad8f3902c928f6139d69eba962b1cc2471511c828885650d728d970594d1 +- name: v1.27.13/bin/linux/arm64/kubectl-convert + sha256: cd58adba8fddee3c8b2f9ed8bae10d582223934496ff4d791cf1e24069a72134 +- name: v1.27.13/bin/linux/arm64/kubelet + sha256: d7bfb14d0b0fc2c41074baf02617cf98589fd029fb3539ea017825e36371f19c +- name: v1.27.13/bin/linux/arm64/mounter + sha256: 24a75d659fb5ecfa2c19cf0a9abb4011e352ecfaf9ae355dac6c410fbc867a5a +- name: v1.27.13/kubernetes-release.spdx + sha256: e3f2a31e60adff5f0430e765c4a2ddcc9e068b883e9515394476574c76ea746d +- name: v1.27.13/kubernetes-source.spdx + sha256: 53fb7101380a039edf3d0e1c7c0f56b834c4bda0e22562a76a2033de3766715f diff --git a/pkg/assets/assetdata/k8s-1.28.yaml b/pkg/assets/assetdata/k8s-1.28.yaml index 0ffbed3509d94..7ce5858b6c948 100644 --- a/pkg/assets/assetdata/k8s-1.28.yaml +++ b/pkg/assets/assetdata/k8s-1.28.yaml @@ -844,3 +844,213 @@ files: sha256: 5e9b68fae70eaa95d14304cb3fc5f00aa0ba6a317d82b75da6aa84ae60690ee4 - name: v1.28.7/kubernetes-source.spdx sha256: 31c7e3e216e7cc5c8eb9210b9980c3913da55a240003c60e7a57a8f620cfe36f +# kubernetes 1.28.8 +- name: v1.28.8/bin/darwin/amd64/kubectl + sha256: 959acd160b2c858c08426c64f533e768581182428bf9afd6965e1d0f37909b16 +- name: v1.28.8/bin/darwin/amd64/kubectl-convert + sha256: f0e8469497f0597d466002e01a77dba9d20abbd5bb371dbec3f3b979cbfcbdf4 +- name: v1.28.8/bin/darwin/arm64/kubectl + sha256: 280b9ad125bb648ef81839349e2b921db6d674cc153b3c6116d65383260aeae5 +- name: v1.28.8/bin/darwin/arm64/kubectl-convert + sha256: 4782890b85961dc635ce1900eb21d1cfe6d7899e895b4d05857ee9ad5d948a2d +- name: v1.28.8/bin/linux/386/kubectl + sha256: 9f838e7a362883e59d81326dd5c12bfa0a4b84d93bb0951f42ec791cf43014df +- name: v1.28.8/bin/linux/386/kubectl-convert + sha256: 4d50fb8c25651c48404fcfb27a6ba679aa15e57221fe4448fe80f011e42c4033 +- name: v1.28.8/bin/linux/amd64/apiextensions-apiserver + sha256: ce382f17cb65d4905e2eed69c04c2acc838a614578affa0c26031fa363834552 +- name: v1.28.8/bin/linux/amd64/kube-aggregator + sha256: 77964336af70db35ef3d3b09ec2440235e9a329b866c8b53668b587b450365cd +- name: v1.28.8/bin/linux/amd64/kube-apiserver + sha256: 806948e92bd457df2a8939288d5cf8ae16417c773e1cd775af76bdd49c8c5515 +- name: v1.28.8/bin/linux/amd64/kube-apiserver.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/amd64/kube-apiserver.tar + sha256: 63948c8c6aea5e1e4d6c1f8c2d77927c3250449510f4d19430db21c9cec2e910 +- name: v1.28.8/bin/linux/amd64/kube-controller-manager + sha256: b0eeb001fb88a12c3dba2e018bb456b3755b1f37d959915085f42adfba0e7b7a +- name: v1.28.8/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/amd64/kube-controller-manager.tar + sha256: a9695b6093cd8a72fb84314ca8a8a5e079ac6bffb8a078a08a159c43d624f125 +- name: v1.28.8/bin/linux/amd64/kube-log-runner + sha256: efa94f04e01c57a0734a55250838fd66051d1a9cae740a023e396634024cb275 +- name: v1.28.8/bin/linux/amd64/kube-proxy + sha256: d5173215724ceff91fbe4b6e578eb8eb3c4ad8a7d9c5d4acef63c8656a037dc8 +- name: v1.28.8/bin/linux/amd64/kube-proxy.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/amd64/kube-proxy.tar + sha256: 99ca70d5d604b715ad2cf8d3a9bf558a8b1df53212aa78b5e48fbdb32855fd9e +- name: v1.28.8/bin/linux/amd64/kube-scheduler + sha256: aec8a2f263073f3926820845067b8173f0fbaaa37f619eaea2447f7d743d3d96 +- name: v1.28.8/bin/linux/amd64/kube-scheduler.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/amd64/kube-scheduler.tar + sha256: 87793c7836e87ad94e0cb1daa905da2c09f18d0c631fdca4abbcc034fe29b79a +- name: v1.28.8/bin/linux/amd64/kubeadm + sha256: c11946cbfd962e1197062534514226cfd70230349e6343ff3ecebfca5476ee64 +- name: v1.28.8/bin/linux/amd64/kubectl + sha256: e02aad5c0bac52c970700b814645b62c4f18b634144398ac344875dbaf1072f8 +- name: v1.28.8/bin/linux/amd64/kubectl-convert + sha256: c5df18fa1101b8a132d0e7d958aefd19bec1d286eb68219a707d43de775046f9 +- name: v1.28.8/bin/linux/amd64/kubectl.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/amd64/kubectl.tar + sha256: a973c176948625979a0037086a627bc9c3fc313ba17cdfa90cac0ed707b22b33 +- name: v1.28.8/bin/linux/amd64/kubelet + sha256: 049b412a5861255cd3922f612acb79ab51135e166c5d80acf12fba9179eebf0c +- name: v1.28.8/bin/linux/amd64/mounter + sha256: 056bd46c62418abf8cb496b3862cfebffca81ff3c31bfcf3ff1b0489e21141cf +- name: v1.28.8/bin/linux/arm64/apiextensions-apiserver + sha256: f5161554fbfb121a6fd2d32d40f43ca99674e78184bd59429d8e7b66f96b49c0 +- name: v1.28.8/bin/linux/arm64/kube-aggregator + sha256: 671d06201060860cdb3aee6ed0a30c3d7b5d4dd0999d046a3ca29def2ece54ec +- name: v1.28.8/bin/linux/arm64/kube-apiserver + sha256: acd838174985e346c43830a67069f7409617b42e3610b8f4a16a94335552da3e +- name: v1.28.8/bin/linux/arm64/kube-apiserver.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/arm64/kube-apiserver.tar + sha256: b9e1267974a0cf53715eac97f2e5a01dfe72891abdc581dfc8b4160eeb6ba44d +- name: v1.28.8/bin/linux/arm64/kube-controller-manager + sha256: c89dec0d77800b24d593c9c92004c238f99f01a608bb9986037c6db023cb19c2 +- name: v1.28.8/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/arm64/kube-controller-manager.tar + sha256: 2defb0dc52c4c1cca097dca363a71f3e21673f83c9ce00dca0980b99bdebec3f +- name: v1.28.8/bin/linux/arm64/kube-log-runner + sha256: cb24ed0db3314d86e7325b5f8a89b646c6bb9efc85ca15c050871d4e22e4c0cf +- name: v1.28.8/bin/linux/arm64/kube-proxy + sha256: 9de85012ba9a8f5139706b591658fffc2e6d5147f3310ce3b0fb356dcbc311cc +- name: v1.28.8/bin/linux/arm64/kube-proxy.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/arm64/kube-proxy.tar + sha256: 7cd43cc491c431c68d69653f7fb8efa19178fb3ea24f2356a574b16ccd21f5e1 +- name: v1.28.8/bin/linux/arm64/kube-scheduler + sha256: a82d5095e0ca4b9adeb3f5a15654505128ec9838698273be47ae063d8d66a632 +- name: v1.28.8/bin/linux/arm64/kube-scheduler.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/arm64/kube-scheduler.tar + sha256: 0a75121d976747d177f88fa3e9737505942902a0dc3ebc6d4643432e18bb7240 +- name: v1.28.8/bin/linux/arm64/kubeadm + sha256: e0f47adc69ef84e2f6c42cc341b8a790904a929ad10ed1c23c2e822ec804e247 +- name: v1.28.8/bin/linux/arm64/kubectl + sha256: 93d60dd36093b4c719f1f1bafcf59437c17cb2209341c7c94771e7dd9acdab33 +- name: v1.28.8/bin/linux/arm64/kubectl-convert + sha256: 7b0ffe3c7f7aaa35ac0228e1fc59ded186b194203f0891c54fa722c434167ce4 +- name: v1.28.8/bin/linux/arm64/kubectl.docker_tag + sha256: 834bdb13463382fed1a432a6c02ca238b63ede1d3eb0fcb38097b26a79896f19 +- name: v1.28.8/bin/linux/arm64/kubectl.tar + sha256: 4201ff688bf2e41b35a89a31deb16a5e7a0321531f8747ae9b2ec0a77bb6d041 +- name: v1.28.8/bin/linux/arm64/kubelet + sha256: 90d61f40b7bb061b0fc6d08b8b9ddae51f90863c899b098e19eaa89dc855f2c0 +- name: v1.28.8/bin/linux/arm64/mounter + sha256: 0fdc9d4d208a6d82f5169c2fb7adcb68b4bc592327bd4dd0aef7e6b38ac4a7d6 +- name: v1.28.8/kubernetes-release.spdx + sha256: e22101fc465d1748a96bda053fea257b54b63c0493f645d70b338b5753fe7c8d +- name: v1.28.8/kubernetes-source.spdx + sha256: 6b3eb33858c08c5d1748d0119b637e1a31acb029c6be765c304e2c9f70c43f13 +# kubernetes 1.28.9 +- name: v1.28.9/bin/darwin/amd64/kubectl + sha256: 99df1db1c735e7f6aceb1f53a0c8c313f51be34cda9d964b0764e96dd7275d09 +- name: v1.28.9/bin/darwin/amd64/kubectl-convert + sha256: d2a85d12784be2f1381a7ff5cfbb74e3d1cbf38d0dfce3a2ac625cca5e9897a3 +- name: v1.28.9/bin/darwin/arm64/kubectl + sha256: 48cb2db4cc76a9a3a0f5d7f4dd9bd839196b39d9726247384b91e32e6a83be94 +- name: v1.28.9/bin/darwin/arm64/kubectl-convert + sha256: c22e420d2d6b6de1709f23bb6767d58fd22b6be8b0797eeec8ecdd7211632ddc +- name: v1.28.9/bin/linux/386/kubectl + sha256: 6276afaedda301cf206e7379b61c6f9f67aa8dfd1ba0a20a996f32ca334c2df2 +- name: v1.28.9/bin/linux/386/kubectl-convert + sha256: 5826f924ab9ddcddd27c0390766f904eed6536bfa8552290305857a10c38e158 +- name: v1.28.9/bin/linux/amd64/apiextensions-apiserver + sha256: b5587db3d971f7f926dec7c76bb77581bb607de38c8d71db76d8e67f8f047265 +- name: v1.28.9/bin/linux/amd64/kube-aggregator + sha256: 5ee49ccc3f1be4db35ca1fd114907d5f01464c27957510cd6c11845789bf43a5 +- name: v1.28.9/bin/linux/amd64/kube-apiserver + sha256: 2c610d30b9247894616d4338961956667c59b68972a2a7c45169466dd9cb94d6 +- name: v1.28.9/bin/linux/amd64/kube-apiserver.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/amd64/kube-apiserver.tar + sha256: c4884836477f78a1b370a20eb8fc7d0a9fb0da250d644242bf02108a8d6d2925 +- name: v1.28.9/bin/linux/amd64/kube-controller-manager + sha256: 051f046185e4baf8e1a84eab0e33ae6e2079f6c51b85648de8e169fceb7ef7f1 +- name: v1.28.9/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/amd64/kube-controller-manager.tar + sha256: 58289664a27b0ee9b944fd97196d62ae2c17e75f637292543cfc9f3189f68488 +- name: v1.28.9/bin/linux/amd64/kube-log-runner + sha256: db46e7005239640446105187341d31d3bfec67f86df3557ee7e54e1620e146a2 +- name: v1.28.9/bin/linux/amd64/kube-proxy + sha256: 2bc4fa17e70e0fadb394c2bc25b725c3a520f19ba89c8fa22e3b76f6ca850cbe +- name: v1.28.9/bin/linux/amd64/kube-proxy.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/amd64/kube-proxy.tar + sha256: 31a58c962e7b2c0a1a4b408c9c2a71650bdd7a00a47c62a30b9f7abbcca20395 +- name: v1.28.9/bin/linux/amd64/kube-scheduler + sha256: 3190b3134a244e22dcc970cf9153b7b92db0de8980e5b288d59fe43458d0d749 +- name: v1.28.9/bin/linux/amd64/kube-scheduler.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/amd64/kube-scheduler.tar + sha256: fe546936528152203fee9f34fb6d4cd130851d7c5fc6ec72e3b3e9fae446171b +- name: v1.28.9/bin/linux/amd64/kubeadm + sha256: a4d8acf0a74cb1d07d96a1a34148f54c6420874221af16d8ec902d9bffc7ef89 +- name: v1.28.9/bin/linux/amd64/kubectl + sha256: b4693d0b22f509250694b10c7727c42b427d570af04f2065fe23a55d6c0051f1 +- name: v1.28.9/bin/linux/amd64/kubectl-convert + sha256: 123800ccb87976d5a400b17fa5bf80e90e1e27a2eace03b174d23495bbee8679 +- name: v1.28.9/bin/linux/amd64/kubectl.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/amd64/kubectl.tar + sha256: 61ed7250b9c96897a6206d85d92e5469418027c1ad86f4f2f51da41f7f206079 +- name: v1.28.9/bin/linux/amd64/kubelet + sha256: f3af46cff11c675a80d91ebb38ebc4e85a9f813ce93e56ee131e7fea1491b786 +- name: v1.28.9/bin/linux/amd64/mounter + sha256: 7e8a70d588d3d8b1a795ea2c0cf6f7cda0b9d53a0fdd09c4315914025cb75e68 +- name: v1.28.9/bin/linux/arm64/apiextensions-apiserver + sha256: cdb04eb7f0eab1ac26ea86abd803c3a0f1be74ec93af68c2f96251786a729dcf +- name: v1.28.9/bin/linux/arm64/kube-aggregator + sha256: 474c78741a84ac40dc6b0040ac8d2822865ca1f2cfdbd8858cc0711c20f6d66b +- name: v1.28.9/bin/linux/arm64/kube-apiserver + sha256: bf949010d1539eca6c88ddd04968b72472950596e8c5d15a963ece326edea74c +- name: v1.28.9/bin/linux/arm64/kube-apiserver.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/arm64/kube-apiserver.tar + sha256: 73175fff359746ec787f03052861cc88dc9b809037745b43cc6f0fff84251f0f +- name: v1.28.9/bin/linux/arm64/kube-controller-manager + sha256: 5d25a7e78e9675a9e8cc4a64ede3223e2cd935f4f58f6b224cbccdecff603b80 +- name: v1.28.9/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/arm64/kube-controller-manager.tar + sha256: 25d9a5d9b0e70ff7162f07bc155265644c1920668315baa2ddf0a83bf3d863e5 +- name: v1.28.9/bin/linux/arm64/kube-log-runner + sha256: d72aec47b06035c1d14ac339e058ac3f88b9be2b204776a894253d540b79f617 +- name: v1.28.9/bin/linux/arm64/kube-proxy + sha256: 3dcb1be85043d6531dc09e4d1b8acb8ec59d061baf6da0035b50265834a43376 +- name: v1.28.9/bin/linux/arm64/kube-proxy.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/arm64/kube-proxy.tar + sha256: 12d06480c69f609e54daf09ea24b136996423b29ecb95c668feb23091603d0e0 +- name: v1.28.9/bin/linux/arm64/kube-scheduler + sha256: 13d530bc06906a32d83b26a3c7aa2388ad833850de9f000cb1c8b70bc8c7f7bc +- name: v1.28.9/bin/linux/arm64/kube-scheduler.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/arm64/kube-scheduler.tar + sha256: 99f5fb39de1f24214ea423054cd2d4cca9f5ebe9dc6530ccca88dde9e669bb83 +- name: v1.28.9/bin/linux/arm64/kubeadm + sha256: cd6aefad8144a9771fd470529ff14be2675df7b561f7c56dee3fed4f81332dc4 +- name: v1.28.9/bin/linux/arm64/kubectl + sha256: e0341d3973213f8099e7fcbbf6d1d506967bc2b7a4faac3fb3b4340f226e9b2f +- name: v1.28.9/bin/linux/arm64/kubectl-convert + sha256: b84db8452a1c1afb65ad657dc9c22f7d7058208ca7181e5e098bde12d532568e +- name: v1.28.9/bin/linux/arm64/kubectl.docker_tag + sha256: 32192680368746e9227a60039333e369efced8806f170140d9ef9885879f06f0 +- name: v1.28.9/bin/linux/arm64/kubectl.tar + sha256: 75904f8700a7af393755782839deb49ceec694bcf7f291d430810c5682f418bf +- name: v1.28.9/bin/linux/arm64/kubelet + sha256: 312471ad255acfcdeea2c5849b171467af4518e96d69d727a3197ff334e9299d +- name: v1.28.9/bin/linux/arm64/mounter + sha256: 00ecc66b1755c09cbe06645b819e9d9f5def8442dc00b3f1a149d29319cf4634 +- name: v1.28.9/kubernetes-release.spdx + sha256: e4fbb482ef77676b693644171a9f1f8bac54ce82ebfacf883440ce4862a1873a +- name: v1.28.9/kubernetes-source.spdx + sha256: d84695cd53a8ff8b83cc60d65ca8923ab292036913b91cf9bcd064910657d089 diff --git a/pkg/assets/assetdata/k8s-1.29.yaml b/pkg/assets/assetdata/k8s-1.29.yaml index cab04f272930d..16c2b02193c41 100644 --- a/pkg/assets/assetdata/k8s-1.29.yaml +++ b/pkg/assets/assetdata/k8s-1.29.yaml @@ -319,3 +319,213 @@ files: sha256: 88bb79bfb535fa98ac12f3f519e92a2f361dd664bd923b638a53f5bd9d21d47b - name: v1.29.2/kubernetes-source.spdx sha256: dcf6b496b5736e8d5c633230cbbfb95050722ff0ad0aded3e8fc50ed4af2d9cb +# kubernetes 1.29.3 +- name: v1.29.3/bin/darwin/amd64/kubectl + sha256: 1a1f9040bce74fb28c475dc157a86565fcabf883a697ca576993ab8372935836 +- name: v1.29.3/bin/darwin/amd64/kubectl-convert + sha256: f9d827bc18747ef981eaecbb449cde1a12d6179f998afc2ed4eacfac3fe23561 +- name: v1.29.3/bin/darwin/arm64/kubectl + sha256: b54bf7a3f4d52117b79e4d4f0d7273a93cb60bad54a87f3ab35c6800243cbb8e +- name: v1.29.3/bin/darwin/arm64/kubectl-convert + sha256: d8e49fc40ee63145ac22ef2e35c4114aa250a363260c0742a1bfa5ace0b07435 +- name: v1.29.3/bin/linux/386/kubectl + sha256: 2365d1e9e720683d4e670dbca2ede2c4c598ac28eabea989be57519d83447937 +- name: v1.29.3/bin/linux/386/kubectl-convert + sha256: 05f229b4c6b744f2473f63b00187b473864e6b3666932b8ccd30081e1130dbdf +- name: v1.29.3/bin/linux/amd64/apiextensions-apiserver + sha256: 3c1d28c4749133d0c30e4c6f038274bfc660effbfc22e72a130ca2387f0c037f +- name: v1.29.3/bin/linux/amd64/kube-aggregator + sha256: e0e2f3081464851124d1d73ceac174a27e00304b63bbabd8ff440eaba1b110dc +- name: v1.29.3/bin/linux/amd64/kube-apiserver + sha256: 54471e8a527f4b354f9abaa3b4feea2bd40ec57df5e0662fb574225719c52c9d +- name: v1.29.3/bin/linux/amd64/kube-apiserver.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/amd64/kube-apiserver.tar + sha256: ac5a68a34069bce0d1cb807bfdafaee2b5bc47612345e41022ca534295ce8184 +- name: v1.29.3/bin/linux/amd64/kube-controller-manager + sha256: 4fa41c4fd71bd3dccaed11919cf38ad2f2d2de1549d48aed74f71bf76be5d4bb +- name: v1.29.3/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/amd64/kube-controller-manager.tar + sha256: cc43b44c3929e40d9ed9d91dde5b3690be288139fea43f8ae8d363a1b10d3190 +- name: v1.29.3/bin/linux/amd64/kube-log-runner + sha256: 4039c65c971b93849291a7eac802e83f314884ba856cca7744c743addf58aa81 +- name: v1.29.3/bin/linux/amd64/kube-proxy + sha256: fd6f866edb5565881ae91a04293259450fdb68973617d60f09f2e58a9e6bc650 +- name: v1.29.3/bin/linux/amd64/kube-proxy.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/amd64/kube-proxy.tar + sha256: 1913e2f3c8a49dde3f15d5e66057ddaa99ff8b20ef6812ec74b96be36f345911 +- name: v1.29.3/bin/linux/amd64/kube-scheduler + sha256: 574f383c46fd7c933ba0a8aa3f5e2ca9639ed5b060a1eeecefaf64d7ef898366 +- name: v1.29.3/bin/linux/amd64/kube-scheduler.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/amd64/kube-scheduler.tar + sha256: 1ddf78e81325bd1e2ab593be931fc6093e7b4aa3cd95b1c8fc7ed3793828a3fd +- name: v1.29.3/bin/linux/amd64/kubeadm + sha256: 6abaa1208bf40b6d1f49e518bd68c8ae4a1be0c5b7d3e45d87979999ab070d8b +- name: v1.29.3/bin/linux/amd64/kubectl + sha256: 89c0435cec75278f84b62b848b8c0d3e15897d6947b6c59a49ddccd93d7312bf +- name: v1.29.3/bin/linux/amd64/kubectl-convert + sha256: 10d6a5eef8dcf6ab8bfba02d1978fa9d87b7c507b3ea5be4ed39a646785f4f62 +- name: v1.29.3/bin/linux/amd64/kubectl.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/amd64/kubectl.tar + sha256: 2131554d92494ed554cdec3795edf7d4f2c08e46ec8a457284a4c48f5f9335df +- name: v1.29.3/bin/linux/amd64/kubelet + sha256: d8b55a2f8a87c8cd2cbf867d76d1d7f98b7198a740db19bad6ed7b8b813de771 +- name: v1.29.3/bin/linux/amd64/mounter + sha256: 25fcb5a6871276518f5e3cb1d4e974d381adac970c5596b19a644f8cf2bc9925 +- name: v1.29.3/bin/linux/arm64/apiextensions-apiserver + sha256: 6507c99d8dabf1528c36dbf759adba91d6cbed123f19000a2d6fe1714ae74efa +- name: v1.29.3/bin/linux/arm64/kube-aggregator + sha256: fea533974b16654f4b781bb3103a6c467922417aaa8327d8545348c30f7e83e0 +- name: v1.29.3/bin/linux/arm64/kube-apiserver + sha256: 09cbb16dbd86fcfbc1ceb37fc56580adebf64fa6dd7d07d27ffaf5dd54757c17 +- name: v1.29.3/bin/linux/arm64/kube-apiserver.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/arm64/kube-apiserver.tar + sha256: 923611c70e4d17d04b985605c92942338449931e96f59b6be9eb38b84b88d9dd +- name: v1.29.3/bin/linux/arm64/kube-controller-manager + sha256: d30fd85c63d0e9fa89e04445fc8def70f13662c6312f1e75b4b708dd95c7e54d +- name: v1.29.3/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/arm64/kube-controller-manager.tar + sha256: 18aa501dfd0e4ed4a5bb39aaa9f0faa6ac857e36effe7e35d2d4a3623d086901 +- name: v1.29.3/bin/linux/arm64/kube-log-runner + sha256: 13d15f424d9332bf6a4ac594c75a72c6d0e8ebaeb6b16bc6ac515adc2d607bae +- name: v1.29.3/bin/linux/arm64/kube-proxy + sha256: 509c3c8e00e158392526624f53761b53ebc8f881750c3b0d8598e7784575b23b +- name: v1.29.3/bin/linux/arm64/kube-proxy.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/arm64/kube-proxy.tar + sha256: c90e511285bf716b587353d96bce340ccfa30e5a63e0959a2633676d56fdf973 +- name: v1.29.3/bin/linux/arm64/kube-scheduler + sha256: 1e9f85f352f622a6815ae4a4568d28af6cc95739cace90279666695189646e49 +- name: v1.29.3/bin/linux/arm64/kube-scheduler.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/arm64/kube-scheduler.tar + sha256: 206b2caeeda00551a9813662c26a5810cc318b7568292a52a8380a15e468f50e +- name: v1.29.3/bin/linux/arm64/kubeadm + sha256: ce2e4c230f954e59ae77e34c4ff2ae08cad3970505ae1e21b6337e6d83b21682 +- name: v1.29.3/bin/linux/arm64/kubectl + sha256: 191a96b27e3c6ae28b330da4c9bfefc9592762670727df4fcf124c9f1d5a466a +- name: v1.29.3/bin/linux/arm64/kubectl-convert + sha256: 5f046c0c804530e34509a842d40605531563501f977b6145514b329d1c4f2d17 +- name: v1.29.3/bin/linux/arm64/kubectl.docker_tag + sha256: b4160dee41ae422a3d66925330fd0f6a1db780500998158ca0851897674844b1 +- name: v1.29.3/bin/linux/arm64/kubectl.tar + sha256: 64ccfdcbb7625e2277b06701694bf0a1198a313c16fe51bad6ad75c984489dfd +- name: v1.29.3/bin/linux/arm64/kubelet + sha256: 891dce19ed0eae34050c2eca0454204892e97bfe1a926f988cd044a987a9c7c9 +- name: v1.29.3/bin/linux/arm64/mounter + sha256: 5846beff45fb5c75b4e74a91eb0d34779158551aa4b9bd169eb24384922628fc +- name: v1.29.3/kubernetes-release.spdx + sha256: 25eb24e3d2589286f7079e2ffe5946d678ae506e052910940aa4b2db3bbd5c66 +- name: v1.29.3/kubernetes-source.spdx + sha256: 6b3cfb7d10bc583757c1085b1baa03706b5905fe554cc524ef280d4d9b3591f2 +# kubernetes 1.29.4 +- name: v1.29.4/bin/darwin/amd64/kubectl + sha256: 7af9b8a233c49ad5eecb59004719e0bc07972492b674ebbce2919e53326b55b2 +- name: v1.29.4/bin/darwin/amd64/kubectl-convert + sha256: 5c4523bbf517ff13d17e2682b8f6df03b3f2e2a63e0d4a01a2b2039d5e03cb4e +- name: v1.29.4/bin/darwin/arm64/kubectl + sha256: b3a881e6208aa41275a97481676a8c8a3c16282f3cd7b441b17f258a054012f1 +- name: v1.29.4/bin/darwin/arm64/kubectl-convert + sha256: 6656102d28f432643f03a529e81b15c72888c557f5aca29a32514d4b7edfa218 +- name: v1.29.4/bin/linux/386/kubectl + sha256: 2fb69b7a38cfc5733786593662f5bde264ef802c4678fd397b4b033beae774c9 +- name: v1.29.4/bin/linux/386/kubectl-convert + sha256: c418a77218d46d255a9528a54418439786771039a802241053026b5a4b975543 +- name: v1.29.4/bin/linux/amd64/apiextensions-apiserver + sha256: 4a8a7e7b3572fb3527f9ef25665144f4d4fb4f4c1be5665b10db4362b17b2b47 +- name: v1.29.4/bin/linux/amd64/kube-aggregator + sha256: 78b99d217c60ed664e61195438ce98ec3694dd3fff6fd03f18ad3138f315ab7a +- name: v1.29.4/bin/linux/amd64/kube-apiserver + sha256: 0a6f3e63e4cbd8c829bb4397737075cd4331d490310d7a0745197f8701786c80 +- name: v1.29.4/bin/linux/amd64/kube-apiserver.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/amd64/kube-apiserver.tar + sha256: 307568b0a3b18a1ae5cf13e4e140048854c4a385c3403cdba16dec3fa441bf78 +- name: v1.29.4/bin/linux/amd64/kube-controller-manager + sha256: 78a68f3bec6d72aee4fa6ca5f4b0ced62e57b6da10e0cf9a2bf7d9f07708605a +- name: v1.29.4/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/amd64/kube-controller-manager.tar + sha256: 5a6a1fa8f8935499eb52ea86f2e7951548640f57b4ec1e0a5547977bacc42506 +- name: v1.29.4/bin/linux/amd64/kube-log-runner + sha256: 7cb342fe43f39bc2384f11c1ce6e9209228b7a5f1cbec23224e0e07a29a753e4 +- name: v1.29.4/bin/linux/amd64/kube-proxy + sha256: e451681d865bfe7bde3ef513c182c06a5be97c73ecf7216092ee05484f888002 +- name: v1.29.4/bin/linux/amd64/kube-proxy.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/amd64/kube-proxy.tar + sha256: 099015a09b34f002042a9aecefc08eceacd31cefd7b76b7c608c35e55296d846 +- name: v1.29.4/bin/linux/amd64/kube-scheduler + sha256: 73392f5e6befe0c0c8c75e9d9547a6681d5f19c72e1dc34aed3c9a99af2f1df1 +- name: v1.29.4/bin/linux/amd64/kube-scheduler.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/amd64/kube-scheduler.tar + sha256: 1d64ae0760938d25df60230b6703d5fcc139fb9e7941af1eb9c3070c3dce400c +- name: v1.29.4/bin/linux/amd64/kubeadm + sha256: ea20ab064f716ab7f69a36d72df340257b31c9721ea86e1cf9d70b35999ddeea +- name: v1.29.4/bin/linux/amd64/kubectl + sha256: 10e343861c3cb0010161e703307ba907add2aeeeaffc6444779ad915f9889c88 +- name: v1.29.4/bin/linux/amd64/kubectl-convert + sha256: 91ae60e4dc6f7c405b006cfaf1322606ffd38cc1d04bd59b7b8110e87ad1d9e6 +- name: v1.29.4/bin/linux/amd64/kubectl.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/amd64/kubectl.tar + sha256: 33f6170daff1385600c7152030f5f7f2be22842f4f2f599ac3bca98aec02f727 +- name: v1.29.4/bin/linux/amd64/kubelet + sha256: 58571f0ed62543a9bbac541e52c15d8385083113a463e23aec1341d0b5043939 +- name: v1.29.4/bin/linux/amd64/mounter + sha256: 3e14baf659d5577fa607b7e2e317f9a96ec02872dc2312c428e1592f1d84c92c +- name: v1.29.4/bin/linux/arm64/apiextensions-apiserver + sha256: 0fedb7c7274a264d539b086ac2c1c7d24ee83871beeafaf1feae10e960ed11f2 +- name: v1.29.4/bin/linux/arm64/kube-aggregator + sha256: bc31138f295e54e6e3726f15df74f26e3136192de5d9e9c7169f10f33122e66c +- name: v1.29.4/bin/linux/arm64/kube-apiserver + sha256: d97d8c7c9de073d3a89d6c3e64a91f4d23e9a4f957eb5fcc435e7a87e2338a7f +- name: v1.29.4/bin/linux/arm64/kube-apiserver.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/arm64/kube-apiserver.tar + sha256: 51ce6c29a0efc9cb9a9468612db78174d1c7eae9ab050704a8857d56e79eddfe +- name: v1.29.4/bin/linux/arm64/kube-controller-manager + sha256: 5835ebb1bc5661dd52a89ba94ca55f3b377b49998256dcd9d5206954370138b9 +- name: v1.29.4/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/arm64/kube-controller-manager.tar + sha256: f18639240e752baf803f0503e043f5af1724cdd71f57392250353f7cf695efef +- name: v1.29.4/bin/linux/arm64/kube-log-runner + sha256: 64847c93b17f8208fb70a6f0e256fd9c0efa53e7a51cb08838fdccdd08e8d39d +- name: v1.29.4/bin/linux/arm64/kube-proxy + sha256: 326b8369cabc790a0a9bf8986a22c75906e1e82f129fac82f6a0bc29662a0acc +- name: v1.29.4/bin/linux/arm64/kube-proxy.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/arm64/kube-proxy.tar + sha256: d1d95c14343c4ea50a707408e8e9e56147b677afe59af0a0acdcb90d27ccd23a +- name: v1.29.4/bin/linux/arm64/kube-scheduler + sha256: 9e110675b0119cd2fb083e8812c15b865aabf647588b0efa937bde7745b98f5c +- name: v1.29.4/bin/linux/arm64/kube-scheduler.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/arm64/kube-scheduler.tar + sha256: c078e840f3bd4026e2f6b95685ca2c518ae48d79d755f6e4c472c5a7d24d85dc +- name: v1.29.4/bin/linux/arm64/kubeadm + sha256: 438287a91e08cbefecab79be8ac893a935c3dbf6e87bea895fb99f2bc38cf06e +- name: v1.29.4/bin/linux/arm64/kubectl + sha256: 61537408eedcad064d7334384aed508a8aa1ea786311b87b505456a2e0535d36 +- name: v1.29.4/bin/linux/arm64/kubectl-convert + sha256: 42ec80da5d9a7e98c2e1d63915a172284f3d11c9921821985c0758fd790deaca +- name: v1.29.4/bin/linux/arm64/kubectl.docker_tag + sha256: 337757a3a9a8869b0f9e2b390526723f96b899207eb3c0f5034e43138f0b0435 +- name: v1.29.4/bin/linux/arm64/kubectl.tar + sha256: ce1d768f4f43cce49e790275ec638b50cc2528ea4b6e96a353dab34e9f42ce94 +- name: v1.29.4/bin/linux/arm64/kubelet + sha256: dc4bb6ea6cd35b024d63cc20d1c1800a9c695bd6f70411c57358d7c407513b00 +- name: v1.29.4/bin/linux/arm64/mounter + sha256: 464db7903314a01d844560d219a4232c19dd7a6f1f847883ffd349adb68ffd48 +- name: v1.29.4/kubernetes-release.spdx + sha256: 9c10b8690b6d1e085bdd83221f608f0f02622185e88ec100b9a63c09494d9ea3 +- name: v1.29.4/kubernetes-source.spdx + sha256: cb041148213d3c36e39fe7a658f349d86ad4f025186eb21e944929bc7d126b9d diff --git a/pkg/assets/assetdata/k8s-1.30.yaml b/pkg/assets/assetdata/k8s-1.30.yaml new file mode 100644 index 0000000000000..4728cb525b583 --- /dev/null +++ b/pkg/assets/assetdata/k8s-1.30.yaml @@ -0,0 +1,111 @@ +# This file is generated by generate-asset-hashes.sh + +filestores: +- base: https://dl.k8s.io/release/ + +files: +# kubernetes 1.30.0 +- name: v1.30.0/bin/darwin/amd64/kubectl + sha256: bcfa57d020b8d07d0ea77235ce8012c2c28fefdfd7cb9738f33674a7b16cef08 +- name: v1.30.0/bin/darwin/amd64/kubectl-convert + sha256: f9e39f6fb2b36214bbe6a68a593e4d27220b69e3dfa0febb013798316319bd75 +- name: v1.30.0/bin/darwin/arm64/kubectl + sha256: 45cfa208151320153742062824398f22bb6bfb5a142bf6238476d55dacbd1bdd +- name: v1.30.0/bin/darwin/arm64/kubectl-convert + sha256: 6193878910f20aa61a879fe1290afd278539589b6998dc63280209f204ecc892 +- name: v1.30.0/bin/linux/386/kubectl + sha256: aca92cb70665b769bb9a50cba6b47abb92904a8a7abd428f79e42e2b659524d5 +- name: v1.30.0/bin/linux/386/kubectl-convert + sha256: a32099261b0deebc95f5c3aaadac2c485dd3fe482324ad130068c62556048c48 +- name: v1.30.0/bin/linux/amd64/apiextensions-apiserver + sha256: 2c38d4c815e0cd4abfc95377cec79e31120c6049e9a3633c12df7d9fc31ae62b +- name: v1.30.0/bin/linux/amd64/kube-aggregator + sha256: c68e969b1812983479ecfa76b2cfe4f5f995b5b65b65392506c8c4b24a76f11a +- name: v1.30.0/bin/linux/amd64/kube-apiserver + sha256: d2ade134a8a3c74c585bdba35ce60ce7462b97465015be0923aa62096ec4d281 +- name: v1.30.0/bin/linux/amd64/kube-apiserver.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/amd64/kube-apiserver.tar + sha256: 68681234ef834eec18cf48f078bf5648e256567d48f01243086bb6954dbf80fa +- name: v1.30.0/bin/linux/amd64/kube-controller-manager + sha256: 2d1eca23dd39ee3c24bf6dab1a4bddbcc229b93db5ed50b0b1d5173a9545f044 +- name: v1.30.0/bin/linux/amd64/kube-controller-manager.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/amd64/kube-controller-manager.tar + sha256: b295936543ed5861fcb44b98ebd1f2025f67a120ea6b194e2271df7cab1f325f +- name: v1.30.0/bin/linux/amd64/kube-log-runner + sha256: 180de2f720879abdfaa6df72bf8e882199dda8a1a85a5f6726098d0b05918dcf +- name: v1.30.0/bin/linux/amd64/kube-proxy + sha256: b71d28dda9f35a57fd72caae0bd574f68eb63b3d7724b2d45feac126cdee67fe +- name: v1.30.0/bin/linux/amd64/kube-proxy.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/amd64/kube-proxy.tar + sha256: ab82094df1f0c19fece52785e2ccf7e3816e3bfbfd79e8e6d987ba7d161da427 +- name: v1.30.0/bin/linux/amd64/kube-scheduler + sha256: 5a7085ca550fb9107b362d17355b2dfb7c4455467d5c1774a5eeaa87994bbd94 +- name: v1.30.0/bin/linux/amd64/kube-scheduler.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/amd64/kube-scheduler.tar + sha256: f546fc56f4fbd0f2e55baa3c9c10a1b8420e22381bf0f778373d004127edf4c4 +- name: v1.30.0/bin/linux/amd64/kubeadm + sha256: 29f4232c50e6524abba3443ff3b9948d386964d79eb8dfefb409e1f8a8434c14 +- name: v1.30.0/bin/linux/amd64/kubectl + sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 +- name: v1.30.0/bin/linux/amd64/kubectl-convert + sha256: c1db77cae58382852090306602ae40d0c648ee344de28eadce660de7c68c882d +- name: v1.30.0/bin/linux/amd64/kubectl.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/amd64/kubectl.tar + sha256: 8be22d241e6c355b67f78d672d3d6b5d7d04ffef2e44df2c52858e4657ad3e50 +- name: v1.30.0/bin/linux/amd64/kubelet + sha256: 32a32ec3d7e7f8b2648c9dd503ce9ef63b4af1d1677f5b5aed7846fb02d66f18 +- name: v1.30.0/bin/linux/amd64/mounter + sha256: ca7d59af2b1ff9ff3dbabcb90c65d33d665b4f9a803232c1f17a7d51c3faa14a +- name: v1.30.0/bin/linux/arm64/apiextensions-apiserver + sha256: 2592485903bf74efc70211aabcd62b10c64de84e29db57ae68a15c026453a02d +- name: v1.30.0/bin/linux/arm64/kube-aggregator + sha256: 894d262c6aea268dec376ece5998a9628eafa119430d76fd23a9779a81716d1c +- name: v1.30.0/bin/linux/arm64/kube-apiserver + sha256: b866b2cacc835d304d63861320f2c98e0c20171ff34978a8d084599786854921 +- name: v1.30.0/bin/linux/arm64/kube-apiserver.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/arm64/kube-apiserver.tar + sha256: 03fdc91ef9ff16f32c70ef30dfd3f939f925b8cad552f549096761c87e26892f +- name: v1.30.0/bin/linux/arm64/kube-controller-manager + sha256: a876d86750778382a0baf1f1af814e7cc9b6293c3ebe2b2c641852cc3911e5be +- name: v1.30.0/bin/linux/arm64/kube-controller-manager.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/arm64/kube-controller-manager.tar + sha256: a5649a9bf33aac70b0408dd726105815192b6bf32b3c58743cbed5c8eed63309 +- name: v1.30.0/bin/linux/arm64/kube-log-runner + sha256: af7abe38592c271575703569a872a44879add6ff656f0182ede74c6c9fd9a3f9 +- name: v1.30.0/bin/linux/arm64/kube-proxy + sha256: 9f6b72b255c34af14552f1f5269b5cd7661dbbb60ff61db8b929e9e0073c17ed +- name: v1.30.0/bin/linux/arm64/kube-proxy.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/arm64/kube-proxy.tar + sha256: 1194b42196f58ae36b570a2c280e531a2ffe4ad0c47efc043a75c030eaf325dc +- name: v1.30.0/bin/linux/arm64/kube-scheduler + sha256: 74defc82cedbdc5ebaa8c729efa9d586bb7284c8994a9f4a6bb5eef7d276e1f9 +- name: v1.30.0/bin/linux/arm64/kube-scheduler.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/arm64/kube-scheduler.tar + sha256: 1998ae9e73d52410c999e120b236920ddcafcac7ac34555bf23a6ddb63a343f7 +- name: v1.30.0/bin/linux/arm64/kubeadm + sha256: c36afd28921303e6db8e58274de16c60a80a1e75030fc3c4e9c4ed6249b6b696 +- name: v1.30.0/bin/linux/arm64/kubectl + sha256: 669af0cf520757298ea60a8b6eb6b719ba443a9c7d35f36d3fb2fd7513e8c7d2 +- name: v1.30.0/bin/linux/arm64/kubectl-convert + sha256: 724cc290f8d0ae0ea7e35df011098ac5b63c6fbba3817749bf19650f286730af +- name: v1.30.0/bin/linux/arm64/kubectl.docker_tag + sha256: af249e1588764d7d22c33474330a69889d729659d32b5250c4c44f5067bc0d2d +- name: v1.30.0/bin/linux/arm64/kubectl.tar + sha256: 26b6232675b1523910ebf6b2d5a1d10f3979d155f9bba5efb73eccde8cef7124 +- name: v1.30.0/bin/linux/arm64/kubelet + sha256: fa887647422d34f3c7cc5b30fefcf97084d2c3277eff237c5808685ba8e4b15a +- name: v1.30.0/bin/linux/arm64/mounter + sha256: 5fde932a28c974b2dabcbfc420562252f7bb18d42908b0959589bd5b35801ba0 +- name: v1.30.0/kubernetes-release.spdx + sha256: a54c6622cb4a13a9ef7aea93b1a5115f73056d47cd7f207a1ac16d4802494a37 +- name: v1.30.0/kubernetes-source.spdx + sha256: a1f5231ffc17c2e3c4e875ec2ea069012193d5c6d0ac15264d941de9a5f4df1e diff --git a/pkg/assets/assetdata/runc-1.1.yaml b/pkg/assets/assetdata/runc-1.1.yaml index 949e4bef9f70e..f03f634dce392 100644 --- a/pkg/assets/assetdata/runc-1.1.yaml +++ b/pkg/assets/assetdata/runc-1.1.yaml @@ -192,3 +192,20 @@ files: sha256: af2387aab26bc862b121515dde0b928a0d7933a140b2c574b8801edc595a963a - name: v1.1.11/runc.tar.xz sha256: 90a9f8a0093f9e06900e393c11c6b61c597eaf7f9e149aa3aad743961ed25478 +# runc 1.1.12 +- name: v1.1.12/runc.amd64 + sha256: aadeef400b8f05645768c1476d1023f7875b78f52c7ff1967a6dbce236b8cbd8 +- name: v1.1.12/runc.arm64 + sha256: 879f910a05c95c10c64ad8eb7d5e3aa8e4b30e65587b3d68e009a3565aed5bb8 +- name: v1.1.12/runc.armel + sha256: 27f978f848bb06635897333e706a5668f8832252eeea701cc04be780c081bae0 +- name: v1.1.12/runc.armhf + sha256: d0d1c7828eacb28bfec21d437c99308c380b31c4898a36c2c4a23c79e036295f +- name: v1.1.12/runc.ppc64le + sha256: 4069d1d57724126e116ad6dbd84409082d1b0afee1ee960b17558f146a742bb6 +- name: v1.1.12/runc.riscv64 + sha256: 2437db8883422714e7bce3dc6759e31263470e25f854ffa043b1972449a08cc2 +- name: v1.1.12/runc.s390x + sha256: 8fd751c034f751ec7b34d1c404c36009adcd3ef1c8f22f6031df3f69e9454b6f +- name: v1.1.12/runc.tar.xz + sha256: 47d9e34500e478d860512b3b646724ee4b9e638692122ddaa82af417668ca4d7