From 7786da9117fdc88805ead93ea3d88305783075c1 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Fri, 14 Apr 2023 00:07:42 -0700 Subject: kubernetes: add v1.27.0 and split off new package kubectl (#36780) --- .../repos/builtin/packages/kubectl/package.py | 30 ++++++++++++++++ .../repos/builtin/packages/kubernetes/package.py | 42 +++++++++++++++++++--- 2 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 var/spack/repos/builtin/packages/kubectl/package.py (limited to 'var') 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) -- cgit v1.2.3-70-g09d2