mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-03-21 12:41:15 +00:00
61 lines
1.6 KiB
Bash
Executable File
61 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source ./modules/colors.sh
|
|
|
|
function install_helmrelease() {
|
|
local release_name="$1"
|
|
local namespace="$2"
|
|
local chart_path="$3"
|
|
local repo_name="$4"
|
|
local repo_ns="$5"
|
|
local values_file="$6"
|
|
|
|
if [[ -z "$release_name" ]]; then
|
|
echo -e "${RED}Error: Release name is required.${RESET}"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "$namespace" ]]; then
|
|
echo -e "${RED}Error: Namespace name is required.${RESET}"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "$chart_path" ]]; then
|
|
echo -e "${RED}Error: Chart path name is required.${RESET}"
|
|
exit 1
|
|
fi
|
|
|
|
local helmrelease_file=$(mktemp /tmp/HelmRelease.XXXXXX.yaml)
|
|
|
|
{
|
|
echo "apiVersion: helm.toolkit.fluxcd.io/v2"
|
|
echo "kind: HelmRelease"
|
|
echo "metadata:"
|
|
echo " labels:"
|
|
echo " cozystack.io/ui: \"true\""
|
|
echo " name: \"$release_name\""
|
|
echo " namespace: \"$namespace\""
|
|
echo "spec:"
|
|
echo " chart:"
|
|
echo " spec:"
|
|
echo " chart: \"$chart_path\""
|
|
echo " reconcileStrategy: Revision"
|
|
echo " sourceRef:"
|
|
echo " kind: HelmRepository"
|
|
echo " name: \"$repo_name\""
|
|
echo " namespace: \"$repo_ns\""
|
|
echo " version: '*'"
|
|
echo " interval: 1m0s"
|
|
echo " timeout: 5m0s"
|
|
|
|
if [[ -n "$values_file" && -f "$values_file" ]]; then
|
|
echo " values:"
|
|
cat "$values_file" | sed 's/^/ /'
|
|
fi
|
|
} > "$helmrelease_file"
|
|
|
|
kubectl apply -f "$helmrelease_file"
|
|
|
|
rm -f "$helmrelease_file"
|
|
}
|