(content string)
| 2818 | } |
| 2819 | |
| 2820 | func writeTempPlaybook(content string) (path string, cleanup func(), err error) { |
| 2821 | tmpFile, err := os.CreateTemp("", "pvetui-ansible-bootstrap-*.yml") |
| 2822 | if err != nil { |
| 2823 | return "", nil, err |
| 2824 | } |
| 2825 | |
| 2826 | defer func() { |
| 2827 | if err != nil { |
| 2828 | _ = tmpFile.Close() |
| 2829 | // #nosec G703 -- temp path is created by os.CreateTemp. |
| 2830 | _ = os.Remove(tmpFile.Name()) |
| 2831 | } |
| 2832 | }() |
| 2833 | |
| 2834 | if _, err = tmpFile.WriteString(content); err != nil { |
| 2835 | return "", nil, err |
| 2836 | } |
| 2837 | if err = tmpFile.Close(); err != nil { |
| 2838 | return "", nil, err |
| 2839 | } |
| 2840 | // #nosec G703 -- temp path is created by os.CreateTemp. |
| 2841 | if err = os.Chmod(tmpFile.Name(), 0o600); err != nil { |
| 2842 | return "", nil, err |
| 2843 | } |
| 2844 | |
| 2845 | cleanup = func() { |
| 2846 | // #nosec G703 -- temp path is created by os.CreateTemp. |
| 2847 | _ = os.Remove(tmpFile.Name()) |
| 2848 | } |
| 2849 | |
| 2850 | return tmpFile.Name(), cleanup, nil |
| 2851 | } |
| 2852 | |
| 2853 | func (p *Plugin) showLiveOutputModal(title string) (appendLine func(string), closeModalFn func()) { |
| 2854 | pages := p.app.Pages() |
no test coverage detected