kubernetes: add v1.27.0 and split off new package kubectl (#36780)

This commit is contained in:
Alec Scott 2023-04-14 00:07:42 -07:00 committed by GitHub
parent 87dca0130c
commit 7786da9117
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 67 additions and 5 deletions

View File

@ -0,0 +1,30 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Kubectl(Package):
"""
Kubectl is a command-line interface for Kubernetes clusters.
"""
homepage = "https://kubernetes.io"
url = "https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.27.0.tar.gz"
maintainers("alecbcs")
version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323")
depends_on("bash", type="build")
depends_on("go", type="build")
phases = ["build", "install"]
def build(self, spec, prefix):
make("-f", "build/root/Makefile", "WHAT=cmd/kubectl")
def install(self, spec, prefix):
install_tree("_output/bin", prefix.bin)

View File

@ -12,14 +12,46 @@ class Kubernetes(Package):
for deployment, maintenance, and scaling of applications."""
homepage = "https://kubernetes.io"
url = "https://github.com/kubernetes/kubernetes/archive/v1.19.0-alpha.0.tar.gz"
url = "https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.27.0.tar.gz"
version("1.18.1", sha256="33ca738f1f4e6ad453b80f231f71e62470b822f21d44dc5b8121b2964ae8e6f8")
version("1.18.0", sha256="6bd252b8b5401ad6f1fb34116cd5df59153beced3881b98464862a81c083f7ab")
version("1.17.4", sha256="b61a6eb3bd5251884f34853cc51aa31c6680e7e476268fe06eb33f3d95294f62")
maintainers("alecbcs")
version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323")
# Deprecated versions
# https://nvd.nist.gov/vuln/detail/CVE-2022-3294
version(
"1.18.1",
sha256="33ca738f1f4e6ad453b80f231f71e62470b822f21d44dc5b8121b2964ae8e6f8",
deprecated=True,
)
version(
"1.18.0",
sha256="6bd252b8b5401ad6f1fb34116cd5df59153beced3881b98464862a81c083f7ab",
deprecated=True,
)
version(
"1.17.4",
sha256="b61a6eb3bd5251884f34853cc51aa31c6680e7e476268fe06eb33f3d95294f62",
deprecated=True,
)
depends_on("bash", type="build")
depends_on("go", type="build")
phases = ["build", "install"]
def build(self, spec, prefix):
components = [
"cmd/kubeadm",
"cmd/kubelet",
"cmd/kube-apiserver",
"cmd/kube-controller-manager",
"cmd/kube-proxy",
"cmd/kube-scheduler",
]
make(f"WHAT={' '.join(components)}")
def install(self, spec, prefix):
make()
install_tree("_output/bin", prefix.bin)