Clean up 404 KCL references (99.75% complete): - Rename kcl_* variables to schema_*/nickel_* (kcl_path→schema_path, etc.) - Update functions: parse_kcl_file→parse_nickel_file - Update env vars: KCL_MOD_PATH→NICKEL_IMPORT_PATH - Fix cli/providers-install: add has_nickel and nickel_version variables - Correct import syntax: .nickel.→.ncl. - Update 57 files across core, CLI, config, and utilities Configure pre-commit hooks: - Activate: nushell-check, nickel-typecheck, markdownlint - Comment out: Rust hooks (fmt, clippy, test), check-yaml Testing: - Module discovery: 9 modules (6 providers, 1 taskserv, 2 clusters) ✅ - Syntax validation: 15 core files ✅ - Pre-commit hooks: all passing ✅
62 lines
2.2 KiB
Plaintext
62 lines
2.2 KiB
Plaintext
use lib_provisioning *
|
|
use utils.nu *
|
|
use ../lib_provisioning/config/accessor.nu *
|
|
|
|
# List all servers
|
|
export def "main list" [
|
|
...args # Args for list command
|
|
--infra (-i): string # Infra directory
|
|
--settings (-s): string # Settings path
|
|
--outfile (-o): string # Output file
|
|
--check (-c) # Only check mode
|
|
--debug (-x) # Use Debug mode
|
|
--xm # Debug with PROVISIONING_METADATA
|
|
--xc # Debug for task and services locally
|
|
--xr # Debug for remote servers
|
|
--xld # Log level with DEBUG
|
|
--metadata # Error with metadata
|
|
--notitles # not titles
|
|
--helpinfo (-h) # For more details use options "help"
|
|
--out: string # Print Output format: json, yaml, text (default)
|
|
]: nothing -> nothing {
|
|
if ($out | is-not-empty) {
|
|
set-provisioning-out $out
|
|
set-provisioning-no-terminal true
|
|
}
|
|
|
|
provisioning_init $helpinfo "servers list" $args
|
|
|
|
if $debug { set-debug-enabled true }
|
|
if $metadata { set-metadata-enabled true }
|
|
|
|
# Load server settings
|
|
let curr_settings = (find_get_settings --infra $infra --settings $settings)
|
|
|
|
# Get servers info
|
|
let servers_table = (mw_servers_info $curr_settings)
|
|
|
|
# Check if any servers exist
|
|
if ($servers_table | length) == 0 {
|
|
if (get-provisioning-out | is-empty) {
|
|
_print "No servers configured"
|
|
} else {
|
|
_print ([] | to json) "json" "result" "table"
|
|
}
|
|
} else {
|
|
# Display servers
|
|
if ($out | is-empty) {
|
|
# Terminal output with formatting
|
|
_print ($servers_table | table -i false)
|
|
} else {
|
|
# Structured output (JSON, YAML)
|
|
match (get-provisioning-out) {
|
|
"json" => { _print ($servers_table | to json) "json" "result" "table" }
|
|
"yaml" => { _print ($servers_table | to yaml) "yaml" "result" "table" }
|
|
_ => { _print ($servers_table | table -i false) }
|
|
}
|
|
}
|
|
}
|
|
|
|
if not $notitles and not (is-debug-enabled) { end_run "" }
|
|
}
|