diff --git a/contrib/config/luet.yaml b/contrib/config/luet.yaml index 840f196a..95171f98 100644 --- a/contrib/config/luet.yaml +++ b/contrib/config/luet.yaml @@ -69,6 +69,7 @@ # Default $TMPDIR/tmpluet # tmpdir_base: "/tmp/tmpluet" # +# # --------------------------------------------- # Repositories configurations directories. # --------------------------------------------- @@ -93,6 +94,11 @@ # annotation. # config_protect_skip: false # +# The paths used for load repositories and config +# protects are based on host rootfs. +# If set to false rootfs path is used as prefix. +# config_from_host: true +# # System repositories # --------------------------------------------- # In alternative to define repositories files diff --git a/pkg/config/config.go b/pkg/config/config.go index c4e1f217..f4263fca 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -208,6 +208,7 @@ type LuetConfig struct { RepositoriesConfDir []string `mapstructure:"repos_confdir"` ConfigProtectConfDir []string `mapstructure:"config_protect_confdir"` ConfigProtectSkip bool `mapstructure:"config_protect_skip"` + ConfigFromHost bool `mapstructure:"config_from_host"` CacheRepositories []LuetRepository `mapstructure:"repetitors"` SystemRepositories []LuetRepository `mapstructure:"repositories"` @@ -255,6 +256,8 @@ func GenDefault(viper *v.Viper) { viper.SetDefault("repos_confdir", []string{"/etc/luet/repos.conf.d"}) viper.SetDefault("config_protect_confdir", []string{"/etc/luet/config.protect.d"}) viper.SetDefault("config_protect_skip", false) + // TODO: Set default to false when we are ready for migration. + viper.SetDefault("config_from_host", true) viper.SetDefault("cache_repositories", []string{}) viper.SetDefault("system_repositories", []string{}) diff --git a/pkg/installer/config_protect.go b/pkg/installer/config_protect.go index 42ebe69d..6ec3d5c8 100644 --- a/pkg/installer/config_protect.go +++ b/pkg/installer/config_protect.go @@ -30,11 +30,16 @@ import ( func LoadConfigProtectConfs(c *LuetConfig) error { var regexConfs = regexp.MustCompile(`.yml$`) + var err error + + rootfs := "" // Respect the rootfs param on read repositories - rootfs, err := c.GetSystem().GetRootFsAbs() - if err != nil { - return err + if !c.ConfigFromHost { + rootfs, err = c.GetSystem().GetRootFsAbs() + if err != nil { + return err + } } for _, cdir := range c.ConfigProtectConfDir { diff --git a/pkg/repository/loader.go b/pkg/repository/loader.go index 08b5c018..e702a50d 100644 --- a/pkg/repository/loader.go +++ b/pkg/repository/loader.go @@ -30,11 +30,15 @@ import ( func LoadRepositories(c *LuetConfig) error { var regexRepo = regexp.MustCompile(`.yml$|.yaml$`) + var err error + rootfs := "" // Respect the rootfs param on read repositories - rootfs, err := c.GetSystem().GetRootFsAbs() - if err != nil { - return err + if !c.ConfigFromHost { + rootfs, err = c.GetSystem().GetRootFsAbs() + if err != nil { + return err + } } for _, rdir := range c.RepositoriesConfDir {