summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Scott <scott112@llnl.gov>2023-04-14 00:07:42 -0700
committerGitHub <noreply@github.com>2023-04-14 09:07:42 +0200
commit7786da9117fdc88805ead93ea3d88305783075c1 (patch)
treead120c28b4098f32547ff6f66db9531e11134775
parent87dca0130c489f407f4fed90ab0298222067e81c (diff)
downloadspack-7786da9117fdc88805ead93ea3d88305783075c1.tar.gz
spack-7786da9117fdc88805ead93ea3d88305783075c1.tar.bz2
spack-7786da9117fdc88805ead93ea3d88305783075c1.tar.xz
spack-7786da9117fdc88805ead93ea3d88305783075c1.zip
kubernetes: add v1.27.0 and split off new package kubectl (#36780)
-rw-r--r--var/spack/repos/builtin/packages/kubectl/package.py30
-rw-r--r--var/spack/repos/builtin/packages/kubernetes/package.py42
2 files changed, 67 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/kubectl/package.py b/var/spack/repos/builtin/packages/kubectl/package.py
new file mode 100644
index 0000000000..583f6a7b49
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kubectl/package.py
@@ -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)
diff --git a/var/spack/repos/builtin/packages/kubernetes/package.py b/var/spack/repos/builtin/packages/kubernetes/package.py
index 05fd6a727a..c4f1989c21 100644
--- a/var/spack/repos/builtin/packages/kubernetes/package.py
+++ b/var/spack/repos/builtin/packages/kubernetes/package.py
@@ -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)