Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0233245c5b | |||
| fcb3f2e106 | |||
| 5e4adbfee5 | |||
| 3a19922b34 | |||
| e97aaf9c8c | |||
| 5aab1a3303 |
+11
-16
@@ -4,7 +4,6 @@ import (
|
|||||||
"io/fs"
|
"io/fs"
|
||||||
"path"
|
"path"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"darvaza.org/core"
|
"darvaza.org/core"
|
||||||
)
|
)
|
||||||
@@ -226,26 +225,22 @@ func (z *Zone) loadRegions() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (z *Zone) loadClusterToken() error {
|
func (z *Zone) loadClusterToken() error {
|
||||||
var token string
|
|
||||||
|
|
||||||
filename := path.Join(z.Name, RegionClusterTokenFileName)
|
filename := path.Join(z.Name, RegionClusterTokenFileName)
|
||||||
lines, err := z.zones.ReadLines(filename)
|
lines, err := z.zones.ReadLines(filename)
|
||||||
if err != nil {
|
if err == nil {
|
||||||
return err
|
var token string
|
||||||
}
|
|
||||||
|
|
||||||
// first non-empty line
|
for _, s := range lines {
|
||||||
for _, s := range lines {
|
if s != "" {
|
||||||
s = strings.TrimSpace(s)
|
token = s
|
||||||
if s != "" {
|
break
|
||||||
token = s
|
}
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
err = z.zones.setRegionClusterToken(z.Name, token)
|
err = z.zones.setRegionClusterToken(z.Name, token)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = core.Wrap(err, filename)
|
err = core.Wrap(err, filename)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|||||||
+12
-19
@@ -85,29 +85,22 @@ func (m *Env) writeEnvZone(w io.Writer, z *Zone) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *Env) writeEnvVarInts(w io.Writer, value []int, name string, args ...any) {
|
func (m *Env) writeEnvVarInts(w io.Writer, value []int, name string, args ...any) {
|
||||||
var buf bytes.Buffer
|
var s string
|
||||||
|
|
||||||
for _, v := range value {
|
if n := len(value); n > 0 {
|
||||||
if buf.Len() > 0 {
|
var buf bytes.Buffer
|
||||||
_, _ = fmt.Fprint(&buf, " ")
|
|
||||||
|
for i, v := range value {
|
||||||
|
if i != 0 {
|
||||||
|
_, _ = fmt.Fprint(&buf, " ")
|
||||||
|
}
|
||||||
|
_, _ = fmt.Fprintf(&buf, "%v", v)
|
||||||
}
|
}
|
||||||
_, _ = fmt.Fprintf(&buf, "%v", v)
|
|
||||||
|
s = buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
m.writeEnvVar(w, buf.String(), name, args...)
|
m.writeEnvVar(w, s, name, args...)
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Env) writeEnvVarStrings(w io.Writer, value []string, name string, args ...any) {
|
|
||||||
var buf bytes.Buffer
|
|
||||||
|
|
||||||
for _, v := range value {
|
|
||||||
if buf.Len() > 0 {
|
|
||||||
_, _ = fmt.Fprint(&buf, " ")
|
|
||||||
}
|
|
||||||
_, _ = fmt.Fprintf(&buf, "%s", v)
|
|
||||||
}
|
|
||||||
|
|
||||||
m.writeEnvVar(w, buf.String(), name, args...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) {
|
func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) {
|
||||||
|
|||||||
@@ -8,14 +8,8 @@ import (
|
|||||||
var (
|
var (
|
||||||
_ MachineIterator = (*Region)(nil)
|
_ MachineIterator = (*Region)(nil)
|
||||||
_ ZoneIterator = (*Region)(nil)
|
_ ZoneIterator = (*Region)(nil)
|
||||||
_ RegionIterator = (*Cluster)(nil)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// A RegionIterator is a set of Regions we can iterate on
|
|
||||||
type RegionIterator interface {
|
|
||||||
ForEachRegion(func(*Region) bool)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Region represents a group of zones geographically related
|
// Region represents a group of zones geographically related
|
||||||
type Region struct {
|
type Region struct {
|
||||||
m *Cluster
|
m *Cluster
|
||||||
@@ -210,11 +204,6 @@ func (z *Zone) SyncRegions() error {
|
|||||||
} else {
|
} else {
|
||||||
err = p.WriteStringFile("none\n", "region")
|
err = p.WriteStringFile("none\n", "region")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
|
||||||
err = p.RemoveFile(RegionClusterTokenFileName)
|
|
||||||
}
|
|
||||||
|
|
||||||
return err != nil
|
return err != nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user