78 lines
2.6 KiB
Text
78 lines
2.6 KiB
Text
# Utilities Command Dispatcher
|
|
# Routes utility commands to appropriate domain-specific handlers
|
|
# NUSHELL 0.109 COMPLIANT - All handlers properly exported
|
|
|
|
use ./ssh.nu *
|
|
use ./sops.nu *
|
|
use ./cache.nu *
|
|
use ./providers.nu *
|
|
use ./plugins.nu *
|
|
use ./shell.nu *
|
|
use ./guides.nu *
|
|
use ./qr.nu *
|
|
use ./alias.nu *
|
|
|
|
# Main utility command dispatcher - Routes to appropriate domain handler
|
|
export def handle_utility_command [
|
|
command: string
|
|
ops: string
|
|
flags: record
|
|
] {
|
|
match $command {
|
|
# Alias table (default: list)
|
|
"alias" => {
|
|
let action = ($ops | split row " " | first | default "list")
|
|
match $action {
|
|
"list" | "l" | "ls" | "" => { alias-list }
|
|
_ => { alias-list }
|
|
}
|
|
}
|
|
|
|
# SSH operations
|
|
"ssh" => { handle_ssh $flags }
|
|
|
|
# SOPS file editing (sed is alias)
|
|
"sed" | "sops" => { handle_sops_edit $command $ops $flags }
|
|
|
|
# Cache management
|
|
"cache" => { handle_cache $ops $flags }
|
|
|
|
# Provider management
|
|
"providers" => { handle_providers $ops $flags }
|
|
|
|
# Plugin management
|
|
"plugin" | "plugins" => { handle_plugins $ops $flags }
|
|
|
|
# Shell operations (nu, nuinfo, list)
|
|
"nu" => { handle_nu $ops $flags }
|
|
"nuinfo" => { handle_nuinfo }
|
|
"list" | "l" | "ls" => { handle_list $ops $flags }
|
|
|
|
# Guide system
|
|
"guide" | "guides" | "howto" => { handle_guide $ops $flags }
|
|
|
|
# QR code generation
|
|
"qr" => { handle_qr }
|
|
|
|
# Unknown command
|
|
_ => {
|
|
print $"❌ Unknown utility command: ($command)"
|
|
print ""
|
|
print "Available utility commands:"
|
|
print " ssh - SSH into server"
|
|
print " sed - Edit SOPS encrypted files (alias)"
|
|
print " sops - Edit SOPS encrypted files"
|
|
print " cache - Cache management (status, config, clear, list)"
|
|
print " providers - List available providers"
|
|
print " nu - Start Nushell with provisioning library loaded"
|
|
print " list - List resources (servers, taskservs, clusters)"
|
|
print " qr - Generate QR code"
|
|
print " nuinfo - Show Nushell version info"
|
|
print " plugin - Plugin management (list, register, test, status)"
|
|
print " guide - Show interactive guides (from-scratch, update, customize)"
|
|
print ""
|
|
print "Use 'provisioning help utilities' for more details"
|
|
exit 1
|
|
}
|
|
}
|
|
}
|