mirror of
https://github.com/shadoll/helm-charts.git
synced 2026-08-28 11:33:17 +00:00
feat: Add home-assistant-dev chart and update update-charts script for image tag management
This commit is contained in:
@@ -17,6 +17,8 @@ Icon
|
|||||||
charts/*.tgz
|
charts/*.tgz
|
||||||
charts/*/charts/
|
charts/*/charts/
|
||||||
charts/*/tmpcharts/
|
charts/*/tmpcharts/
|
||||||
|
**/charts/*.tgz
|
||||||
|
**/Chart.lock
|
||||||
|
|
||||||
# IDE files
|
# IDE files
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: home-assistant-dev
|
||||||
|
description: Home Assistant development build - wraps home-assistant chart with dev defaults
|
||||||
|
type: application
|
||||||
|
annotations:
|
||||||
|
version-source: dockerhub-dev:homeassistant/home-assistant:^[0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+$
|
||||||
|
version: 0.1.9-dev
|
||||||
|
appVersion: "2026.4.0.dev202603240309"
|
||||||
|
dependencies:
|
||||||
|
- name: home-assistant
|
||||||
|
version: ">=0.1.0"
|
||||||
|
repository: "file://../home-assistant"
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
home-assistant:
|
||||||
|
image:
|
||||||
|
# Must match Chart.yaml appVersion — subchart can't access parent's appVersion
|
||||||
|
tag: "2026.4.0.dev202603240309"
|
||||||
|
|
||||||
|
hostNetwork: false
|
||||||
|
|
||||||
|
homekit:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
type: pvc
|
||||||
|
size: 5Gi
|
||||||
|
storageClass: local-path
|
||||||
|
media:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "100m"
|
||||||
|
memory: "512Mi"
|
||||||
|
limits:
|
||||||
|
cpu: "2"
|
||||||
|
memory: "2Gi"
|
||||||
@@ -25,6 +25,11 @@ fetch_latest() {
|
|||||||
local pattern="${source_data#*:}"
|
local pattern="${source_data#*:}"
|
||||||
version=$(curl -s "https://registry.hub.docker.com/v2/repositories/$repo/tags?page_size=100" | jq -r '.results[].name' | grep -E "$pattern" | sort -V -r | head -1)
|
version=$(curl -s "https://registry.hub.docker.com/v2/repositories/$repo/tags?page_size=100" | jq -r '.results[].name' | grep -E "$pattern" | sort -V -r | head -1)
|
||||||
;;
|
;;
|
||||||
|
"dockerhub-dev")
|
||||||
|
local repo="${source_data%%:*}"
|
||||||
|
local pattern="${source_data#*:}"
|
||||||
|
version=$(curl -s "https://registry.hub.docker.com/v2/repositories/$repo/tags?page_size=100" | jq -r '.results[].name' | grep -E "$pattern" | head -1)
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
@@ -46,10 +51,16 @@ apply_pattern() {
|
|||||||
# Bump semver patch version (0.1.9 -> 0.1.10)
|
# Bump semver patch version (0.1.9 -> 0.1.10)
|
||||||
bump_version() {
|
bump_version() {
|
||||||
local version=$1
|
local version=$1
|
||||||
|
# Extract optional suffix (e.g., -dev, -beta)
|
||||||
|
local suffix=""
|
||||||
|
if [[ "$version" == *-* ]]; then
|
||||||
|
suffix="-${version#*-}"
|
||||||
|
version="${version%%-*}"
|
||||||
|
fi
|
||||||
local major minor patch
|
local major minor patch
|
||||||
IFS='.' read -r major minor patch <<< "$version"
|
IFS='.' read -r major minor patch <<< "$version"
|
||||||
patch=$((patch + 1))
|
patch=$((patch + 1))
|
||||||
echo "$major.$minor.$patch"
|
echo "$major.$minor.$patch$suffix"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Main loop through charts
|
# Main loop through charts
|
||||||
@@ -101,6 +112,16 @@ for chart_dir in "$REPO_ROOT"/*/; do
|
|||||||
"$chart_yaml"
|
"$chart_yaml"
|
||||||
rm -f "$chart_yaml.bak"
|
rm -f "$chart_yaml.bak"
|
||||||
|
|
||||||
|
# Update image.tag in values.yaml if it has a non-empty tag (for wrapper charts)
|
||||||
|
values_yaml="$chart_dir/values.yaml"
|
||||||
|
if [ -f "$values_yaml" ] && grep -qE 'tag: ".+"' "$values_yaml"; then
|
||||||
|
sed -i.bak \
|
||||||
|
-e 's|tag: "[^"][^"]*"|tag: "'"$latest_clean"'"|' \
|
||||||
|
"$values_yaml"
|
||||||
|
rm -f "$values_yaml.bak"
|
||||||
|
echo " Updated values.yaml image.tag"
|
||||||
|
fi
|
||||||
|
|
||||||
UPDATES_FOUND="$UPDATES_FOUND\n- **$chart_name**: $current_app_version ➔ $latest_clean (Chart v$new_chart_version)"
|
UPDATES_FOUND="$UPDATES_FOUND\n- **$chart_name**: $current_app_version ➔ $latest_clean (Chart v$new_chart_version)"
|
||||||
else
|
else
|
||||||
echo " Up to date."
|
echo " Up to date."
|
||||||
|
|||||||
Reference in New Issue
Block a user