mirror of
https://github.com/hanzoai/functions.git
synced 2026-10-30 15:04:37 +00:00
Module github.com/fission/fission -> github.com/hanzoai/functions (288 files). CRD API group fission.io -> hanzo.ai (67 files): functions.hanzo.ai, environments.hanzo.ai, httptriggers.hanzo.ai, messagequeuetriggers.hanzo.ai, joining apps.hanzo.ai under the one house group. Doc URLs preserved. Builds green. Matches the cloud contract: clients/functions, /v1/functions, App CR role "function". Remaining: fork the env images + the live CRD-group migration (demo-only today, low risk).
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package storagesvc
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/graymeta/stow"
|
|
_ "github.com/graymeta/stow/local"
|
|
|
|
"github.com/hanzoai/functions/pkg/utils/uuid"
|
|
)
|
|
|
|
type localStorage struct {
|
|
storageType StorageType
|
|
containerName string
|
|
localPath string
|
|
}
|
|
|
|
// NewLocalStorage return new local storage struct
|
|
func NewLocalStorage(localPath string) Storage {
|
|
subdir := os.Getenv("SUBDIR")
|
|
if len(subdir) == 0 {
|
|
subdir = "fission-functions"
|
|
}
|
|
return localStorage{
|
|
storageType: StorageTypeLocal,
|
|
containerName: subdir,
|
|
localPath: localPath,
|
|
}
|
|
}
|
|
|
|
// Local
|
|
func (ls localStorage) getStorageType() StorageType {
|
|
return ls.storageType
|
|
}
|
|
|
|
func (ls localStorage) getUploadFileName() (string, error) {
|
|
// This is not the item ID (that's returned by Put)
|
|
// should we just use handler.Filename? what are the constraints here?
|
|
return uuid.NewString(), nil
|
|
}
|
|
|
|
func (ls localStorage) getSubDir() string {
|
|
return ""
|
|
}
|
|
|
|
func (ls localStorage) getContainerName() string {
|
|
return ls.containerName
|
|
}
|
|
|
|
func (ls localStorage) dial() (stow.Location, error) {
|
|
cfg := stow.ConfigMap{"path": ls.localPath}
|
|
return stow.Dial("local", cfg)
|
|
}
|