90 lines
3.1 KiB
Scheme
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)))
|