set configScanDir as package scoped var (#264)

set config.Install.env variables in environment

adding env to config to use across all stages

switch to config.Scan to read config
This commit is contained in:
Santhosh
2022-10-24 16:43:23 +05:30
committed by Itxaka
parent 0af13f655f
commit c7c68c222f
3 changed files with 21 additions and 12 deletions

View File

@@ -7,7 +7,6 @@ import (
"io/ioutil" "io/ioutil"
"os" "os"
"os/exec" "os/exec"
"strings"
"syscall" "syscall"
"time" "time"
@@ -227,14 +226,8 @@ func RunInstall(options map[string]string) error {
c.Install.Reboot = true c.Install.Reboot = true
} }
for _, e := range c.Install.Env { env := append(c.Install.Env, c.Env...)
pair := strings.SplitN(e, "=", 2) utils.SetEnv(env)
if len(pair) >= 2 {
os.Setenv(pair[0], pair[1])
}
}
envs := os.Environ()
err := ioutil.WriteFile(f.Name(), []byte(cloudInit), os.ModePerm) err := ioutil.WriteFile(f.Name(), []byte(cloudInit), os.ModePerm)
if err != nil { if err != nil {
@@ -246,7 +239,7 @@ func RunInstall(options map[string]string) error {
args = append(args, "-c", f.Name(), device) args = append(args, "-c", f.Name(), device)
cmd := exec.Command("elemental", args...) cmd := exec.Command("elemental", args...)
cmd.Env = envs cmd.Env = os.Environ()
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout
cmd.Stdin = os.Stdin cmd.Stdin = os.Stdin
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr

View File

@@ -10,6 +10,7 @@ import (
"github.com/kairos-io/kairos/internal/bus" "github.com/kairos-io/kairos/internal/bus"
"github.com/kairos-io/kairos/internal/cmd" "github.com/kairos-io/kairos/internal/cmd"
"github.com/kairos-io/kairos/pkg/config"
"github.com/kairos-io/kairos/pkg/machine" "github.com/kairos-io/kairos/pkg/machine"
"github.com/kairos-io/kairos/pkg/utils" "github.com/kairos-io/kairos/pkg/utils"
sdk "github.com/kairos-io/kairos/sdk/bus" sdk "github.com/kairos-io/kairos/sdk/bus"
@@ -18,7 +19,7 @@ import (
"github.com/pterm/pterm" "github.com/pterm/pterm"
) )
func Reset() error { func Reset(dir ...string) error {
bus.Manager.Initialize() bus.Manager.Initialize()
options := map[string]string{} options := map[string]string{}
@@ -70,6 +71,13 @@ func Reset() error {
args = append(args, "--reset-persistent") args = append(args, "--reset-persistent")
} }
c, err := config.Scan(config.Directories(dir...))
if err != nil {
return err
}
utils.SetEnv(c.Env)
cmd := exec.Command("elemental", args...) cmd := exec.Command("elemental", args...)
cmd.Env = os.Environ() cmd.Env = os.Environ()
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout

View File

@@ -8,6 +8,7 @@ import (
"os/exec" "os/exec"
"strings" "strings"
"github.com/kairos-io/kairos/pkg/config"
events "github.com/kairos-io/kairos/sdk/bus" events "github.com/kairos-io/kairos/sdk/bus"
"github.com/kairos-io/kairos/internal/bus" "github.com/kairos-io/kairos/internal/bus"
@@ -40,7 +41,7 @@ func ListReleases() []string {
return releases return releases
} }
func Upgrade(version, image string, force, debug bool) error { func Upgrade(version, image string, force, debug bool, dirs []string) error {
bus.Manager.Initialize() bus.Manager.Initialize()
if version == "" && image == "" { if version == "" && image == "" {
@@ -88,6 +89,13 @@ func Upgrade(version, image string, force, debug bool) error {
fmt.Printf("Upgrading to image: '%s'\n", img) fmt.Printf("Upgrading to image: '%s'\n", img)
} }
c, err := config.Scan(config.Directories(dirs...))
if err != nil {
return err
}
utils.SetEnv(c.Env)
args := []string{"upgrade", "--system.uri", fmt.Sprintf("docker:%s", img)} args := []string{"upgrade", "--system.uri", fmt.Sprintf("docker:%s", img)}
if debug { if debug {