diff --git a/nongnu/packages/k8s.scm b/nongnu/packages/k8s.scm index d08cffa0..471814de 100644 --- a/nongnu/packages/k8s.scm +++ b/nongnu/packages/k8s.scm @@ -1,5 +1,6 @@ ;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; Copyright © 2023 Giacomo Leidi +;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz> (define-module (nongnu packages k8s) #:use-module (guix build-system copy) @@ -215,3 +216,78 @@ 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))) + +(define-public jsonnet-bundler + (package + (name "jsonnet-bundler") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/jsonnet-bundler/jsonnet-bundler/releases" + "/download/v" version "/jb-linux-amd64")) + (sha256 + (base32 + "0m6vf36z0xlaa9cdvkb4xdmlzpvp4acv8xhm5faf1wrzpkxlmrbq")))) + (build-system copy-build-system) + (arguments + (list + #:substitutable? #f + #:install-plan + #~'(("jb" "bin/")) + #:phases + #~(modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (copy-file source "./jb"))) + (add-before 'install 'chmod + (lambda _ + (chmod "jb" #o555)))))) + (home-page "https://github.com/jsonnet-bundler/jsonnet-bundler") + (supported-systems '("x86_64-linux")) + (synopsis "Package manager for Jsonnet") + (description + "Simple package manager for Jsonnet. Allows you to use third-party +repositories of Jsonnet libraries. + +In alpha stage, flags, configuration, behavior and design may change +significantly in following releases.") + (license license:asl2.0))) + +(define-public tanka + (package + (name "tanka") + (version "0.33.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/grafana/tanka/releases" + "/download/v" version "/tk-linux-amd64")) + (sha256 + (base32 + "1ff066pkd6071031bfazamfcqf7r3481sh94nh0vqxk1ry7ysisi")))) + (build-system copy-build-system) + (arguments + (list + #:substitutable? #f + #:install-plan + #~'(("tk" "bin/")) + #:phases + #~(modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (copy-file source "./tk"))) + (add-before 'install 'chmod + (lambda _ + (chmod "tk" #o555))) + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/tk") + '("PATH" prefix (#$(file-append jsonnet-bundler "/bin"))))))))) + (home-page "https://github.com/grafana/tanka") + (supported-systems '("x86_64-linux")) + (synopsis "Configuration utility for Kubernetes based on Jsonnet") + (description + "Configuration utility for Kubernetes which uses Jsonnet instead of YAML. +Provides simple and concise approach to managing your deployments.") + (license license:asl2.0)))