From 90bdd6ff4d965c9f11c123319d8f123b2a4fe4ec Mon Sep 17 00:00:00 2001 From: Adam Mohammed Date: Sun, 11 Feb 2024 13:37:50 -0500 Subject: [PATCH] Add kubectx, kubens, kubectl-oidc_login --- adam/packages/kubernetes.scm | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/adam/packages/kubernetes.scm b/adam/packages/kubernetes.scm index b4d2ed4..642f164 100644 --- a/adam/packages/kubernetes.scm +++ b/adam/packages/kubernetes.scm @@ -2,6 +2,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system copy) + #:use-module (gnu packages compression) #:use-module ((guix licenses) #:prefix license:)) (define-public kubectl @@ -25,3 +26,64 @@ (description "kubectl binary") (home-page "https://github.com/kubernetes/kubernetes") (license license:asl2.0))) + +;; https://github.com/ahmetb/kubectx/releases/download/v0.9.5/kubectx_v0.9.5_linux_x86_64.tar.gz +(define-public kubectx + (package + (name "kubectx") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/ahmetb/kubectx/releases/download/v" version + "/kubectx_v" version "_linux_x86_64.tar.gz")) + (sha256 (base32 "0j06sq6lx0nk6sckrxm308gm2wkiklvp708fvnmqk7z74gypy952")))) + (build-system copy-build-system) + (arguments + `(#:substitutable? #f + #:install-plan '(("kubectx" "/bin/ktx")))) + (synopsis "kube context switcher") + (description "kube context switcher") + (home-page "https://github.com/ahmetb/kubectx") + (license license:asl2.0))) + +(define-public kubens + (package + (name "kubens") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/ahmetb/kubectx/releases/download/v" version + "/kubens_v" version "_linux_x86_64.tar.gz")) + (sha256 (base32 "1ficf219wqlnp554373b8cc5scx7hkkx0pfjzbjzn8mpyv3skhdc")))) + (build-system copy-build-system) + (arguments + `(#:substitutable? #f + #:install-plan '(("kubens" "/bin/kns")))) + (synopsis "kube context namespace switcher") + (description "kube context namespace switcher") + (home-page "https://github.com/ahmetb/kubectx") + (license license:asl2.0))) + +;; https://github.com/int128/kubelogin/releases/download/v1.28.0/kubelogin_linux_amd64.zip +(define-public kube-oidc-login + (package + (name "kube-oidc-login") + (version "1.28.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/int128/kubelogin/releases/download/v" version "/kubelogin_linux_amd64.zip")) + (sha256 (base32 "17p8apx47s23gv0nvpjn5b8blb13wk3h1dpd8qmy63n7zi422a43")))) + (build-system copy-build-system) + (inputs (list unzip)) + (arguments + `(#:substitutable? #f + #:install-plan '(("kubelogin" "/bin/kubectl-oidc_login")))) + (synopsis "kubenetes oidc login plugin") + (description "kubenetes oidc login plugin") + (home-page "https://github.com/int128/kubelogin") + (license license:asl2.0)))