Browse Source

zones: introduce Machine.ReadFile()

Signed-off-by: Alejandro Mery <amery@jpi.io>
pull/1/head
Alejandro Mery 11 months ago
parent
commit
3599812072
  1. 25
      pkg/zones/machine.go

25
pkg/zones/machine.go

@ -1,7 +1,10 @@
package zones package zones
import ( import (
"fmt"
"io/fs"
"net/netip" "net/netip"
"path/filepath"
"strconv" "strconv"
"strings" "strings"
"sync" "sync"
@ -56,3 +59,25 @@ func (m *Machine) FullName() string {
return m.Name return m.Name
} }
// ReadFile reads a file from the machine's config directory
func (m *Machine) ReadFile(name string, args ...any) ([]byte, error) {
base := m.zone.zones.dir
fullName := m.getFilename(name, args...)
return fs.ReadFile(base, fullName)
}
func (m *Machine) getFilename(name string, args ...any) string {
if len(args) > 0 {
name = fmt.Sprintf(name, args...)
}
s := []string{
m.zone.Name,
m.Name,
name,
}
return filepath.Join(s...)
}

Loading…
Cancel
Save