Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package arkade for openSUSE:Factory checked in at 2025-11-25 16:58:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arkade (Old) and /work/SRC/openSUSE:Factory/.arkade.new.14147 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arkade" Tue Nov 25 16:58:39 2025 rev:64 rq:1319927 version:0.11.60 Changes: -------- --- /work/SRC/openSUSE:Factory/arkade/arkade.changes 2025-11-18 15:43:11.863941591 +0100 +++ /work/SRC/openSUSE:Factory/.arkade.new.14147/arkade.changes 2025-11-25 16:58:50.681078518 +0100 @@ -1,0 +2,15 @@ +Tue Nov 25 07:44:17 UTC 2025 - Johannes Kastl <[email protected]> + +- Update to version 0.11.60: + * Fix opencode binary templates + * Update golang.org/x/crypto + * style: reformat shell scripts with shellcheck + * fix: set shebang to /usr/bin/env + * docs: add opkssh, kubelogin, starship and dyff tools + * feat: add dyff + * feat: add starship + * feat: add kubelogin + * feat: add opkssh + * feat: add direnv + +------------------------------------------------------------------- Old: ---- arkade-0.11.59.obscpio New: ---- arkade-0.11.60.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arkade.spec ++++++ --- /var/tmp/diff_new_pack.UcSafe/_old 2025-11-25 16:58:51.705121518 +0100 +++ /var/tmp/diff_new_pack.UcSafe/_new 2025-11-25 16:58:51.709121686 +0100 @@ -17,7 +17,7 @@ Name: arkade -Version: 0.11.59 +Version: 0.11.60 Release: 0 Summary: Open Source Kubernetes Marketplace License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.UcSafe/_old 2025-11-25 16:58:51.897129580 +0100 +++ /var/tmp/diff_new_pack.UcSafe/_new 2025-11-25 16:58:51.925130756 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/alexellis/arkade</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">0.11.59</param> + <param name="revision">0.11.60</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.UcSafe/_old 2025-11-25 16:58:52.021134787 +0100 +++ /var/tmp/diff_new_pack.UcSafe/_new 2025-11-25 16:58:52.077137139 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/alexellis/arkade</param> - <param name="changesrevision">5e1ea83ad4b9e1e5e7dec229d4d74cd6032bf300</param></service></servicedata> + <param name="changesrevision">7753c60639bb790fe7af08f12cda546cbb7d6727</param></service></servicedata> (No newline at EOF) ++++++ arkade-0.11.59.obscpio -> arkade-0.11.60.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/README.md new/arkade-0.11.60/README.md --- old/arkade-0.11.59/README.md 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/README.md 2025-11-24 18:24:20.000000000 +0100 @@ -791,6 +791,7 @@ | [dagger](https://github.com/dagger/dagger) | A portable devkit for CI/CD pipelines. | | [devpod](https://github.com/loft-sh/devpod) | Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker. | | [devspace](https://github.com/devspace-sh/devspace) | Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes. | +| [direnv](https://github.com/direnv/direnv) | A tool to manage environment variables and unclutter your .profile | | [discord-updater](https://github.com/alexellis/discord-updater) | Discord updater tool. | | [dive](https://github.com/wagoodman/dive) | A tool for exploring each layer in a docker image | | [docker-compose](https://github.com/docker/compose) | Define and run multi-container applications with Docker. | @@ -798,6 +799,7 @@ | [dotenv-linter](https://github.com/dotenv-linter/dotenv-linter) | A lightning-fast linter for .env files. | | [dufs](https://github.com/sigoden/dufs) | A file server that supports static serving, uploading | | [duplik8s](https://github.com/Telemaco019/duplik8s) | kubectl plugin to duplicate resources in a Kubernetes cluster. | +| [dyff](https://github.com/homeport/dyff) | diff tool for YAML files, and sometimes JSON | | [eks-node-viewer](https://github.com/awslabs/eks-node-viewer) | eks-node-viewer is a tool for visualizing dynamic node usage within an EKS cluster. | | [eksctl](https://github.com/eksctl-io/eksctl) | Amazon EKS Kubernetes cluster management | | [eksctl-anywhere](https://github.com/aws/eks-anywhere) | Run Amazon EKS on your own infrastructure | @@ -858,6 +860,7 @@ | [kubeconform](https://github.com/yannh/kubeconform) | A FAST Kubernetes manifests validator, with support for Custom Resources | | [kubectl](https://github.com/kubernetes/kubernetes) | Run commands against Kubernetes clusters | | [kubectx](https://github.com/ahmetb/kubectx) | Faster way to switch between clusters. | +| [kubelogin](https://github.com/Azure/kubelogin) | A Kubernetes credential (exec) plugin implementing azure authentication | | [kubens](https://github.com/ahmetb/kubectx) | Switch between Kubernetes namespaces smoothly. | | [kubescape](https://github.com/kubescape/kubescape) | kubescape is the first tool for testing if Kubernetes is deployed securely as defined in Kubernetes Hardening Guidance by NSA and CISA | | [kubeseal](https://github.com/bitnami-labs/sealed-secrets) | A Kubernetes controller and tool for one-way encrypted Secrets | @@ -893,6 +896,7 @@ | [opencode](https://github.com/sst/opencode) | The opencode CLI for running AI agents and tools. | | [openshift-install](https://github.com/openshift/installer) | CLI to install an OpenShift 4.x cluster. | | [operator-sdk](https://github.com/operator-framework/operator-sdk) | Operator SDK is a tool for scaffolding and generating code for building Kubernetes operators | +| [opkssh](https://github.com/openpubkey/opkssh) | A new type of shell that can handle structured data like YAML really well | | [osm](https://github.com/openservicemesh/osm) | Open Service Mesh uniformly manages, secures, and gets out-of-the-box observability features. | | [pack](https://github.com/buildpacks/pack) | Build apps using Cloud Native Buildpacks. | | [packer](https://github.com/hashicorp/packer) | Build identical machine images for multiple platforms from a single source configuration. | @@ -915,6 +919,7 @@ | [snowmachine](https://github.com/rgee0/snowmachine) | Festive cheer for your terminal. | | [sops](https://github.com/getsops/sops) | Simple and flexible tool for managing secrets | | [ssync](https://github.com/alexellis/ssync) | Sync files from one machine to another. | +| [starship](https://github.com/starship/starship) | The minimal, blazing-fast, and infinitely customizable prompt for any shell! | | [stern](https://github.com/stern/stern) | Multi pod and container log tailing for Kubernetes. | | [syft](https://github.com/anchore/syft) | CLI tool and library for generating a Software Bill of Materials from container images and filesystems | | [talosctl](https://github.com/siderolabs/talos) | The command-line tool for managing Talos Linux OS. | @@ -939,6 +944,6 @@ | [waypoint](https://github.com/hashicorp/waypoint) | Easy application deployment for Kubernetes and Amazon ECS | | [yq](https://github.com/mikefarah/yq) | Portable command-line YAML processor. | | [yt-dlp](https://github.com/yt-dlp/yt-dlp) | Fork of youtube-dl with additional features and fixes | -There are 178 tools, use `arkade get NAME` to download one. +There are 183 tools, use `arkade get NAME` to download one. > Note to contributors, run `go build && ./arkade get --format markdown` to > generate this list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/go.mod new/arkade-0.11.60/go.mod --- old/arkade-0.11.59/go.mod 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/go.mod 2025-11-24 18:24:20.000000000 +0100 @@ -14,7 +14,7 @@ github.com/pkg/errors v0.9.1 github.com/sethvargo/go-password v0.3.1 github.com/spf13/cobra v1.10.1 - golang.org/x/crypto v0.44.0 + golang.org/x/crypto v0.45.0 golang.org/x/mod v0.30.0 gopkg.in/yaml.v3 v3.0.1 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/go.sum new/arkade-0.11.60/go.sum --- old/arkade-0.11.59/go.sum 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/go.sum 2025-11-24 18:24:20.000000000 +0100 @@ -84,6 +84,8 @@ github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/hack/hashgen.sh new/arkade-0.11.60/hack/hashgen.sh --- old/arkade-0.11.59/hack/hashgen.sh 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/hack/hashgen.sh 2025-11-24 18:24:20.000000000 +0100 @@ -1,3 +1,3 @@ #!/bin/sh -for f in bin/arkade*; do shasum -a 256 $f > $f.sha256; done +for f in bin/arkade*; do shasum -a 256 "$f" > "$f".sha256; done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/hack/platform-tag.sh new/arkade-0.11.60/hack/platform-tag.sh --- old/arkade-0.11.59/hack/platform-tag.sh 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/hack/platform-tag.sh 2025-11-24 18:24:20.000000000 +0100 @@ -2,7 +2,7 @@ getPackage() { suffix="" - arch=$(uname -m) + arch="$(uname -m)" case $arch in "aarch64") suffix="-arm64" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/hack/test-tool.sh new/arkade-0.11.60/hack/test-tool.sh --- old/arkade-0.11.59/hack/test-tool.sh 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/hack/test-tool.sh 2025-11-24 18:24:20.000000000 +0100 @@ -1,6 +1,6 @@ -#!/bin/bash +#!/bin/sh -if [ -z $1 ]; +if [ -z "$1" ]; then echo "test-tool.sh" echo "" @@ -13,15 +13,15 @@ exit 1 fi -set -x +set -x -./arkade get $1 --arch arm64 --os darwin --quiet && file $HOME/.arkade/bin/$1 && rm $HOME/.arkade/bin/$1 && echo +./arkade get "$1" --arch arm64 --os darwin --quiet && file "$HOME"/.arkade/bin/"$1" && rm "$HOME"/.arkade/bin/"$1" && echo -./arkade get $1 --arch x86_64 --os darwin --quiet && file $HOME/.arkade/bin/$1 && rm $HOME/.arkade/bin/$1 && echo +./arkade get "$1" --arch x86_64 --os darwin --quiet && file "$HOME"/.arkade/bin/"$1" && rm "$HOME"/.arkade/bin/"$1" && echo -./arkade get $1 --arch x86_64 --os linux --quiet && file $HOME/.arkade/bin/$1 && rm $HOME/.arkade/bin/$1 && echo +./arkade get "$1" --arch x86_64 --os linux --quiet && file "$HOME"/.arkade/bin/"$1" && rm "$HOME"/.arkade/bin/"$1" && echo -./arkade get $1 --arch aarch64 --os linux --quiet && file $HOME/.arkade/bin/$1 && rm $HOME/.arkade/bin/$1 && echo +./arkade get "$1" --arch aarch64 --os linux --quiet && file "$HOME"/.arkade/bin/"$1" && rm "$HOME"/.arkade/bin/"$1" && echo -./arkade get $1 --arch x86_64 --os mingw --quiet && file $HOME/.arkade/bin/$1.exe && rm $HOME/.arkade/bin/$1.exe && echo +./arkade get "$1" --arch x86_64 --os mingw --quiet && file "$HOME"/.arkade/bin/"$1".exe && rm "$HOME"/.arkade/bin/"$1".exe && echo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/pkg/get/get_test.go new/arkade-0.11.60/pkg/get/get_test.go --- old/arkade-0.11.59/pkg/get/get_test.go 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/pkg/get/get_test.go 2025-11-24 18:24:20.000000000 +0100 @@ -8904,6 +8904,266 @@ } } +func Test_DownloadDirenv(t *testing.T) { + tools := MakeTools() + name := "direnv" + + tool := getTool(name, tools) + + const toolVersion = "v2.37.1" + + tests := []test{ + { + os: "linux", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/direnv/direnv/releases/download/v2.37.1/direnv.linux-amd64", + }, + { + os: "linux", + arch: archARM64, + version: toolVersion, + url: "https://github.com/direnv/direnv/releases/download/v2.37.1/direnv.linux-arm64", + }, + { + os: "darwin", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/direnv/direnv/releases/download/v2.37.1/direnv.darwin-amd64", + }, + { + os: "darwin", + arch: archDarwinARM64, + version: toolVersion, + url: "https://github.com/direnv/direnv/releases/download/v2.37.1/direnv.darwin-arm64", + }, + { + os: "ming", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/direnv/direnv/releases/download/v2.37.1/direnv.windows-amd64", + }, + } + verify := false + for _, tc := range tests { + got, _, err := tool.GetURL(tc.os, tc.arch, tc.version, verify) + if err != nil { + t.Fatal(err) + } + if got != tc.url { + t.Errorf("want: %s, got: %s", tc.url, got) + } + } +} + +func Test_DownloadOpkssh(t *testing.T) { + tools := MakeTools() + name := "opkssh" + + tool := getTool(name, tools) + + const toolVersion = "v0.10.0" + + tests := []test{ + { + os: "linux", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/openpubkey/opkssh/releases/download/v0.10.0/opkssh-linux-amd64", + }, + { + os: "linux", + arch: archARM64, + version: toolVersion, + url: "https://github.com/openpubkey/opkssh/releases/download/v0.10.0/opkssh-linux-arm64", + }, + { + os: "darwin", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/openpubkey/opkssh/releases/download/v0.10.0/opkssh-osx-amd64", + }, + { + os: "darwin", + arch: archDarwinARM64, + version: toolVersion, + url: "https://github.com/openpubkey/opkssh/releases/download/v0.10.0/opkssh-osx-arm64", + }, + { + os: "ming", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/openpubkey/opkssh/releases/download/v0.10.0/opkssh-windows-amd64.exe", + }, + } + verify := false + for _, tc := range tests { + got, _, err := tool.GetURL(tc.os, tc.arch, tc.version, verify) + if err != nil { + t.Fatal(err) + } + if got != tc.url { + t.Errorf("want: %s, got: %s", tc.url, got) + } + } +} + +func Test_DownloadKubelogin(t *testing.T) { + tools := MakeTools() + name := "kubelogin" + + tool := getTool(name, tools) + + const toolVersion = "v0.2.12" + + tests := []test{ + { + os: "linux", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/Azure/kubelogin/releases/download/v0.2.12/kubelogin-linux-amd64.zip", + }, + { + os: "linux", + arch: archARM64, + version: toolVersion, + url: "https://github.com/Azure/kubelogin/releases/download/v0.2.12/kubelogin-linux-arm64.zip", + }, + { + os: "darwin", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/Azure/kubelogin/releases/download/v0.2.12/kubelogin-darwin-amd64.zip", + }, + { + os: "darwin", + arch: archDarwinARM64, + version: toolVersion, + url: "https://github.com/Azure/kubelogin/releases/download/v0.2.12/kubelogin-darwin-arm64.zip", + }, + { + os: "ming", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/Azure/kubelogin/releases/download/v0.2.12/kubelogin-win-amd64.zip", + }, + } + verify := false + for _, tc := range tests { + got, _, err := tool.GetURL(tc.os, tc.arch, tc.version, verify) + if err != nil { + t.Fatal(err) + } + if got != tc.url { + t.Errorf("want: %s, got: %s", tc.url, got) + } + } +} + +func Test_DownloadStarship(t *testing.T) { + tools := MakeTools() + name := "starship" + + tool := getTool(name, tools) + + const toolVersion = "v1.24.1" + + tests := []test{ + { + os: "linux", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/starship/starship/releases/download/v1.24.1/starship-x86_64-unknown-linux-musl.tar.gz", + }, + { + os: "linux", + arch: archARM64, + version: toolVersion, + url: "https://github.com/starship/starship/releases/download/v1.24.1/starship-aarch64-unknown-linux-musl.tar.gz", + }, + { + os: "darwin", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/starship/starship/releases/download/v1.24.1/starship-x86_64-apple-darwin.tar.gz", + }, + { + os: "darwin", + arch: archDarwinARM64, + version: toolVersion, + url: "https://github.com/starship/starship/releases/download/v1.24.1/starship-aarch64-apple-darwin.tar.gz", + }, + { + os: "ming", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/starship/starship/releases/download/v1.24.1/starship-x86_64-pc-windows-msvc.zip", + }, + } + verify := false + for _, tc := range tests { + got, _, err := tool.GetURL(tc.os, tc.arch, tc.version, verify) + if err != nil { + t.Fatal(err) + } + if got != tc.url { + t.Errorf("want: %s, got: %s", tc.url, got) + } + } +} + +func Test_DownloadDyff(t *testing.T) { + tools := MakeTools() + name := "dyff" + + tool := getTool(name, tools) + + const toolVersion = "v1.10.2" + + tests := []test{ + { + os: "darwin", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/homeport/dyff/releases/download/v1.10.2/dyff_1.10.2_darwin_amd64.tar.gz", + }, + { + os: "darwin", + arch: archDarwinARM64, + version: toolVersion, + url: "https://github.com/homeport/dyff/releases/download/v1.10.2/dyff_1.10.2_darwin_arm64.tar.gz", + }, + { + os: "linux", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/homeport/dyff/releases/download/v1.10.2/dyff_1.10.2_linux_amd64.tar.gz", + }, + { + os: "linux", + arch: archARM64, + version: toolVersion, + url: "https://github.com/homeport/dyff/releases/download/v1.10.2/dyff_1.10.2_linux_arm64.tar.gz", + }, + { + os: "mingw64_nt-10.0-18362", + arch: arch64bit, + version: toolVersion, + url: "https://github.com/homeport/dyff/releases/download/v1.10.2/dyff_1.10.2_windows_amd64.tar.gz", + }, + } + + for _, tc := range tests { + got, _, err := tool.GetURL(tc.os, tc.arch, tc.version, false) + if err != nil { + t.Fatal(err) + } + if got != tc.url { + t.Errorf("\nwant: %s\ngot: %s", tc.url, got) + } + } +} + func Test_DownloadOpencode(t *testing.T) { tools := MakeTools() name := "opencode" @@ -8929,13 +9189,13 @@ os: "linux", arch: arch64bit, version: toolVersion, - url: "https://github.com/sst/opencode/releases/download/v0.4.41/opencode-linux-x64.zip", + url: "https://github.com/sst/opencode/releases/download/v0.4.41/opencode-linux-x64.tar.gz", }, { os: "linux", arch: archARM64, version: toolVersion, - url: "https://github.com/sst/opencode/releases/download/v0.4.41/opencode-linux-arm64.zip", + url: "https://github.com/sst/opencode/releases/download/v0.4.41/opencode-linux-arm64.tar.gz", }, { os: "mingw64_nt-10.0-18362", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/pkg/get/tools.go new/arkade-0.11.60/pkg/get/tools.go --- old/arkade-0.11.59/pkg/get/tools.go 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/pkg/get/tools.go 2025-11-24 18:24:20.000000000 +0100 @@ -64,9 +64,9 @@ {{.Name}}-darwin-x64.zip {{- end -}} {{- else if or (eq .Arch "aarch64") (eq .Arch "arm64") -}} -{{.Name}}-linux-arm64.zip +{{.Name}}-linux-arm64.tar.gz {{- else -}} -{{.Name}}-linux-x64.zip +{{.Name}}-linux-x64.tar.gz {{- end -}}`, }) @@ -971,12 +971,12 @@ {{- else if eq .Arch "armv7l" -}} {{$arch = "arm"}} {{- end -}} - + {{$os := .OS}} {{ if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{- end -}} - + https://releases.hashicorp.com/{{.Name}}/{{.VersionNumber}}/{{.Name}}_{{.VersionNumber}}_{{$os}}_{{$arch}}.zip`, }) @@ -1108,18 +1108,18 @@ Version: "2.2.19", Description: "Tool for building and distributing development environments.", URLTemplate: `{{$arch := .Arch}} - + {{- if eq .Arch "x86_64" -}} {{$arch = "amd64"}} {{- else if eq .Arch "armv7l" -}} {{$arch = "arm"}} {{- end -}} - + {{$os := .OS}} {{ if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{- end -}} - + https://releases.hashicorp.com/{{.Name}}/{{.Version}}/{{.Name}}_{{.Version}}_{{$os}}_{{$arch}}.zip`}) tools = append(tools, @@ -2289,12 +2289,12 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := ".tar.gz"}} - + {{- if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{$ext = ".zip"}} {{- end -}} - + {{- if eq .Arch "x86_64" -}} {{$arch = "amd64"}} {{- else if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} @@ -4238,11 +4238,11 @@ {{ $os := .OS }} {{ $arch := .Arch }} {{ $ext := "" }} - + {{- if (eq .Arch "aarch64") -}} {{ $ext = "-aarch64" }} {{- end -}} - + cloud-hypervisor-static{{$ext}}`, }) @@ -4256,11 +4256,11 @@ {{ $os := .OS }} {{ $arch := .Arch }} {{ $ext := "" }} - + {{- if (eq .Arch "aarch64") -}} {{ $ext = "-aarch64" }} {{- end -}} - + ch-remote-static{{$ext}}`, }) @@ -4322,7 +4322,7 @@ {{ if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{$ext = ".exe"}} - {{- end -}} + {{- end -}} regctl-{{$os}}-{{$arch}}{{$ext}} `, @@ -4382,18 +4382,18 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := "tar.gz"}} - + {{- if HasPrefix .OS "ming" -}} {{ $os = "windows" }} {{ $ext = "exe" }} {{- end -}} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- else if eq .Arch "x86_64" -}} {{ $arch = "amd64" }} {{- end -}} - + {{.Name}}_{{.VersionNumber}}_{{$os}}_{{$arch}}.{{$ext}}`, }) @@ -4454,9 +4454,9 @@ {{ if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{ $ext := "tar.gz" }} - + {{- end -}} - + {{- if eq .OS "darwin" -}} {{$os = "darwin"}} {{$arch = "all"}} @@ -4477,19 +4477,19 @@ {{ $os := .OS }} {{ $arch := .Arch }} {{ $ext := "tar.gz" }} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{ $arch = "arm64" }} {{- else if eq .Arch "x86_64" -}} {{ $arch = "amd64" }} {{- end -}} - + {{- if eq .OS "darwin" -}} {{$os = "darwin"}} {{- else if eq .OS "linux" -}} {{ $os = "linux" }} {{- end -}} - + labctl_{{$os}}_{{$arch}}.{{$ext}} `, }) @@ -4532,22 +4532,22 @@ {{ $os := .OS }} {{ $arch := .Arch }} {{ $ext := "tar.gz" }} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{ $arch = "arm64" }} {{- end -}} - + {{ if HasPrefix .OS "ming" -}} {{$os = "Windows"}} {{ $ext = "zip" }} {{- end -}} - + {{- if eq .OS "darwin" -}} {{$os = "Darwin"}} {{- else if eq .OS "linux" -}} {{ $os = "Linux" }} {{- end -}} - + duplik8s_{{$os}}_{{$arch}}.{{$ext}} `, }) @@ -4568,13 +4568,13 @@ {{- else if eq .Arch "armv7l" -}} {{ $arch = "arm" }} {{- end -}} - + {{$os := .OS}} {{ if HasPrefix .OS "ming" -}} {{$ext = ".exe" }} {{$os = "windows"}} {{- end -}} - + https://releases.crossplane.io/stable/{{.Version}}/bin/{{$os}}_{{$arch}}/crank{{$ext}}`, }) @@ -4589,7 +4589,7 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := "tar.gz"}} - + {{- if eq .OS "darwin" -}} {{$os = "Darwin"}} {{- else if eq .OS "linux" -}} @@ -4598,11 +4598,11 @@ {{$os = "Windows"}} {{$ext = "zip"}} {{- end -}} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- end -}} - + rosa_{{$os}}_{{$arch}}.{{$ext}} `, }) @@ -4617,7 +4617,7 @@ BinaryTemplate: ` {{$os := .OS}} {{$arch := .Arch}} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- else if eq .Arch "x86_64" -}} @@ -4625,7 +4625,7 @@ {{- else if eq .Arch "armv7l" -}} {{$arch = "arm32"}} {{- end -}} - + kubie-{{$os}}-{{$arch}} `, }) @@ -4645,7 +4645,7 @@ {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- end -}} - + {{- if eq .OS "darwin" -}} {{$os = "Darwin"}} {{$arch = "all"}} @@ -4655,7 +4655,7 @@ {{$os = "Windows"}} {{$ext = ".exe"}} {{- end -}} - + eks-node-viewer_{{$os}}_{{$arch}}{{$ext}} `, }) @@ -4671,7 +4671,7 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := "zip"}} - + {{- if eq .OS "darwin" -}} {{$os = "osx"}} {{- else if eq .OS "linux" -}} @@ -4679,7 +4679,7 @@ {{- else if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{- end -}} - + {{- if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- else if eq .Arch "x86_64" -}} @@ -4687,7 +4687,7 @@ {{- else if eq .Arch "armv7l" -}} {{$arch = "arm-v7"}} {{- end -}} - + rclone-{{.Version}}-{{$os}}-{{$arch}}.{{$ext}} `, }) @@ -4772,7 +4772,7 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := "tar.gz"}} - + {{- if eq .Arch "x86_64" -}} {{$arch = "amd64"}} {{- else if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} @@ -4780,7 +4780,7 @@ {{- else if eq .Arch "armv7l" -}} {{$arch = "arm"}} {{- end -}} - + gitwho_{{.Version}}_{{$os}}_{{$arch}}.{{$ext}} `, }) @@ -4795,18 +4795,18 @@ {{$os := .OS}} {{$arch := .Arch}} {{$ext := "tar.gz"}} - + {{- if eq .Arch "x86_64" -}} {{$arch = "x64"}} {{- else if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- end -}} - + {{- if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{$ext = "zip"}} {{- end -}} - + {{.Name}}-{{.Version}}-{{$os}}-{{$arch}}.{{$ext}} `, }) @@ -4879,6 +4879,159 @@ tools = append(tools, Tool{ + Owner: "direnv", + Repo: "direnv", + Name: "direnv", + Description: "A tool to manage environment variables and unclutter your .profile", + BinaryTemplate: `direnv`, + URLTemplate: ` +{{$target := ""}} +{{- if eq .OS "linux" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "linux-amd64"}} + {{ else if eq .Arch "aarch64" -}} + {{$target = "linux-arm64"}} + {{ else if eq .Arch "armv7l" -}} + {{$target = "arm"}} + {{- end -}} +{{- else if eq .OS "darwin" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "darwin-amd64"}} + {{ else if eq .Arch "arm64" -}} + {{$target = "darwin-arm64"}} + {{- end -}} +{{- else if HasPrefix .OS "ming" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "windows-amd64"}} + {{- end -}} +{{- end -}} +https://github.com/{{.Owner}}/{{.Repo}}/releases/download/{{.Version}}/direnv.{{$target}}`, + }) + + tools = append(tools, + Tool{ + Owner: "openpubkey", + Repo: "opkssh", + Name: "opkssh", + Description: "A new type of shell that can handle structured data like YAML really well", + BinaryTemplate: `opkssh`, + URLTemplate: ` +{{$target := ""}} +{{- if eq .OS "linux" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "linux-amd64"}} + {{ else if eq .Arch "aarch64" -}} + {{$target = "linux-arm64"}} + {{- end -}} +{{- else if eq .OS "darwin" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "osx-amd64"}} + {{ else if eq .Arch "arm64" -}} + {{$target = "osx-arm64"}} + {{- end -}} +{{- else if HasPrefix .OS "ming" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "windows-amd64.exe"}} + {{- end -}} +{{- end -}} +https://github.com/{{.Owner}}/{{.Repo}}/releases/download/{{.Version}}/opkssh-{{$target}}`, + }) + + tools = append(tools, + Tool{ + Owner: "Azure", + Repo: "kubelogin", + Name: "kubelogin", + Description: "A Kubernetes credential (exec) plugin implementing azure authentication", + BinaryTemplate: `kubelogin`, + URLTemplate: ` +{{$target := ""}} +{{$ext := "zip"}} +{{- if eq .OS "linux" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "linux-amd64"}} + {{ else if eq .Arch "aarch64" -}} + {{$target = "linux-arm64"}} + {{- end -}} +{{- else if eq .OS "darwin" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "darwin-amd64"}} + {{ else if eq .Arch "arm64" -}} + {{$target = "darwin-arm64"}} + {{- end -}} +{{- else if HasPrefix .OS "ming" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "win-amd64"}} + {{- end -}} +{{- end -}} +https://github.com/{{.Owner}}/{{.Repo}}/releases/download/{{.Version}}/kubelogin-{{$target}}.{{$ext}}`, + }) + + tools = append(tools, + Tool{ + Owner: "starship", + Repo: "starship", + Name: "starship", + Description: "The minimal, blazing-fast, and infinitely customizable prompt for any shell!", + BinaryTemplate: `starship`, + URLTemplate: ` +{{$target := ""}} +{{$ext := "tar.gz"}} +{{- if eq .OS "linux" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "x86_64-unknown-linux-musl"}} + {{ else if eq .Arch "aarch64" -}} + {{$target = "aarch64-unknown-linux-musl"}} + {{ else if eq .Arch "armv7l" -}} + {{$target = "armv7-unknown-linux-musleabihf"}} + {{- end -}} +{{- else if eq .OS "darwin" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "x86_64-apple-darwin"}} + {{ else if eq .Arch "arm64" -}} + {{$target = "aarch64-apple-darwin"}} + {{- end -}} +{{- else if HasPrefix .OS "ming" -}} + {{$ext = "zip"}} + {{- if eq .Arch "x86_64" -}} + {{$target = "x86_64-pc-windows-msvc"}} + {{- end -}} +{{- end -}} +https://github.com/{{.Owner}}/{{.Repo}}/releases/download/{{.Version}}/starship-{{$target}}.{{$ext}}`, + }) + + tools = append(tools, + Tool{ + Owner: "homeport", + Repo: "dyff", + Name: "dyff", + Description: "diff tool for YAML files, and sometimes JSON", + BinaryTemplate: `dyff`, + URLTemplate: ` +{{$target := ""}} +{{$ext := "tar.gz"}} +{{- if eq .OS "linux" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "linux_amd64"}} + {{ else if eq .Arch "aarch64" -}} + {{$target = "linux_arm64"}} + {{- end -}} +{{- else if eq .OS "darwin" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "darwin_amd64"}} + {{ else if eq .Arch "arm64" -}} + {{$target = "darwin_arm64"}} + {{- end -}} +{{- else if HasPrefix .OS "ming" -}} + {{- if eq .Arch "x86_64" -}} + {{$target = "windows_amd64"}} + {{- end -}} +{{- end -}} +https://github.com/{{.Owner}}/{{.Repo}}/releases/download/{{.Version}}/dyff_{{.VersionNumber}}_{{$target}}.{{$ext}}`, + }) + + tools = append(tools, + Tool{ Owner: "grafana", Repo: "loki", Name: "logcli", @@ -4894,11 +5047,11 @@ {{- else if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- end -}} - + {{- if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{- end -}} - + {{.Name}}-{{$os}}-{{$arch}}`, URLTemplate: ` {{$os := .OS}} @@ -4911,12 +5064,12 @@ {{- else if (or (eq .Arch "aarch64") (eq .Arch "arm64")) -}} {{$arch = "arm64"}} {{- end -}} - + {{- if HasPrefix .OS "ming" -}} {{$os = "windows"}} {{$ext = "exe.zip"}} {{- end -}} - + https://github.com/grafana/loki/releases/download/{{.Version}}/{{.Name}}-{{$os}}-{{$arch}}.{{$ext}}`, }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arkade-0.11.59/vendor/modules.txt new/arkade-0.11.60/vendor/modules.txt --- old/arkade-0.11.59/vendor/modules.txt 2025-11-17 20:02:25.000000000 +0100 +++ new/arkade-0.11.60/vendor/modules.txt 2025-11-24 18:24:20.000000000 +0100 @@ -25,8 +25,6 @@ ## explicit; go 1.24.0 github.com/containerd/stargz-snapshotter/estargz github.com/containerd/stargz-snapshotter/estargz/errorutil -# github.com/distribution/reference v0.6.0 -## explicit; go 1.20 # github.com/docker/cli v29.0.1+incompatible ## explicit github.com/docker/cli/cli/config @@ -90,8 +88,6 @@ github.com/klauspost/compress/internal/snapref github.com/klauspost/compress/zstd github.com/klauspost/compress/zstd/internal/xxhash -# github.com/magefile/mage v1.14.0 -## explicit; go 1.12 # github.com/mattn/go-colorable v0.1.14 ## explicit; go 1.18 github.com/mattn/go-colorable @@ -142,8 +138,6 @@ # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors -# github.com/rivo/uniseg v0.4.7 -## explicit; go 1.18 # github.com/sethvargo/go-password v0.3.1 ## explicit; go 1.21 github.com/sethvargo/go-password/password @@ -159,7 +153,7 @@ # github.com/vbatts/tar-split v0.12.2 ## explicit; go 1.17 github.com/vbatts/tar-split/archive/tar -# golang.org/x/crypto v0.44.0 +# golang.org/x/crypto v0.45.0 ## explicit; go 1.24.0 golang.org/x/crypto/bcrypt golang.org/x/crypto/blowfish ++++++ arkade.obsinfo ++++++ --- /var/tmp/diff_new_pack.UcSafe/_old 2025-11-25 16:58:55.381275880 +0100 +++ /var/tmp/diff_new_pack.UcSafe/_new 2025-11-25 16:58:55.421277560 +0100 @@ -1,5 +1,5 @@ name: arkade -version: 0.11.59 -mtime: 1763406145 -commit: 5e1ea83ad4b9e1e5e7dec229d4d74cd6032bf300 +version: 0.11.60 +mtime: 1764005060 +commit: 7753c60639bb790fe7af08f12cda546cbb7d6727 ++++++ vendor.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2025-11-17 20:02:25.000000000 +0100 +++ new/vendor/modules.txt 2025-11-24 18:24:20.000000000 +0100 @@ -153,7 +153,7 @@ # github.com/vbatts/tar-split v0.12.2 ## explicit; go 1.17 github.com/vbatts/tar-split/archive/tar -# golang.org/x/crypto v0.44.0 +# golang.org/x/crypto v0.45.0 ## explicit; go 1.24.0 golang.org/x/crypto/bcrypt golang.org/x/crypto/blowfish
