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

Function writeTempPlaybook

internal/ui/plugins/ansible/plugin.go:2820–2851  ·  view source on GitHub ↗
(content string)

Source from the content-addressed store, hash-verified

2818}
2819
2820func 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
2853func (p *Plugin) showLiveOutputModal(title string) (appendLine func(string), closeModalFn func()) {
2854 pages := p.app.Pages()

Callers 1

runBootstrapAccessMethod · 0.85

Calls 2

CloseMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected