homelab infrastructure services
at main 48 lines 1.4 kB view raw
1#!/bin/bash 2# tin sheet list - List all registered sheets 3 4set -euo pipefail 5 6# Get tinsnip root and source libraries 7SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 8TINSNIP_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")" 9source "$TINSNIP_ROOT/lib/core.sh" 10source "$TINSNIP_ROOT/lib/registry.sh" 11 12# List all sheets 13list_all_sheets() { 14 if ! check_tinsnip_station; then 15 error_with_prefix "Sheet List" "Cannot list sheets without topsheet.station-prod" 16 error_with_prefix "Sheet List" "Set up topsheet first: tin machine station prod <nas-server>" 17 return 1 18 fi 19 20 echo "Registered Sheets:" 21 echo "==================" 22 23 if ! list_sheets >/dev/null 2>&1; then 24 echo "No sheets registered yet." 25 echo 26 echo "Register a sheet with: tin sheet create <name>" 27 return 0 28 fi 29 30 # Show sheets with formatting 31 local current_sheet 32 current_sheet=$(get_sheet) 33 34 list_sheets | while IFS='=' read -r sheet_name sheet_number; do 35 if [[ "$sheet_name" == "$current_sheet" ]]; then 36 echo " $sheet_name = $sheet_number (current)" 37 else 38 echo " $sheet_name = $sheet_number" 39 fi 40 done 41 42 echo 43 echo "Current sheet: $current_sheet" 44 echo "Set sheet with: export TIN_SHEET=<name>" 45} 46 47# Main execution 48list_all_sheets