Files
Olares/cli/pkg/phase/system/storage.go

44 lines
1.2 KiB
Go

package system
import (
"os"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/module"
"github.com/beclab/Olares/cli/pkg/core/pipeline"
"github.com/beclab/Olares/cli/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/storage"
)
func InstallStoragePipeline(runtime *common.KubeRuntime) *pipeline.Pipeline {
si := runtime.GetSystemInfo()
if si.IsDarwin() || si.IsWindows() {
logger.Infof("storage is supposed to be installed on Linux, no operation will be done on %s", si.GetOsType())
os.Exit(0)
}
var modules []module.Module
manifestMap, err := manifest.ReadAll(runtime.Arg.Manifest)
if err != nil {
logger.Fatal(err)
}
modules = []module.Module{
&storage.ValidateModule{
Skip: runtime.Arg.Storage.StorageType == common.ManagedMinIO,
},
&storage.InstallMinioModule{
ManifestModule: manifest.ManifestModule{
Manifest: manifestMap,
BaseDir: runtime.GetBaseDir(), // l.runtime.Arg.BaseDir,
},
Skip: runtime.Arg.Storage.StorageType != common.ManagedMinIO,
},
}
return &pipeline.Pipeline{
Name: "Install Storage",
Modules: modules,
Runtime: runtime,
}
}