47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
|
#!/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
|
||
|
|