MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / buildSetupGuide

Function buildSetupGuide

internal/ui/plugins/ansible/plugin.go:2697–2739  ·  view source on GitHub ↗
(inventory coreansible.InventoryResult)

Source from the content-addressed store, hash-verified

2695}
2696
2697func buildSetupGuide(inventory coreansible.InventoryResult) string {
2698 var b strings.Builder
2699 inventoryFile := defaultInventoryFilenameForResult(inventory)
2700
2701 b.WriteString("[primary]Ansible SSH Setup Guide[-]\n\n")
2702 b.WriteString("1) Generate a dedicated SSH key (optional):\n")
2703 b.WriteString(" ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_pvetui -C \"pvetui-ansible\"\n\n")
2704
2705 b.WriteString("2) Copy your key to a target host (example):\n")
2706 exampleUser := "ansible"
2707 exampleHost := "host.example.local"
2708 for _, host := range inventory.Hosts {
2709 user := strings.TrimSpace(host.Vars["ansible_user"])
2710 target := strings.TrimSpace(host.Vars["ansible_host"])
2711 if user == "" || target == "" {
2712 continue
2713 }
2714 exampleUser = user
2715 exampleHost = target
2716 break
2717 }
2718 _, _ = fmt.Fprintf(&b, " ssh-copy-id %s@%s\n", exampleUser, exampleHost)
2719 b.WriteString("\n")
2720
2721 b.WriteString("3) Optional ansible.cfg defaults:\n")
2722 b.WriteString(" [defaults]\n")
2723 b.WriteString(" host_key_checking = True\n")
2724 b.WriteString(" timeout = 30\n")
2725 b.WriteString("\n")
2726
2727 b.WriteString("4) Validate connectivity:\n")
2728 if coreansible.NormalizeInventorySource(inventory.Source) == coreansible.InventorySourceProxmox {
2729 b.WriteString(" export PROXMOX_PASSWORD=... # or PROXMOX_TOKEN_ID / PROXMOX_TOKEN_SECRET\n")
2730 }
2731 _, _ = fmt.Fprintf(&b, " ansible -i ./%s all -m ping\n\n", inventoryFile)
2732
2733 b.WriteString("5) Example run:\n")
2734 _, _ = fmt.Fprintf(&b, " ansible-playbook -i ./%s site.yml\n\n", inventoryFile)
2735
2736 b.WriteString("[secondary]Press esc/backspace/q to close[-]")
2737
2738 return b.String()
2739}
2740
2741func formatCommandResult(result coreansible.CommandResult) string {
2742 var b strings.Builder

Callers 1

showSetupAssistantMethod · 0.85

Calls 2

StringMethod · 0.45

Tested by

no test coverage detected