infctl-cli/scripts/redis_secret.sh
jon brookes e64666340a chore/test-local-dev-builds (#2)
tested initial dev deployment to local k3d

Reviewed-on: https://codeberg.org/headshed/infctl-cli/pulls/2
Co-authored-by: jon brookes <jon@headshed.dev>
Co-committed-by: jon brookes <jon@headshed.dev>
2025-07-16 18:50:16 +02:00

35 lines
965 B
Bash
Executable file

#!/usr/bin/env bash
if ! command -v pwgen &> /dev/null; then
echo "Error: 'pwgen' command not found. Please install it (e.g., 'sudo apt install pwgen') and try again."
exit 1
fi
NAMESPACE=redis
REDIS_SECRET=redis-auth
generate_password() {
pwgen 32 1
}
REDIS_PASSWORD=$(generate_password)
NAMESPACE_EXISTS=$(kubectl get namespace $NAMESPACE --ignore-not-found)
if [ -z "$NAMESPACE_EXISTS" ]; then
echo "Creating namespace $NAMESPACE"
kubectl create namespace $NAMESPACE
else
echo "Namespace $NAMESPACE already exists"
fi
REDIS_SECRET_EXISTS=$(kubectl get secret $REDIS_SECRET -n $NAMESPACE --ignore-not-found)
if [ -z "$REDIS_SECRET_EXISTS" ]; then
echo "Creating secret $REDIS_SECRET in namespace $NAMESPACE"
kubectl create secret generic $REDIS_SECRET -n $NAMESPACE \
--from-literal=password=$REDIS_PASSWORD \
--dry-run=client -o yaml | kubectl apply -f -
else
echo "Secret $REDIS_SECRET already exists in namespace $NAMESPACE"
fi