diff --git a/storage.go b/storage.go index 1c5f693..6317e70 100644 --- a/storage.go +++ b/storage.go @@ -17,6 +17,8 @@ type StorageInstance interface { IsImgExsits(name string) bool AddImage(name string) Pick(exclude []string) string + SaveConf(data []byte) error + GetConf() ([]byte, error) } type storage struct { diff --git a/storage_native.go b/storage_native.go index 0890fa6..de55cb4 100644 --- a/storage_native.go +++ b/storage_native.go @@ -120,3 +120,13 @@ func (ns *NativeStorage) ScanImgs(imgdir string) error { } return nil } + +// SaveConf Save config file into storage +func (ns *NativeStorage) SaveConf(data []byte) error { + return os.WriteFile("conf.pb", data, 0644) +} + +// SaveConf Save config file into storage +func (ns *NativeStorage) GetConf() ([]byte, error) { + return os.ReadFile("conf.pb") +} diff --git a/storage_remote.go b/storage_remote.go index 2aea801..47c4b64 100644 --- a/storage_remote.go +++ b/storage_remote.go @@ -123,3 +123,14 @@ func (remo *RemoteStorage) ScanImgs(imgdir string) error { } return nil } + +// SaveConf Save config file into storage +func (remo *RemoteStorage) SaveConf(data []byte) error { + return remo.cli.SetFile("cfg", "conf.pb", data) +} + +// SaveConf Save config file into storage +func (remo *RemoteStorage) GetConf() (data []byte, err error) { + data, _, err = remo.cli.GetFile("cfg", "conf.pb") + return +}