pico

created pr with 70.1 on 2025-06-08T15:26:48Z · by c8ef7d19
cmds
checkout latest patchset:
ssh pr.pico.sh print 70 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print 70.[rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 70
+34 -0 pkg/shared/storage/base.go #
......@@ -0,0 +1,34 @@
1+package storage
2+
3+import (
4+ "fmt"
5+ "log/slog"
6+
7+ "github.com/picosh/utils"
8+)
9+
10+func GetStorageTypeFromEnv() string {
11+ return utils.GetEnv("STORAGE_ADAPTER", "minio")
12+}
13+
14+func NewStorage(logger *slog.Logger, adapter string) (StorageServe, error) {
15+ logger.Info("storage adapter", "adapter", adapter)
16+ switch adapter {
17+ case "minio":
18+ minioURL := utils.GetEnv("MINIO_URL", "")
19+ minioUser := utils.GetEnv("MINIO_ROOT_USER", "")
20+ minioPass := utils.GetEnv("MINIO_ROOT_PASSWORD", "")
21+ logger.Info("using minio storage", "url", minioURL, "user", minioUser)
22+ return NewStorageMinio(logger, minioURL, minioUser, minioPass)
23+ case "fs":
24+ fsPath := utils.GetEnv("FS_STORAGE_DIR", "/tmp/pico_storage")
25+ logger.Info("using filesystem storage", "path", fsPath)
26+ return NewStorageFS(logger, fsPath)
27+ case "memory":
28+ data := map[string]map[string]string{}
29+ logger.Info("using memory storage")
30+ return NewStorageMemory(data)
31+ default:
32+ return nil, fmt.Errorf("unsupported storage type: %s", adapter)
33+ }
34+}
Back to top