Scripts: Add dist/install-k8s-tools.sh for managing Kubernetes clusters

Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
Michael Mayer
2025-07-27 09:20:53 +02:00
parent 38cafb1c2b
commit 96137a849a
2 changed files with 26 additions and 18 deletions

View File

@@ -2,12 +2,9 @@
# Installs the "duf" and "muffet" admin tools on Linux.
# bash <(curl -s https://raw.githubusercontent.com/photoprism/photoprism/develop/scripts/dist/install-admin-tools.sh)
# Abort if not executed as root..
if [[ $(id -u) != "0" ]]; then
echo "Usage: run ${0##*/} as root" 1>&2
exit 1
fi
#
# This will install additional admin tools for managing Kubernetes deployments on Linux:
# bash <(curl -s https://raw.githubusercontent.com/photoprism/photoprism/develop/scripts/dist/install-k8s-tools.sh)
set -eux;
@@ -19,19 +16,11 @@ then
fi
echo "Installing the duf command to check storage usage..."
GOBIN="/usr/local/bin" go install github.com/muesli/duf@latest
sudo GOBIN="/usr/local/bin" go install github.com/muesli/duf@latest
sudo ln -sf /usr/local/bin/duf /usr/local/bin/df
echo "Installing muffet, a tool for checking links..."
GOBIN="/usr/local/bin" go install github.com/raviqqe/muffet@latest
sudo GOBIN="/usr/local/bin" go install github.com/raviqqe/muffet@latest
echo "Installing petname to generate pronounceable names..."
GOBIN="/usr/local/bin" go install github.com/dustinkirkland/golang-petname/cmd/petname@latest
echo "Installing doctl for using the DigitalOcean API...."
GOBIN="/usr/local/bin" go install github.com/digitalocean/doctl/cmd/doctl@latest
echo "Installing Kustomize for Kubernetes configuration management...."
GOBIN="/usr/local/bin" go install sigs.k8s.io/kustomize/kustomize/v5@latest
# Create a symbolic link for "duf" so that it is used instead of the original "df".
ln -sf /usr/local/bin/duf /usr/local/bin/df
sudo GOBIN="/usr/local/bin" go install github.com/dustinkirkland/golang-petname/cmd/petname@latest

19
scripts/dist/install-k8s-tools.sh vendored Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Installs additional admin tools for managing Kubernetes deployments on Linux.
# bash <(curl -s https://raw.githubusercontent.com/photoprism/photoprism/develop/scripts/dist/install-k8s-tools.sh)
set -eux;
# Is Go installed?
if ! command -v go &> /dev/null
then
echo "Go must be installed to run this."
exit 1
fi
echo "Installing K9s for managing Kubernetes clusters...."
sudo GOBIN="/usr/local/bin" go install github.com/derailed/k9s@latest
echo "Installing Kustomize for Kubernetes configuration management...."
sudo GOBIN="/usr/local/bin" go install sigs.k8s.io/kustomize/kustomize/v5@latest