core/scripts/05_install_longhorn.sh

47 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
# Check if the Cloudflare API token is provided as an argument
if [ -z "$1" ]; then
echo "Error: Missing S3 access key ID."
echo "Usage: $0 <AWS_ACCESS_KEY_ID> <AWS_SECRET_ACCESS_KEY>"
echo "You must provide your access key ID as a parameter to run this script."
exit 1
fi
# Check if the Cloudflare API token is provided as an argument
if [ -z "$2" ]; then
echo "Error: Missing S3 secret access key ID."
echo "Usage: $0 <AWS_ACCESS_KEY_ID> <AWS_SECRET_ACCESS_KEY>"
echo "You must provide your secret access key ID as a parameter to run this script."
exit 1
fi
AWS_ACCESS_KEY_ID=$1
AWS_SECRET_ACCESS_KEY=$2
# Add the longhorn Helm repository
helm repo add longhorn https://charts.longhorn.io
helm repo update
# Create the namespace for longhorn
kubectl create namespace longhorn-system || true
kubectl label namespace longhorn-system pod-security.kubernetes.io/enforce=privileged
kubectl label namespace longhorn-system pod-security.kubernetes.io/audit=privileged
kubectl label namespace longhorn-system pod-security.kubernetes.io/warn=privileged
kubectl delete secret longhorn-s3-secret -n longhorn-system || true
kubectl create secret generic longhorn-s3-secret \
--namespace longhorn-system \
--from-literal=AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
--from-literal=AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
--from-literal=AWS_REGION=eu-west-1
# Install the longhorn chart
helm install longhorn longhorn/longhorn \
--namespace longhorn-system \
--version 1.7.2 \
-f ./helm-values/longhorn.yaml