Browse Source

cluster: add DirFS() using hackpadfs/os

Signed-off-by: Alejandro Mery <amery@jpi.io>
pull/19/head
Alejandro Mery 1 year ago
parent
commit
ec2b30c1e7
  1. 25
      pkg/cluster/cluster_fs.go
  2. 3
      pkg/cluster/cluster_scan_options.go

25
pkg/cluster/cluster_fs.go

@ -0,0 +1,25 @@
package cluster
import (
"io/fs"
"path/filepath"
"github.com/hack-pad/hackpadfs/os"
)
// DirFS returns a file system (an [fs.FS]) for the tree
// of files rooted at the directory dir.
func DirFS(dir string) (fs.FS, error) {
dir = filepath.Clean(dir)
fullPath, err := filepath.Abs(dir)
if err != nil {
return nil, err
}
sub, err := os.NewFS().Sub(fullPath[1:])
if err != nil {
return nil, err
}
return sub, nil
}

3
pkg/cluster/cluster_scan_options.go

@ -6,7 +6,6 @@ import (
"darvaza.org/resolver" "darvaza.org/resolver"
"darvaza.org/slog" "darvaza.org/slog"
"github.com/hack-pad/hackpadfs/os"
) )
// A ScanOption pre-configures the Zones before scanning // A ScanOption pre-configures the Zones before scanning
@ -101,7 +100,7 @@ func NewFromDirectory(dir, domain string, opts ...ScanOption) (*Cluster, error)
return nil, err return nil, err
} }
sub, err := os.NewFS().Sub(fullPath[1:]) sub, err := DirFS(dir)
if err != nil { if err != nil {
return nil, err return nil, err
} }

Loading…
Cancel
Save