feat: Add home-assistant-dev chart and update update-charts script for image tag management

This commit is contained in:
sha
2026-03-24 17:06:44 +02:00
parent 67c4adf846
commit ae3ddefdad
4 changed files with 61 additions and 1 deletions
+2
View File
@@ -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/
+12
View File
@@ -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"
+25
View File
@@ -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"
+22 -1
View File
@@ -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."