2023-05-19 21:32:49 +02:00
|
|
|
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
|
|
|
|
|
|
|
|
|
(define-module (nongnu packages k8s)
|
|
|
|
|
#:use-module (guix build-system copy)
|
|
|
|
|
#:use-module (guix download)
|
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module ((guix licenses) :prefix license:))
|
|
|
|
|
|
|
|
|
|
(define-public k9s
|
|
|
|
|
(package
|
|
|
|
|
(name "k9s")
|
2024-07-20 09:28:52 +02:00
|
|
|
|
(version "0.32.5")
|
2023-05-19 21:32:49 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/derailed/k9s/releases/download/v"
|
|
|
|
|
version "/k9s_Linux_amd64.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2024-07-20 09:28:52 +02:00
|
|
|
|
"18yf4vr4pgdl5ssijmpf45amdasjrd3mbgnsp1cjnadszvsiphrk"))))
|
2023-05-19 21:32:49 +02:00
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("k9s" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:31:50 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(invoke "tar" "-xvf" source))))))
|
2023-05-19 21:32:49 +02:00
|
|
|
|
(home-page "https://k9scli.io")
|
|
|
|
|
(supported-systems '("x86_64-linux"))
|
|
|
|
|
(synopsis "Kubernetes CLI To Manage Your Clusters In Style")
|
|
|
|
|
(description
|
|
|
|
|
"K9s provides a terminal UI to interact with your Kubernetes clusters. The
|
|
|
|
|
aim of this project is to make it easier to navigate, observe and manage your
|
|
|
|
|
applications in the wild. K9s continually watches Kubernetes for changes and
|
|
|
|
|
offers subsequent commands to interact with your observed resources.")
|
|
|
|
|
(license license:asl2.0)))
|
2023-05-19 21:43:58 +02:00
|
|
|
|
|
|
|
|
|
(define-public katenary
|
|
|
|
|
(package
|
|
|
|
|
(name "katenary")
|
|
|
|
|
(version "2.0.0-beta2")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/metal3d/katenary/releases/download/"
|
|
|
|
|
version "/katenary-linux-amd64"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0vk5c82bf5aasrgz2b7qdjlbmlcjha0r3swmrbs9y5mms18y7m3i"))))
|
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("katenary" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:32:27 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(copy-file source "./katenary")
|
2023-05-19 21:43:58 +02:00
|
|
|
|
(chmod "katenary" #o644)))
|
|
|
|
|
(add-before 'install 'chmod
|
|
|
|
|
(lambda _
|
|
|
|
|
(chmod "katenary" #o555))))))
|
|
|
|
|
(home-page "https://github.com/metal3d/katenary")
|
|
|
|
|
(supported-systems '("x86_64-linux"))
|
|
|
|
|
(synopsis "Convert docker-compose to a configurable helm chart")
|
|
|
|
|
(description
|
|
|
|
|
"Katenary is a tool to help to transform docker-compose files to a working
|
|
|
|
|
Helm Chart for Kubernetes.")
|
|
|
|
|
(license license:expat)))
|
2023-05-19 21:48:59 +02:00
|
|
|
|
|
|
|
|
|
(define-public kubectl
|
|
|
|
|
(package
|
|
|
|
|
(name "kubectl")
|
2024-08-19 15:44:03 +02:00
|
|
|
|
(version "1.31.0")
|
2023-05-19 21:48:59 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2024-08-19 15:44:03 +02:00
|
|
|
|
"0dr40ckdj65ka6ndp8knyprh1k0nx6vg8yyg7p6c1lc49b3as9vw"))))
|
2023-05-19 21:48:59 +02:00
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("kubectl" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:33:01 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(copy-file source "./kubectl")
|
2023-05-19 21:48:59 +02:00
|
|
|
|
(chmod "kubectl" #o644)))
|
|
|
|
|
(add-before 'install 'chmod
|
|
|
|
|
(lambda _
|
|
|
|
|
(chmod "kubectl" #o555))))))
|
|
|
|
|
(home-page "https://github.com/kubernetes/kubectl")
|
|
|
|
|
(supported-systems '("x86_64-linux"))
|
|
|
|
|
(synopsis "Kubernetes command line tool")
|
|
|
|
|
(description
|
|
|
|
|
"kubectl allows you to run commands against Kubernetes clusters. You can
|
|
|
|
|
use kubectl to deploy applications, inspect and manage cluster resources, and
|
|
|
|
|
view logs.")
|
|
|
|
|
(license license:asl2.0)))
|
2023-05-19 22:01:37 +02:00
|
|
|
|
|
|
|
|
|
(define-public kompose
|
|
|
|
|
(package
|
|
|
|
|
(name "kompose")
|
2024-08-19 15:47:04 +02:00
|
|
|
|
(version "1.34.0")
|
2023-05-19 22:01:37 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/kubernetes/kompose/releases/download/v"
|
|
|
|
|
version "/kompose-linux-amd64"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2024-08-19 15:47:04 +02:00
|
|
|
|
"0wg1ks3flb5rbpazich7v052s3zm8fwja044r67sky3bxxihx3f5"))))
|
2023-05-19 22:01:37 +02:00
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("kompose" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:33:18 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(copy-file source "./kompose")))
|
2023-05-19 22:01:37 +02:00
|
|
|
|
(add-before 'install 'chmod
|
|
|
|
|
(lambda _
|
|
|
|
|
(chmod "kompose" #o555))))))
|
|
|
|
|
(home-page "https://kompose.io")
|
|
|
|
|
(supported-systems '("x86_64-linux"))
|
|
|
|
|
(synopsis "Go from Docker Compose to Kubernetes")
|
|
|
|
|
(description
|
|
|
|
|
"Kompose is a conversion tool for Docker Compose to container orchestrators
|
|
|
|
|
such as Kubernetes (or OpenShift).")
|
|
|
|
|
(license license:expat)))
|
2023-05-19 22:10:24 +02:00
|
|
|
|
|
2023-10-12 22:48:34 +02:00
|
|
|
|
(define-public helm-kubernetes
|
2023-05-19 22:10:24 +02:00
|
|
|
|
(package
|
2023-10-12 22:48:34 +02:00
|
|
|
|
(name "helm-kubernetes")
|
2024-08-19 15:49:48 +02:00
|
|
|
|
(version "3.15.4")
|
2023-05-19 22:10:24 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://get.helm.sh/helm-v" version "-linux-amd64.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2024-08-19 15:49:48 +02:00
|
|
|
|
"1afgf08z6hgy07kjk8fj7xkr8ma4qk2f1r33901nzz87zkn0yh0i"))))
|
2023-05-19 22:10:24 +02:00
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("linux-amd64/helm" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:34:08 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(invoke "tar" "-xvf" source)))
|
2023-05-19 22:10:24 +02:00
|
|
|
|
(add-before 'install 'chmod
|
|
|
|
|
(lambda _
|
|
|
|
|
(chmod "linux-amd64/helm" #o555))))))
|
|
|
|
|
(home-page "https://helm.sh")
|
|
|
|
|
(supported-systems '("x86_64-linux"))
|
|
|
|
|
(synopsis "The package manager for Kubernetes")
|
|
|
|
|
(description
|
|
|
|
|
"Helm helps you manage Kubernetes applications - Helm Charts help you
|
|
|
|
|
define, install, and upgrade Kubernetes applications.")
|
|
|
|
|
(license license:asl2.0)))
|
2023-10-04 22:34:47 +02:00
|
|
|
|
|
|
|
|
|
(define-public kind
|
|
|
|
|
(package
|
|
|
|
|
(name "kind")
|
2024-08-19 15:55:14 +02:00
|
|
|
|
(version "0.24.0")
|
2023-10-04 22:34:47 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://kind.sigs.k8s.io/dl/v" version "/kind-linux-amd64"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2024-08-19 15:55:14 +02:00
|
|
|
|
"03b0idcb11knqyx2ryakvlkqk1cdyavkar6izjihsqlxlfjsv6mq"))))
|
2023-10-04 22:34:47 +02:00
|
|
|
|
(build-system copy-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:substitutable? #f
|
|
|
|
|
#:install-plan
|
|
|
|
|
#~'(("kind" "bin/"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'unpack
|
2024-10-28 12:34:43 +01:00
|
|
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
|
|
|
(copy-file source "./kind")
|
2023-10-04 22:34:47 +02:00
|
|
|
|
(chmod "kind" #o644)))
|
|
|
|
|
(add-before 'install 'chmod
|
|
|
|
|
(lambda _
|
|
|
|
|
(chmod "kind" #o555))))))
|
|
|
|
|
(home-page "https://kind.sigs.k8s.io")
|
|
|
|
|
(synopsis "Tool for running local Kubernetes clusters using Docker containers")
|
|
|
|
|
(description "kind (Kubernetes in Docker) is designed for creating and managing
|
|
|
|
|
local Kubernetes clusters using Docker containers as nodes. It provides
|
|
|
|
|
a fast and straightforward way to run Kubernetes for development and
|
|
|
|
|
testing tasks.
|
|
|
|
|
|
|
|
|
|
Supporting multi-node cluster configurations, kind is ideal for testing
|
|
|
|
|
more complex, real-world scenarios without demanding extensive resources.
|
|
|
|
|
It’s a lightweight, portable, and configurable solution useful in
|
|
|
|
|
continuous integration (CI) workflows.")
|
|
|
|
|
(license license:asl2.0)))
|