mirror of
https://github.com/outbackdingo/deployment.git
synced 2026-03-02 22:11:13 +00:00
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Function to get the current network interface IP
|
|
get_ip_address() {
|
|
ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -n 1
|
|
}
|
|
|
|
# Parse command line arguments
|
|
command=$1
|
|
shift
|
|
while getopts ":s:i:" opt; do
|
|
case $opt in
|
|
s) storage_path="$OPTARG"
|
|
;;
|
|
i) ip_address="$OPTARG"
|
|
;;
|
|
\?) echo "Invalid option -$OPTARG" >&2
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$command" == "apply" ]; then
|
|
if [ -z "$storage_path" ]; then
|
|
echo "Usage: $0 apply -s <storage_path> [-i <ip_address>]"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$ip_address" ]; then
|
|
ip_address=$(get_ip_address)
|
|
fi
|
|
|
|
# Make a local copy of kustomization.yaml
|
|
cp ./overlays/microk8s/kustomization.yaml ./kustomization.yaml
|
|
|
|
# Replace placeholders in the local copy of kustomization.yaml
|
|
sed -i "s|localhost|$ip_address|g" ./kustomization.yaml
|
|
sed -i "s|/media/Storage|$storage_path|g" ./kustomization.yaml
|
|
|
|
# Adjust the base path reference
|
|
sed -i "s|../../base|./base|g" ./kustomization.yaml
|
|
|
|
# Apply kustomize installation
|
|
kubectl kustomize ./ --enable-helm --load-restrictor LoadRestrictionsNone | kubectl apply -f -
|
|
|
|
# Clean up the local copy
|
|
rm ./kustomization.yaml
|
|
|
|
elif [ "$command" == "delete" ]; then
|
|
# Make a local copy of kustomization.yaml
|
|
cp ./overlays/microk8s/kustomization.yaml ./kustomization.yaml
|
|
|
|
# Adjust the base path reference
|
|
sed -i "s|../../base|./base|g" ./kustomization.yaml
|
|
|
|
# Delete kustomize installation
|
|
kubectl kustomize ./ --enable-helm --load-restrictor LoadRestrictionsNone | kubectl delete -f -
|
|
|
|
# Clean up the local copy
|
|
rm ./kustomization.yaml
|
|
|
|
else
|
|
echo "Usage: $0 {apply|delete} [-s <storage_path>] [-i <ip_address>]"
|
|
exit 1
|
|
fi |