diff --git a/scripts/image-builder.sh b/scripts/image-builder.sh index bbc75eb..25e2bc8 100755 --- a/scripts/image-builder.sh +++ b/scripts/image-builder.sh @@ -315,6 +315,40 @@ edit_project() { done } +# Registry für Projekt auswählen +edit_project_registries() { + local config_file=$1 + + # aktuelle registries im Projekt auslesen + local current=$(grep "^registry=" "$config_file" 2>/dev/null | cut -d= -f2 | tr ',' ' ') + + # alle registries aus Registry-Verwaltung + local all_registries + all_registries=$(ls "$REGISTRY_CONFIG_DIR" 2>/dev/null) + [ -z "$all_registries" ] && { whiptail --msgbox "Keine Registries verfügbar. Bitte zuerst eine Registry erstellen." 10 60; return; } + + # menu_list für whiptail vorbereiten + local menu_list=() + for r in $all_registries; do + if [[ " $current " =~ " $r " ]]; then + menu_list+=("$r" "$r" ON) + else + menu_list+=("$r" "$r" OFF) + fi + done + + # whiptail checklist + local selected + selected=$(whiptail --title "Registries auswählen" --checklist "Mehrere auswählen (SPACE zum markieren)" 20 70 10 \ + "${menu_list[@]}" 3>&1 1>&2 2>&3) || return + + # Whiptail gibt die Auswahl in Anführungszeichen zurück, diese entfernen und Komma getrennt speichern + selected=$(echo $selected | tr -d '"' | tr ' ' ',') + + # In Projekt-Config speichern + sed -i "s|^registry=.*|registry=$selected|" "$config_file" +} + # Schlüssel im Config-File ändern change_project_setting() { local config_file=$1