infctl-cli/scripts/redis_secret.sh

36 lines
965 B
Bash
Raw Normal View History

#!/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