Files
adam-guix/adam/packages/kubernetes.scm

90 lines
3.1 KiB
Scheme

(define-module (adam packages kubernetes)
#: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
(package
(name "kubectl")
(version "1.28.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
(sha256 (base32 "1qx7gb6gavc4nj98przr7vaa5hafp4zgblsdccvgs68ic7h1ydf8"))))
(build-system copy-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda* (#:key #:allow-other-keys)
(chmod "kubectl" #o755))))
#:substitutable? #f
#:install-plan '(("kubectl" "/bin/"))))
(synopsis "kubectl binary")
(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)))