diff --git a/pkg/cluster/cluster_file.go b/pkg/cluster/cluster_file.go index 64a25e7..c57995a 100644 --- a/pkg/cluster/cluster_file.go +++ b/pkg/cluster/cluster_file.go @@ -1,6 +1,7 @@ package cluster import ( + "bytes" "fmt" "io" "os" @@ -64,6 +65,19 @@ func (m *Cluster) ReadFile(name string, args ...any) ([]byte, error) { return fs.ReadFile(m.dir, name) } +// WriteStringFile writes the given content to a file on the machine's config directory +func (m *Cluster) WriteStringFile(value string, name string, args ...any) error { + f, err := m.CreateTruncFile(name, args...) + if err != nil { + return err + } + defer f.Close() + + buf := bytes.NewBufferString(value) + _, err = buf.WriteTo(f) + return err +} + // MkdirAll creates directories relative to the cluster's config directory func (m *Cluster) MkdirAll(name string, args ...any) error { if len(args) > 0 { diff --git a/pkg/cluster/machine_file.go b/pkg/cluster/machine_file.go index 20750a1..f4bb148 100644 --- a/pkg/cluster/machine_file.go +++ b/pkg/cluster/machine_file.go @@ -1,7 +1,6 @@ package cluster import ( - "bytes" "fmt" "io" "os" @@ -56,15 +55,9 @@ func (m *Machine) ReadFile(name string, args ...any) ([]byte, error) { // WriteStringFile writes the given content to a file on the machine's config directory func (m *Machine) WriteStringFile(value string, name string, args ...any) error { - f, err := m.CreateTruncFile(name, args...) - if err != nil { - return err - } - defer f.Close() + fullName := m.getFilename(name, args...) - buf := bytes.NewBufferString(value) - _, err = buf.WriteTo(f) - return err + return m.zone.zones.WriteStringFile(value, fullName) } // MkdirAll creates directories relative to the machine's config directory