Files
airshipctl/pkg/document/filesystem.go
Matt McEuen e690a4c453 Update Kustomize to v3.3.1
This updates the Kustomize module dependency to v3.3.1,
which has replacement functionality required by the Replacement Transformer
plugin, among other enhancements.

Change-Id: I058114c398464394cfb6b2626cb475d763c1bacc
2020-04-03 12:11:33 -05:00

35 lines
802 B
Go

package document
import (
"io/ioutil"
"sigs.k8s.io/kustomize/v3/pkg/fs"
)
// File extends kustomize File and provide abstraction to creating temporary files
type File interface {
fs.File
Name() string
}
// FileSystem extends kustomize FileSystem and provide abstraction to creating temporary files
type FileSystem interface {
fs.FileSystem
TempFile(string, string) (File, error)
}
// DocumentFs is adaptor to TempFile
type DocumentFs struct {
fs.FileSystem
}
// NewDocumentFs returns an instalce of DocumentFs
func NewDocumentFs() FileSystem {
return &DocumentFs{FileSystem: fs.MakeFsOnDisk()}
}
// TempFile creates file in temporary filesystem, at default os.TempDir
func (dfs DocumentFs) TempFile(tmpDir string, prefix string) (File, error) {
return ioutil.TempFile(tmpDir, prefix)
}