Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| edf5103f68 |
@@ -4,7 +4,7 @@ go 1.19
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
asciigoat.org/ini v0.2.5
|
asciigoat.org/ini v0.2.5
|
||||||
darvaza.org/core v0.14.1
|
darvaza.org/core v0.14.0
|
||||||
darvaza.org/resolver v0.9.2
|
darvaza.org/resolver v0.9.2
|
||||||
darvaza.org/sidecar v0.4.0
|
darvaza.org/sidecar v0.4.0
|
||||||
darvaza.org/slog v0.5.7
|
darvaza.org/slog v0.5.7
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ asciigoat.org/ini v0.2.5 h1:4gRIp9rU+XQt8+HMqZO5R7GavMv9Yl2+N+je6djDIAE=
|
|||||||
asciigoat.org/ini v0.2.5/go.mod h1:gmXzJ9XFqf1NLk5nQkj04USQ4tMtdRJHNQX6vp3DzjU=
|
asciigoat.org/ini v0.2.5/go.mod h1:gmXzJ9XFqf1NLk5nQkj04USQ4tMtdRJHNQX6vp3DzjU=
|
||||||
darvaza.org/cache/x/simplelru v0.1.8 h1:rvFucut4wKYbsYc994yR3P0M08NqlsvZxr5G4QK82tw=
|
darvaza.org/cache/x/simplelru v0.1.8 h1:rvFucut4wKYbsYc994yR3P0M08NqlsvZxr5G4QK82tw=
|
||||||
darvaza.org/cache/x/simplelru v0.1.8/go.mod h1:Mv1isOJTcXYK+aK0AvUe+/3KpRTXDsYga6rdTS/upNs=
|
darvaza.org/cache/x/simplelru v0.1.8/go.mod h1:Mv1isOJTcXYK+aK0AvUe+/3KpRTXDsYga6rdTS/upNs=
|
||||||
darvaza.org/core v0.14.1 h1:PJXoG4u5gMx8G3zs7VcAIN6bmWTi1yp8vpuikPvDucQ=
|
darvaza.org/core v0.14.0 h1:DzvPjfob0QuRgLjVkNt3Fq5Wbx9uE/AHVcYVEbGQQk8=
|
||||||
darvaza.org/core v0.14.1/go.mod h1:C+B0GRNLB+/asGfxjQ9XZERdk7xaFxzt5xTIBPiNm2M=
|
darvaza.org/core v0.14.0/go.mod h1:C+B0GRNLB+/asGfxjQ9XZERdk7xaFxzt5xTIBPiNm2M=
|
||||||
darvaza.org/resolver v0.9.2 h1:sUX6LZ1eN5TzJW7L4m7HM+BvwBeWl8dYYDGVSe+AIhk=
|
darvaza.org/resolver v0.9.2 h1:sUX6LZ1eN5TzJW7L4m7HM+BvwBeWl8dYYDGVSe+AIhk=
|
||||||
darvaza.org/resolver v0.9.2/go.mod h1:XWqPhrxoOKNzRuSozOwmE1M6QVqQL28jEdxylnIO8Nw=
|
darvaza.org/resolver v0.9.2/go.mod h1:XWqPhrxoOKNzRuSozOwmE1M6QVqQL28jEdxylnIO8Nw=
|
||||||
darvaza.org/sidecar v0.4.0 h1:wHghxzLsiT82WDBBUf34aTqtOvRBg4UbxVIJgKNXRVA=
|
darvaza.org/sidecar v0.4.0 h1:wHghxzLsiT82WDBBUf34aTqtOvRBg4UbxVIJgKNXRVA=
|
||||||
|
|||||||
+5
-42
@@ -4,7 +4,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"sort"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"darvaza.org/core"
|
"darvaza.org/core"
|
||||||
@@ -54,23 +53,7 @@ func (m *Env) Zones(r *Region) []rings.ZoneID {
|
|||||||
return zones
|
return zones
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegionsNames returns a sorted list of primary regions names
|
// Regions returns the list of primary regions
|
||||||
func (m *Env) RegionsNames() []string {
|
|
||||||
var regions []string
|
|
||||||
|
|
||||||
m.ForEachRegion(func(r *Region) bool {
|
|
||||||
if r.IsPrimary() {
|
|
||||||
regions = append(regions, r.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
})
|
|
||||||
|
|
||||||
sort.Strings(regions)
|
|
||||||
return regions
|
|
||||||
}
|
|
||||||
|
|
||||||
// Regions returns a sorted list of primary regions IDs
|
|
||||||
func (m *Env) Regions() (regions []rings.RegionID) {
|
func (m *Env) Regions() (regions []rings.RegionID) {
|
||||||
m.ForEachRegion(func(r *Region) bool {
|
m.ForEachRegion(func(r *Region) bool {
|
||||||
if r.IsPrimary() {
|
if r.IsPrimary() {
|
||||||
@@ -92,38 +75,18 @@ func (m *Env) WriteTo(w io.Writer) (int64, error) {
|
|||||||
m.writeEnvVar(&buf, m.cephFSID, "FSID")
|
m.writeEnvVar(&buf, m.cephFSID, "FSID")
|
||||||
}
|
}
|
||||||
|
|
||||||
regions := m.getRegions()
|
m.writeEnvVar(&buf, genEnvInts(m.Regions()), "REGIONS")
|
||||||
ids := core.SliceMap(regions, func(_ []rings.RegionID, r *Region) (out []rings.RegionID) {
|
|
||||||
return append(out, r.ID)
|
|
||||||
})
|
|
||||||
names := core.SliceMap(regions, func(_ []string, r *Region) (out []string) {
|
|
||||||
return append(out, r.Name)
|
|
||||||
})
|
|
||||||
|
|
||||||
m.writeEnvVar(&buf, genEnvInts(ids), "REGIONS")
|
|
||||||
m.writeEnvVar(&buf, genEnvStrings(names), "REGIONS_NAMES")
|
|
||||||
|
|
||||||
for _, r := range regions {
|
|
||||||
m.writeEnvRegion(&buf, r)
|
|
||||||
}
|
|
||||||
|
|
||||||
return buf.WriteTo(w)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Env) getRegions() (out []*Region) {
|
|
||||||
m.ForEachRegion(func(r *Region) bool {
|
m.ForEachRegion(func(r *Region) bool {
|
||||||
if r.IsPrimary() {
|
if r.IsPrimary() {
|
||||||
out = append(out, r)
|
m.writeEnvRegion(&buf, r)
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
core.SliceSort(out, func(a, b *Region) int {
|
return buf.WriteTo(w)
|
||||||
return cmpOrdered(a.ID, b.ID)
|
|
||||||
})
|
|
||||||
|
|
||||||
return out
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Env) writeEnvRegion(w io.Writer, r *Region) {
|
func (m *Env) writeEnvRegion(w io.Writer, r *Region) {
|
||||||
regionID := r.ID
|
regionID := r.ID
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user